I've been experimenting with different boot menu (for example kexec-
loader) but couldn't get them working. Finally I realized that the
boot_linux.sh script is just a bash script and I could make a menu
using bash commands.
So here you go. It is pretty self explanatory. There is a optional
default choice and a configurable timeout. Crude, but it works.
---------------
#!/bin/bash
# selection timeout in seconds. set to 0 to wait forever.
TIMEOUT=3
# default selection
DEFAULT=1
VALID=0
while [ $VALID -ne 1 ]; do
echo
echo " Apple TV Boot Menu"
echo
echo " 1. Boot from USB (default)"
echo " 2. Exit"
echo
CHOICE=$DEFAULT
if [ $TIMEOUT -ne 0 ]; then
read -n 1 -p " Selection: " -t $TIMEOUT CHOICE
else
read -n 1-p " Selection: " CHOICE
fi
case $CHOICE in
[1-2])
VALID=1
echo
;;
esac
done
case $CHOICE in
1)
echo
echo " Booting from Hard Disk..."
echo
if [ ! -d /mnt ]; then
mkdir /mnt
fi
mount /dev/sdb1 /mnt
# put your kexec commands here
#kexec --load /mnt/casper/vmlinuz --initrd=/mnt/initrd.img
--command-
line="preseed/umpc.seed initrd=initrd.img boot=casper quiet splash
noprompt persistent video=vesafb"
#kexec --load /mnt/boot/vmlinuz --initrd=/mnt/boot/initrd.gz --
command-line="root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en
remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789
video=vesafb:ywrap,mtrr"
#kexec --load /mnt/vmlinuz --initrd=/mnt/initrd0.img --command-
line="initrd=initrd0.img boot=usb xbmc=nvidia video=vesafb"
kexec --load /mnt/install/vmlinuz
--initrd=/mnt/install/initrd.gz --
command-line="preseed/ubuntu.seed initrd=install/initrd.gz
video=vesafb"
kexec -e
;;
2)
echo
;;
esac
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
For more options, visit this group at
http://groups.google.com/group/atv-bootloader?hl=en
-~----------~----~----~----~------~----~------~--~---