X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=f589166472172c2f09c0e3445f511c8e8d248090;hp=4adb0beb28af4a6f4d0e294c8523a85b8f5f8b01;hb=86b25a474371b75811ddd4a624af672c411772c2;hpb=ca32c510360b4d89bb4898bdb68edcc01d1c1479 diff --git a/grml-debootstrap b/grml-debootstrap index 4adb0be..f589166 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -23,7 +23,7 @@ MNTPOINT="/mnt/debootstrap.$$" [ -n "$DISK_IDENTIFIER" ] || DISK_IDENTIFIER='26ada0c0-1165-4098-884d-aafd2220c2c6' [ -n "$EXTRAPACKAGES" ] || EXTRAPACKAGES='yes' [ -n "$FALLBACK_MIRROR" ] || FALLBACK_MIRROR='http://http.debian.net/debian' -[ -n "$FIXED_DISK_IDENTIFIERS" ] || FIXED_DISK_IDENTIFIERS="yes" +[ -n "$FIXED_DISK_IDENTIFIERS" ] || FIXED_DISK_IDENTIFIERS="no" [ -n "$FORCE" ] || FORCE='' [ -n "$HOSTNAME" ] || HOSTNAME='grml' [ -n "$INITRD" ] || INITRD='yes' @@ -1036,7 +1036,7 @@ prepare_vm() { fi fi - DEVINFO=$(kpartx -av "$TARGET") # 'add map loop1p1 (253:0): 0 6289408 linear /dev/loop1 2048' + DEVINFO=$(kpartx -asv "$TARGET") # 'add map loop1p1 (253:0): 0 6289408 linear /dev/loop1 2048' if [ -z "${DEVINFO}" ] ; then eerror "Error setting up loopback device." ; eend 1 bailout 1 @@ -1078,7 +1078,14 @@ finalize_vm() { bailout 1 fi - cp "${MNTPOINT}"/usr/lib/grub/i386-pc/* "${MNTPOINT}/boot/grub/" + case "$RELEASE" in + lenny|squeeze|wheezy) + cp "${MNTPOINT}"/usr/lib/grub/i386-pc/* "${MNTPOINT}/boot/grub/" + ;; + *) + cp -a "${MNTPOINT}"/usr/lib/grub/i386-pc "${MNTPOINT}/boot/grub/" + ;; + esac chroot "${MNTPOINT}" grub-mkimage -O i386-pc -p "(hd0,msdos1)/boot/grub" -o /tmp/core.img biosdisk part_msdos ext2 dd if="${MNTPOINT}/tmp/core.img" of="${ORIG_TARGET}" conv=notrunc seek=4 rm -f "${MNTPOINT}/tmp/core.img" @@ -1089,18 +1096,16 @@ finalize_vm() { fi chroot "${MNTPOINT}" update-grub + case "$RELEASE" in + lenny|squeeze|wheezy) + einfo "Adjusting grub.cfg for successful boot sequence." + sed -i "s;root=[^ ]\+;root=UUID=$TARGET_UUID;" "${MNTPOINT}"/boot/grub/grub.cfg + ;; + esac + umount "${MNTPOINT}"/proc umount "${MNTPOINT}"/sys umount "${MNTPOINT}"/dev - - einfo "Adjusting grub.cfg for successful boot sequence." - if [ "$FIXED_DISK_IDENTIFIERS" = "yes" ]; then - sed -i "s;root=[^ ]\+;root=UUID=$DISK_IDENTIFIER;" /boot/grub/grub.cfg - else - sed -i "s;set root=.*;set root='(hd0,msdos1)';" "${MNTPOINT}"/boot/grub/grub.cfg - sed -i "s;root=[^ ]\+;root=/dev/sda1;" "${MNTPOINT}"/boot/grub/grub.cfg - fi - umount "${MNTPOINT}" kpartx -d "${ORIG_TARGET}" >/dev/null }