summaryrefslogtreecommitdiff
path: root/packages/initrdscripts/files/30-bootmenu.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packages/initrdscripts/files/30-bootmenu.sh')
-rw-r--r--packages/initrdscripts/files/30-bootmenu.sh180
1 files changed, 0 insertions, 180 deletions
diff --git a/packages/initrdscripts/files/30-bootmenu.sh b/packages/initrdscripts/files/30-bootmenu.sh
deleted file mode 100644
index 5ebeead430..0000000000
--- a/packages/initrdscripts/files/30-bootmenu.sh
+++ /dev/null
@@ -1,180 +0,0 @@
-#
-# (c) 2007 Paul Sokolovsky
-#
-
-# If root is explicitly specified, skip interactive selection
-if [ -z "$ROOT_DEVICE" ]; then
-##############################
-
-E="\033["
-MOUNTLOC="tmp"
-LOOP_IMG_MASK='*.img'
-
-if ! (echo " " | read -n1 foo) >/dev/null 2>&1; then
- echo "'read' command lacks -n switch support, aborting"
- exit 1
-fi
-
-mkdir -p $MOUNTLOC
-
-list=""
-
-add_menu_item()
-{
- if [ -n "$list" ]; then
- list="$list\n"
- fi
-
- list="$list$1"
-}
-
-show_menu() {
- echo -e -n "${E}3;0H" >$CONSOLE
- cnt=0
- echo -e $list | \
- while read l; do
- if [ $cnt == $num ]; then
- echo -e -n "${E}1m" >$CONSOLE
- fi
- echo -e "$cnt: $l${E}0m" >$CONSOLE
- cnt=$((cnt + 1))
- done
-}
-
-get_menu_selection()
-{
- cnt=0
- sel=`echo -e $list | \
- while read l; do
- if [ $cnt == $num ]; then
- echo $l
- break
- fi
- cnt=$((cnt + 1))
- done`
-}
-
-get_partition_type()
-{
-# fstype=`mount -f --guess-fstype /dev/$dev $MOUNTLOC`
- fstype=`fstype </dev/$dev`
- fstype=`expr "$fstype" : 'FSTYPE=\([A-Za-z0-9]*\).*'`
-}
-
-scan_for_loopimgs()
-{
-# Scan a device for loopback images, add to the list if found
- mount /dev/$dev $MOUNTLOC
- p=$PWD
- cd $MOUNTLOC
- for img in `ls -1 $LOOP_IMG_MASK 2>/dev/null`; do
- add_menu_item "$dev/$img (loop img on vfat)"
- done
- cd $p
- umount $MOUNTLOC
-}
-
-# Scan all available device/partitions
-while read maj min nblk dev; do
- if [ -z "$maj" -o "$maj" == "major" ]; then
- continue;
- fi
-
- get_partition_type
- if [ "$fstype" != "ext2" -a "$fstype" != "ext3" -a "$fstype" != "vfat" -a "$fstype" != "jffs2" ]; then
- # Comment following line to show all available block devices regardless of FS (for debug purposes)
- continue
- true
- fi
-
- if [ "$fstype" == "vfat" ]; then
- scan_for_loopimgs
- continue
- fi
-
- add_menu_item "$dev ($fstype)"
-done < /proc/partitions
-
-add_menu_item "NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image)"
-add_menu_item "Shell"
-
-total=`echo -e $list | wc -l`
-num=0
-
-# Draw UI
-stty -F $CONSOLE -echo
-echo -e -n "${E}2J" >$CONSOLE
-echo -e -n "${E}0;0H" >$CONSOLE
-echo "Select boot image:" >$CONSOLE
-
-# Main loop
-show_menu
-while read -s -n1 i; do
- case "$i" in
- "A")
- num=$((num - 1))
- if [ $num -lt 0 ]; then
- num=$(($total - 1))
- fi
- ;;
- ["B"-"Z"])
- num=$((num + 1))
- if [ $num -ge $total ]; then
- num=0
- fi
- ;;
- "q")
- exec sh
- ;;
- "")
- break
- ;;
- esac
- show_menu
-# echo "*$esc$i"
-done < $CONSOLE
-
-stty echo
-
-# Process results of user selection, prepare input arguments
-# for boot modules
-
-get_menu_selection
-echo Selected: $sel
-
-dev=`expr "$sel" : '\([^ /]*\)'`
-path=`expr "$sel" : '[^/]*\([^ ]*\).*'`
-fstype=`expr "$sel" : '[^ ]* *\(.*\)'`
-
-if [ "$dev" == "Shell" ]; then
- if [ -x /usr/sbin/dropbear ]; then
- modprobe g_ether
- ifconfig usb0 192.168.2.202
- mkdir -p /dev/pts
- mount -t devpts devpts /dev/pts
- export PATH=$PATH:/usr/sbin
- /usr/sbin/dropbear -E
- echo "Started dropbear @192.168.2.202"
- fi
-
- exec /bin/sh
-elif [ "$dev" == "NFS" ]; then
- ROOT_DEVICE="/dev/nfs"
- CMDLINE="$CMDLINE root=/dev/nfs nfsroot=192.168.2.200:/srv/nfs/oe/image"
-elif [ -n "$path" ]; then
- ROOT_DEVICE="/dev/loop"
- CMDLINE="$CMDLINE root=/dev/loop looproot=/dev/$dev:$path"
-else
- ROOT_DEVICE="/dev/$dev"
- # jffs2 is not recognized by mount automagically
- if [ "$fstype" == "(jffs2)" ]; then
- ROOT_FSTYPE="jffs2"
- fi
- CMDLINE="$CMDLINE root=$ROOT_DEVICE"
-fi
-
-echo ROOT_DEVICE=$ROOT_DEVICE >$CONSOLE
-echo CMDLINE=$CMDLINE >$CONSOLE
-
-##############################
-fi