slitaz-tools rev 200

bootfloppybox: add grub menu
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon May 19 17:13:08 2008 +0000 (2008-05-19)
parents 39e31613e665
children aa8b3d122324
files tinyutils/bootfloppybox
line diff
     1.1 --- a/tinyutils/bootfloppybox	Mon May 19 15:29:55 2008 +0000
     1.2 +++ b/tinyutils/bootfloppybox	Mon May 19 17:13:08 2008 +0000
     1.3 @@ -73,17 +73,25 @@
     1.4      *)      action="cat";;
     1.5      esac
     1.6      if [ "$pkg" = "grub" ]; then
     1.7 +      menu=/tmp/floppybox.grub.menu.$$
     1.8        tmp="$tmp
     1.9        <hbox>
    1.10        <button>
    1.11 +        <label>Grub menu</label>
    1.12 +        <input file icon=\"accessories-text-editor\"></input>
    1.13 +        <action type=\"lauch\">leafpad $menu</action>
    1.14 +      </button>
    1.15 +      <button>
    1.16          <label>Write floppy</label>
    1.17          <input file icon=\"forward\"></input>
    1.18  	<action>mke2fs \$DEVICE</action>
    1.19  	<action>mkdir /media/floppy ; mount \$DEVICE /media/floppy</action>
    1.20  	<action>mkdir -p /media/floppy/boot/grub</action>
    1.21  	<action>cp /usr/lib/grub/i386-pc/stage? /media/floppy/boot/grub</action>
    1.22 +	<action>cp $menu /media/floppy/boot/grub/menu.lst</action>
    1.23  	<action>[ -f /usr/share/boot/etherboot ] && cp /usr/share/boot/etherboot /media/floppy/boot</action>
    1.24  	<action>[ -f /usr/share/boot/memtest.lzma ] && unlzma -c /usr/share/boot/memtest.lzma > /media/floppy/boot/memtest</action>
    1.25 +	<action>grub-set-default --root-directory=/media/floppy 0</action>
    1.26  	<action>umount \$DEVICE</action>
    1.27  	<action>echo -e \"root (\${DEVICE#/dev/})\\nsetup (\${DEVICE#/dev/})\\nquit\" | grub --batch </action>
    1.28        </button>
    1.29 @@ -146,6 +154,33 @@
    1.30  
    1.31  # Only root can create floppy.
    1.32  check_root
    1.33 +cat > /tmp/floppybox.grub.menu.$$ <<EOT
    1.34 +default saved
    1.35 +timeout 10
    1.36 +
    1.37 +title Windows (example on /dev/hda1)
    1.38 +	rootnoverify (hd0,0)
    1.39 +	chainloader +1
    1.40 +	save default
    1.41 +
    1.42 +title Slitaz (example on /dev/hda1)
    1.43 +	root (hd0,0)
    1.44 +	kernel /boot/bzImage root=/dev/null
    1.45 +	initrd /boot/rootfs
    1.46 +	save default
    1.47 +
    1.48 +EOT
    1.49 +[ -f /usr/share/boot/etherboot ] && cat >> /tmp/floppybox.grub.menu.$$ <<EOT
    1.50 +title Etherboot
    1.51 +	kernel etherboot
    1.52 +
    1.53 +EOT
    1.54 +[ -f /usr/share/boot/memtest.lzma ] && cat >> /tmp/floppybox.grub.menu.$$ <<EOT
    1.55 +title Memtest86+
    1.56 +	kernel memtest
    1.57 +
    1.58 +EOT
    1.59  gtkdialog --program=BOOT_DIALOG
    1.60 +rm -rf /tmp/floppybox.grub.menu.$$
    1.61  
    1.62  exit 0