merge of '1458e9ca6c6d9b78bff4114c4a3b09c7aa6b7a8e'
authorPaul Sokolovsky <pmiscml@gmail.com>
Tue, 11 Mar 2008 13:48:44 +0000 (13:48 +0000)
committerPaul Sokolovsky <pmiscml@gmail.com>
Tue, 11 Mar 2008 13:48:44 +0000 (13:48 +0000)
     and 'df907de16e9f058a9d98b4ee458c93e7c4965a9c'

packages/initrdscripts/files/01-bootldr-buster.sh
packages/initrdscripts/files/30-bootmenu.sh
packages/initrdscripts/files/87-kexecboot.sh
packages/initrdscripts/files/init.sh
packages/initrdscripts/initramfs-module-bootldr-buster_1.0.bb
packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
packages/initrdscripts/initramfs-uniboot_1.0.bb

index 46d0190..c3b79b5 100644 (file)
@@ -7,7 +7,7 @@ if expr "$cmdl" : '.*mtdparts=ipaq' > /dev/null; then
     echo "Detected Compaq bootldr or derivative"
     echo "Kernel command line is assumed to be bogus and ignored"
     echo "!!!!!!!!"
-    CMDLINE=" "
+    CMDLINE="console=ttyS0,115200 console=tty0"
     sleep 3
 fi
 
index f5ecb8c..c77bd66 100644 (file)
@@ -15,13 +15,6 @@ if ! (echo " " | read -n1 foo) >/dev/null 2>&1; then
     exit 1
 fi
 
-if [ -z "$rootdelay" ]; then
-    echo "rootdelay parameter was not passed on kernel command line - assuming 2s delay"
-    echo "If you would like to avoid this delay, pass explicit rootdelay=0"
-    sleep 2
-    dev_setup
-fi
-
 mkdir -p $MOUNTLOC
 
 list=""
@@ -36,14 +29,14 @@ add_menu_item()
 }
 
 show_menu() {
-    echo -e -n "${E}3;0H"
+    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"
+           echo -e -n "${E}1m" >$CONSOLE
        fi
-        echo -e "$cnt: $l${E}0m"
+        echo -e "$cnt: $l${E}0m" >$CONSOLE
        cnt=$((cnt + 1))
     done
 }
@@ -109,14 +102,14 @@ total=`echo -e $list | wc -l`
 num=0
 
 # Draw UI
-stty -echo
-echo -e -n "${E}2J"
-echo -e -n "${E}0;0H"
-echo "Select boot image:"
+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 -n1 i; do
+while read -s -n1 i; do
     case "$i" in
        "A")
            num=$((num - 1))
@@ -139,7 +132,7 @@ while read -n1 i; do
     esac
     show_menu
 #    echo "*$esc$i"
-done
+done < $CONSOLE
 
 stty echo
 
@@ -170,8 +163,8 @@ else
     CMDLINE="$CMDLINE root=$ROOT_DEVICE"
 fi
 
-echo ROOT_DEVICE=$ROOT_DEVICE
-echo CMDLINE=$CMDLINE
+echo ROOT_DEVICE=$ROOT_DEVICE >$CONSOLE
+echo CMDLINE=$CMDLINE >$CONSOLE
 
 ##############################
 fi
index 9232934..2a51b4d 100644 (file)
@@ -3,15 +3,15 @@
 
 if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/boot/zImage" ]; then
     if ! expr "$CMDLINE" : '.*nokexec'; then
-       echo "Kernel found in rootfs:"
-       ls -l "$BOOT_ROOT/boot/zImage"
+       echo "Kernel found in rootfs:" >$CONSOLE
+       ls -l "$BOOT_ROOT/boot/zImage" >$CONSOLE
        initramfs=""
        if [ -f "$BOOT_ROOT/boot/initramfs.bin" ]; then
            echo "Initramfs found in rootfs:"
            ls -l "$BOOT_ROOT/boot/initramfs.bin"
            initramfs="--initrd=$BOOT_ROOT/boot/initramfs.bin"
         fi
-       echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
+       echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec" >$CONSOLE
         sleep 10
        /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
         sleep 10000
index c3b4336..60d2e5d 100644 (file)
@@ -41,6 +41,7 @@ read_args() {
 
 load_modules() {
     for module in $MODULE_DIR/$1; do
+       # Cannot redir to $CONSOLE here easily - may not be set yet
         echo "initramfs: Loading $module module"
         source $module
     done
@@ -66,8 +67,13 @@ load_modules '0*'
 
 read_args
 
+if [ -z "$rootdelay" ]; then
+    echo "rootdelay parameter was not passed on kernel command line - assuming 2s delay"
+    echo "If you would like to avoid this delay, pass explicit rootdelay=0"
+    rootdelay="2"
+fi
 if [ -n "$rootdelay" ]; then
-    echo "Waiting $rootdelay seconds for devices to settle..."
+    echo "Waiting $rootdelay seconds for devices to settle..." >$CONSOLE
     sleep $rootdelay
 fi
 
index a3141f5..8c4c2f7 100644 (file)
@@ -1,5 +1,5 @@
 SRC_URI = "file://01-bootldr-buster.sh"
-PR = "r1"
+PR = "r2"
 DESCRIPTION = "An initramfs module for ignoring bogus kernel commandline from Compaq bootldr"
 RDEPENDS = "initramfs-uniboot"
 
index 6c01b5e..5893420 100644 (file)
@@ -1,5 +1,5 @@
 SRC_URI = "file://30-bootmenu.sh"
-PR = "r15"
+PR = "r17"
 DESCRIPTION = "An initramfs module with UI for selection of boot device."
 RDEPENDS = "klibc-utils-static-fstype initramfs-uniboot initramfs-module-block initramfs-module-loop initramfs-module-nfs"
 # For VFAT mounting.
index 35100a9..face730 100644 (file)
@@ -1,5 +1,5 @@
 SRC_URI = "file://87-kexecboot.sh"
-PR = "r0.4"
+PR = "r1"
 DESCRIPTION = "An initramfs module for kexecing kernel from rootfs."
 RDEPENDS = "initramfs-uniboot kexec-static"
 
index cfa065b..403db0b 100644 (file)
@@ -1,5 +1,5 @@
 SRC_URI = "file://init.sh"
-PR = "r6"
+PR = "r8"
 DESCRIPTON = "A modular initramfs init script system."
 RRECOMMENDS = "kernel-module-mtdblock"