From 75340e130768563c2282806aaa3e80f5f7b97b32 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 26 Oct 2009 12:38:22 +0100 Subject: [PATCH] Forwardporting and extending usage of rsync when booting with toram based on a patch from Michael Prokop . --- debian/control | 2 +- hooks/live | 2 ++ scripts/live | 20 ++++++++++++++++---- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/debian/control b/debian/control index 77516e2..8d96736 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ Vcs-Git: git://live.debian.net/git/live-initramfs.git Package: live-initramfs Architecture: all Depends: ${misc:Depends}, busybox, file, initramfs-tools, sudo, udev, user-setup -Recommends: cryptsetup, eject, uuid-runtime, wget +Recommends: cryptsetup, eject, rsync, uuid-runtime, wget Suggests: loop-aes-utils, curlftpfs, genext2fs (>= 1.4.1), httpfs2, squashfs-tools, mtd-tools Description: Debian Live initramfs hook live-initramfs is a hook for the initramfs-tools, used to generate a initramfs diff --git a/hooks/live b/hooks/live index d78da1e..a940846 100755 --- a/hooks/live +++ b/hooks/live @@ -100,6 +100,8 @@ manual_add_modules ext4 # Filesystem: jffs2 manual_add_modules jffs2 +copy_exec /usr/bin/rsync /bin + # Filesystem: squashfs copy_exec /sbin/losetup /sbin manual_add_modules loop diff --git a/scripts/live b/scripts/live index 1902429..0fa3900 100755 --- a/scripts/live +++ b/scripts/live @@ -673,7 +673,7 @@ copy_live_to () # begin copying (or uncompressing) mkdir "${copyto}" - echo "mount -t ${fstype} ${mount_options} ${dev} ${copyto}" + log_begin_msg "mount -t ${fstype} ${mount_options} ${dev} ${copyto}" mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}" if [ "${extension}" = "tgz" ] @@ -686,10 +686,22 @@ copy_live_to () else if [ -n "${MODULETORAMFILE}" ] then - cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module + if [ -x /bin/rsync ] + then + echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console + rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module + else + cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module + fi else - mkdir -p ${copyto}/${LIVE_MEDIA_PATH} - cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/* ${copyto}/${LIVE_MEDIA_PATH} # "cp -a" from busybox also copies hidden files + if [ -x /bin/rsync ] + then + echo " * Copying whole medium to RAM" 1>/dev/console + rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console # "cp -a" from busybox also copies hidden files + else + mkdir -p ${copyto}/${LIVE_MEDIA_PATH} + cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/* ${copyto}/${LIVE_MEDIA_PATH} # "cp -a" from busybox also copies hidden files + fi fi umount ${copyfrom} -- 2.1.4