slitaz-tools rev 214
bootfloppybox: edit menu.lst before writing floppy
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Jun 18 21:25:51 2008 +0000 (2008-06-18) |
parents | 696369f3891f |
children | bfbb1b457dc4 |
files | tinyutils/bootfloppybox |
line diff
1.1 --- a/tinyutils/bootfloppybox Wed Jun 18 17:29:16 2008 +0000 1.2 +++ b/tinyutils/bootfloppybox Wed Jun 18 21:25:51 2008 +0000 1.3 @@ -2,7 +2,7 @@ 1.4 # 1.5 # Gtkdialog box for the mount command. Part of SliTaz tools. 1.6 # 1.7 -VERSION=20080409 1.8 +VERSION=20080618 1.9 1.10 # Check if user is root. 1.11 check_root() 1.12 @@ -20,8 +20,10 @@ 1.13 { 1.14 case $retval in 1.15 1) 1.16 + rm -f /tmp/floppybox.grub.menu 1.17 echo -e "\nVoluntary exit.\n" && exit 0 ;; 1.18 255) 1.19 + rm -f /tmp/floppybox.grub.menu 1.20 echo -e "ESC pressed.\n" && exit 0 ;; 1.21 esac 1.22 } 1.23 @@ -56,7 +58,34 @@ 1.24 mount $DEVICE /media/floppy 1.25 mkdir -p /media/floppy/boot/grub 1.26 cp /usr/lib/grub/i386-pc/stage? /media/floppy/boot/grub 1.27 - cat > /media/floppy/boot/grub/menu.lst <<EOT 1.28 + cp /tmp/floppybox.grub.menu /media/floppy/boot/grub/menu.lst 1.29 + [ -f /usr/share/boot/btmgr -a -f /usr/share/boot/memdisk.lzma ]\ 1.30 + && cp /usr/share/boot/btmgr /media/floppy/boot \ 1.31 + && unlzma -c /usr/share/boot/memdisk.lzma > \ 1.32 + /media/floppy/boot/memdisk 1.33 + [ -f /usr/share/boot/etherboot ]\ 1.34 + && cp /usr/share/boot/etherboot /media/floppy/boot 1.35 + [ -f /usr/share/boot/memtest.lzma ]\ 1.36 + && unlzma -c /usr/share/boot/memtest.lzma > \ 1.37 + /media/floppy/boot/memtest 1.38 + [ -f /usr/share/boot/grub.exe.lzma ]\ 1.39 + && unlzma -c /usr/share/boot/grub.exe.lzma > \ 1.40 + /media/floppy/boot/grub.exe 1.41 + grub-set-default --root-directory=/media/floppy 0 1.42 + umount $DEVICE 1.43 + grub --batch <<EOT 1.44 +root (${DEVICE#/dev/}) 1.45 +setup (${DEVICE#/dev/}) 1.46 +quit 1.47 +EOT 1.48 + ;; 1.49 + *) echo "Invalid command $0 $@" 1>&2 1.50 + exit 1;; 1.51 + esac 1.52 + exit 0 1.53 +fi 1.54 + 1.55 +cat > /tmp/floppybox.grub.menu <<EOT 1.56 default saved 1.57 timeout 10 1.58 1.59 @@ -77,52 +106,28 @@ 1.60 save default 1.61 1.62 EOT 1.63 - [ -f /usr/share/boot/btmgr -a -f /usr/share/boot/memdisk.lzma ]\ 1.64 - && cp /usr/share/boot/btmgr /media/floppy/boot \ 1.65 - && unlzma -c /usr/share/boot/memdisk.lzma > \ 1.66 - /media/floppy/boot/memdisk \ 1.67 - && cat >> /media/floppy/boot/grub/menu.lst <<EOT 1.68 +[ -f /usr/share/boot/btmgr -a -f /usr/share/boot/memdisk.lzma ]\ 1.69 + && cat >> /tmp/floppybox.grub.menu <<EOT 1.70 title Smart Boot Manager 1.71 kernel /boot/memtest 1.72 initrd /boot/btmgr 1.73 1.74 EOT 1.75 - [ -f /usr/share/boot/etherboot ]\ 1.76 - && cp /usr/share/boot/etherboot /media/floppy/boot \ 1.77 - && cat >> /media/floppy/boot/grub/menu.lst <<EOT 1.78 +[ -f /usr/share/boot/etherboot ] && cat >> /tmp/floppybox.grub.menu <<EOT 1.79 title Etherboot 1.80 kernel /boot/etherboot 1.81 1.82 EOT 1.83 - [ -f /usr/share/boot/memtest.lzma ]\ 1.84 - && unlzma -c /usr/share/boot/memtest.lzma > \ 1.85 - /media/floppy/boot/memtest \ 1.86 - && cat >> /media/floppy/boot/grub/menu.lst <<EOT 1.87 +[ -f /usr/share/boot/memtest.lzma ] && cat >> /tmp/floppybox.grub.menu <<EOT 1.88 title Memtest86+ 1.89 kernel /boot/memtest 1.90 1.91 EOT 1.92 - [ -f /usr/share/boot/grub.exe.lzma ]\ 1.93 - && unlzma -c /usr/share/boot/grub.exe.lzma > \ 1.94 - /media/floppy/boot/grub.exe \ 1.95 - && cat >> /media/floppy/boot/grub/menu.lst <<EOT 1.96 +[ -f /usr/share/boot/grub.exe.lzma ] && cat >> /tmp/floppybox.grub.menu <<EOT 1.97 title Grub4Dos 1.98 kernel /boot/grub/grub.exe --config-file="configfile (fd0)/boot/grub/menu4dos.lst" 1.99 1.100 EOT 1.101 - grub-set-default --root-directory=/media/floppy 0 1.102 - umount $DEVICE 1.103 - grub --batch <<EOT 1.104 -root (${DEVICE#/dev/}) 1.105 -setup (${DEVICE#/dev/}) 1.106 -quit 1.107 -EOT 1.108 - ;; 1.109 - *) echo "Invalid command $0 $@" 1>&2 1.110 - exit 1;; 1.111 - esac 1.112 - exit 0 1.113 -fi 1.114 1.115 if [ -z "$XAUTHORITY" ]; then 1.116 1.117 @@ -244,10 +249,7 @@ 1.118 <button> 1.119 <label>Grub menu</label> 1.120 <input file icon=\"accessories-text-editor\"></input> 1.121 - <action>bootfloppybox call setup-grub \$DEVICE</action> 1.122 - <action>mount \$DEVICE /media/floppy</action> 1.123 - <action type=\"lauch\">leafpad /media/floppy/boot/grub/menu.lst</action> 1.124 - <action>umount \$DEVICE</action> 1.125 + <action type=\"lauch\">leafpad /tmp/floppybox.grub.menu</action> 1.126 </button> 1.127 <button> 1.128 <label>Write floppy</label> 1.129 @@ -314,5 +316,6 @@ 1.130 # Only root can create floppy. 1.131 check_root 1.132 gtkdialog --program=BOOT_DIALOG 1.133 +rm -f /tmp/floppybox.grub.menu 1.134 1.135 exit 0