commit: 466e9c7220d6c656113457ddf5aa35c5265a6b7c Author: Fernando Reyes (likewhoa) <design <AT> missionaccomplish <DOT> com> AuthorDate: Thu Jul 10 01:53:07 2014 +0000 Commit: Richard Farina <zerochaos <AT> gentoo <DOT> org> CommitDate: Tue Aug 11 18:21:16 2015 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=466e9c72
Changed to the dd command which creates the livecd.aufs image for the aufs writable branch to make the process faster we create a sparse file. Added a check for a block device so that we don't try mounting the aufs device & some small comestic changes. defaults/initrd.scripts | 33 ++++++++++++++++++++++----------- defaults/linuxrc | 3 ++- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 2e48504..5c7703b 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -376,7 +376,7 @@ create_changefs() { local size while :; do - read -p '<< Size of file (Press Enter for default 256 Mb): ' size + read -p '<< Size of file (Press Enter for default 256 MB): ' size size=${size:-256} @@ -386,13 +386,13 @@ create_changefs() { elif [ 15 -ge "$size" ]; then bad_msg "Please give a size of at least 16 Megabytes" else - if dd if=/dev/zero "of=$aufs_dev_mnt$aufs_union_file" bs=1M count="$size" &>/dev/null; then - good_msg "Creation of $aufs_union_file, ${size}Mb on $aufs_dev successful, formatting it ext2" + if dd if=/dev/zero "of=$aufs_dev_mnt$aufs_union_file" bs=1 seek="$size"M count=0 &>/dev/null; then + good_msg "Creation of $aufs_union_file, ${size}MB on $aufs_dev successful, formatting it ext2" mke2fs -F "$aufs_dev_mnt$aufs_union_file" &>/dev/null break else rm "$aufs_dev_mnt$aufs_union_file" - bad_msg "Unable to create ${aufs_union_file#*/} on $aufs_dev of ${size}Mb" + bad_msg "Unable to create ${aufs_union_file#*/} on $aufs_dev of ${size}MB" bad_msg "Ensure your disk is not full or read-only" read -p '<< Type "a" to abort, anything else to continue : ' doabort @@ -410,13 +410,19 @@ create_changefs() { setup_aufs() { bootstrapCD - if [ -n "$aufs_dev" ]; then - good_msg "Mounting $aufs_dev to $aufs_memory for aufs support" + if [ -n "$aufs_dev" ]; then + if [ ! -b $aufs_dev ]; then + bad_msg "$aufs_dev is not a valid block device" + local invalidblk=1 + unset aufs_dev + else + good_msg "Mounting $aufs_dev to $aufs_memory for aufs support" - if ! mount -t auto "$aufs_dev" "$aufs_dev_mnt" &>/dev/null; then - bad_msg "Mount of $aufs_dev failed, falling back to ramdisk based aufs" - unset aufs_dev - fi + if ! mount -t auto "$aufs_dev" "$aufs_dev_mnt" &>/dev/null; then + bad_msg "Mount of $aufs_dev failed, falling back to ramdisk based aufs" + unset aufs_dev + fi + fi # Check and attempt to create the AUFS union file if [ ! -e $aufs_dev_mnt$aufs_union_file ] && [ -n "$aufs_dev" ]; then @@ -455,7 +461,12 @@ setup_aufs() { aufs_xino=$aufs_memory umount "$aufs_memory" &>/dev/null - bad_msg "Create an extfs ${aufs_union_file#*/} file on this device" + if [ 1 = "$invalidblk" ]; then + bad_msg "Verify that you've entered a valid device path" + else + bad_msg "Create an extfs ${aufs_union_file#*/} file on this device" + fi + bad_msg "if you wish to have aufs data persistency on reboots" bad_msg "Falling back to ramdisk based aufs" good_msg "Mounting ramdisk to $aufs_memory for aufs support" diff --git a/defaults/linuxrc b/defaults/linuxrc index 276f150..3098866 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -786,6 +786,7 @@ distfiles /usr/portage/distfiles tmpfs defaults 0 0 FSTAB fi + # When aufs.modules= is used if [ 1 = "$aufs_modules" ]; then warn_msg "Adding all modules in $aufs_modules_dev/modules/" @@ -804,7 +805,7 @@ FSTAB cp /etc/sysconfig/keyboard "$CHROOT/etc/sysconfig/" fi - # Create the diuectories for our new union mounts + # Create the directories for our new union mounts [ ! -d $CHROOT$NEW_ROOT ] && mkdir -p "$CHROOT$NEW_ROOT" # Check to see if we successfully mounted $aufs_dev