summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2009-10-26 12:38:22 +0100
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:48:06 +0100
commit1492bea7cab5998e281097e6b1dda07f9bfdbf25 (patch)
tree3b30820853143ffcec59cce230c6a208094e040f
parentf23b71dd4dd681a155cd175f1dd8f9799dd1ed4e (diff)
downloadlive-boot-1492bea7cab5998e281097e6b1dda07f9bfdbf25.tar.gz
live-boot-1492bea7cab5998e281097e6b1dda07f9bfdbf25.zip
Forwardporting and extending usage of rsync when booting with toram based on a patch from Michael Prokop <mika@grml.org>.
-rw-r--r--debian/control2
-rwxr-xr-xhooks/live2
-rwxr-xr-xscripts/live20
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}