X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=chroot-script;h=3eda6af4a4f6d10639d6f578cb25b08723947876;hp=6b5b3031a9df908719c195a58e1cbe2a585577b4;hb=ba5dcb3d878c31ba77a1f93610a8c05aeef59466;hpb=866bc342b7b76a9761df1aa6bd658fe65e373641 diff --git a/chroot-script b/chroot-script index 6b5b303..3eda6af 100644 --- a/chroot-script +++ b/chroot-script @@ -4,10 +4,10 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Fre Nov 03 12:27:20 CET 2006 [mika] +# Latest change: Fre Nov 03 14:02:25 CET 2006 [mika] ################################################################################ -set -e +set -e # exit on any error . /etc/debootstrap/config || exit 1 @@ -30,7 +30,7 @@ fi if [ -n "$RECONFIGURE" ] ; then for package in $RECONFIGURE ; do - dpkg --list $package && dpkg-reconfigure $package || echo "Warning: $package does not exist, can not reconfigure it." + dpkg --list $package 1>/dev/null 2>/dev/null && dpkg-reconfigure $package || echo "Warning: $package does not exist, can not reconfigure it." done fi @@ -62,7 +62,8 @@ if [ -n "$TIMEZONE" ] ; then ln -sf /usr/share/zoneinfo/$TIMEZONE /etc/localtime fi -if ! [ -f /etc/fstab ] ; then +# set up /etc/fstab if file is UNCONFIGURED +if grep -q UNCONFIGURED /etc/fstab ; then echo "Setting up /etc/fstab" cat >> /etc/fstab << EOF sysfs /sys sysfs auto 0 0 @@ -95,33 +96,34 @@ fi if [ "$BOOTMGR" = 'grub' ] ; then echo "Installing grub" - if ! [ -f /boot/grub/menu.lst ] ; then - # setup grub - mkdir /boot/grub - cat >> /boot/grub/menu.lst << EOF -# Boot automatically after 30 secs. -timeout 30 - -# By default, boot the first entry. -default 0 - -# Fallback to the second entry. -fallback 1 - -title Debian Etch, kernel $KERNELVER (on $ARGET) -root (hd0,0) -kernel $KERNELIMG root=$TARGET ro -$GRUBINITRD - -# For booting Windows -# title Windows -# rootnoverify (hd0,0) -# makeactive -# chainloader +1 -EOF - fi +# if ! [ -f /boot/grub/menu.lst ] ; then +# # setup grub +# mkdir /boot/grub +# cat >> /boot/grub/menu.lst << EOF +## Boot automatically after 30 secs. +#timeout 30 +# +## By default, boot the first entry. +#default 0 +# +## Fallback to the second entry. +#fallback 1 +# +#title Debian Etch, kernel $KERNELVER (on $ARGET) +#root (hd0,0) +#kernel $KERNELIMG root=$TARGET ro +#$GRUBINITRD +# +## For booting Windows +## title Windows +## rootnoverify (hd0,0) +## makeactive +## chainloader +1 +#EOF +# fi # copy stage-files to /boot/grub/ + [ -d /boot/grub/ ] || mkdir /boot/grub cp -i /usr/lib/grub/i386-pc/* /boot/grub/ # otherwise grub fails with 'Could not find device for /boot/boot: not found or not a block device' @@ -129,7 +131,8 @@ EOF cp /proc/mounts /etc/mtab # finally install grub - grub-install $BOOT + # grub-install $BOOT + update-grub -y # restore mtab again mv /etc/mtab.old /etc/mtab @@ -166,10 +169,10 @@ EOF fi # unmount all filesystems in chroot, make sure nothing is left... -umount -a -umount /proc -umount /proc -umount -a +umount -a || true +umount /proc || true +umount /proc || true +umount -a || true # finally exit the chroot echo "Finished chroot installation, exiting."