Author: ward
Date: 2007-09-12 21:19:38 +0200 (Wed, 12 Sep 2007)
New Revision: 29

Modified:
   buildrom-devel/skeleton/bin/boot.functions
   buildrom-devel/skeleton/device.txt
   buildrom-devel/skeleton/linuxrc
Log:

Change the skeleton files to give us a simple busybox + kexec boot (statically
built kexec on disk).

Signed-off-by: Ward Vandewege <[EMAIL PROTECTED]>
Acked-by: Ronald G. Minnich <[EMAIL PROTECTED]>



Modified: buildrom-devel/skeleton/bin/boot.functions
===================================================================
--- buildrom-devel/skeleton/bin/boot.functions  2007-09-12 19:17:14 UTC (rev 28)
+++ buildrom-devel/skeleton/bin/boot.functions  2007-09-12 19:19:38 UTC (rev 29)
@@ -4,17 +4,11 @@
 # Note - these are being kept for compatablity purposes
 # The best solution is to use olpc-boot.sh
 
-CMDLINE="root=/dev/sda1 console=ttyS0,115200 console=tty0 rootdelay=10 rw"
-KERNEL="/bzImage"
-INITRD=""
+CMDLINE="root=/dev/sda1 ro console=tty0 console=ttyS0,115200"
+KERNEL="/boot/vmlinuz"
+INITRD="/boot/initrd.img"
 VT="1"
 
-# Any of the above can be over-ridden by /boot.conf
-
-if [ -f /boot.conf ]; then
-       . /boot.conf
-fi
-
 message() {
        echo $1 > /dev/tty$VT
        echo $1
@@ -26,25 +20,14 @@
        # Switch to the mounted directory to make life easier for the script
        cd $DIR 
 
-       if [ -x ./boot/olpc-boot.sh ]; then
-               . ./boot/olpc-boot.sh
-               message "Unable to execute the olpc-boot.sh script"
-               return
-       fi
+       # Any of the above can be over-ridden by /boot.conf
 
-       if [ -x ./olpc-boot.sh ]; then
-               . ./olpc-boot.sh
-               message "Unable to execute the olpc-boot.sh script"
-               return
+       if [ -f $DIR/etc/boot.conf ]; then
+               . $DIR/etc/boot.conf
        fi
 
-       # For backwards compatablity - try to find the kernel
+       $DIR/sbin/kexec -l $DIR/$KERNEL --command-line="$CMDLINE"
+       $DIR/sbin/kexec -e
 
-       if [ ! -f $DIR$KERNEL ]; then
-               message "ERROR: $DIR$KERNEL doesn't exist."
-               return
-       fi
-
-       /sbin/kbl-kexec $DIR$KERNEL "$CMDLINE" $INITRD
-       message "ERROR: can't run kbl-kexec $DIR$KERNEL $CMDLINE $INITRD"
+       message "ERROR: can't run kexec $DIR$KERNEL $CMDLINE $INITRD"
 }

Modified: buildrom-devel/skeleton/device.txt
===================================================================
--- buildrom-devel/skeleton/device.txt  2007-09-12 19:17:14 UTC (rev 28)
+++ buildrom-devel/skeleton/device.txt  2007-09-12 19:19:38 UTC (rev 29)
@@ -6,5 +6,12 @@
 console        c       640     0       0       5       1
 sda    b       660     0       0       8       0
 sda1   b       660     0       0       8       1
+sda2   b       660     0       0       8       2
+sda3   b       660     0       0       8       3
+sda4   b       660     0       0       8       4
+sda5   b       660     0       0       8       5
+sda6   b       660     0       0       8       6
+sda7   b       660     0       0       8       7
+sda8   b       660     0       0       8       8
 mem    c       640     0       0       1       1
 fb0    c       640     0       0       29      0

Modified: buildrom-devel/skeleton/linuxrc
===================================================================
--- buildrom-devel/skeleton/linuxrc     2007-09-12 19:17:14 UTC (rev 28)
+++ buildrom-devel/skeleton/linuxrc     2007-09-12 19:19:38 UTC (rev 29)
@@ -1,62 +1,28 @@
 #!/bin/sh
 
-# We need boot functions for message()
+/sbin/makedevs /dev < device.txt > /output.makedevs.txt 2>&1
+
 . /bin/boot.functions
 
 boot_default() {
-       sh /bin/boot-nand
-       sh /bin/boot-usb
+       sh /bin/boot-hdd
 }
 
-# Make the null device by hand, since we use it in the makedevs step.
-
-mknod /dev/null c 1 3
-
 mkdir /proc
 mount -t proc proc /proc
 
 # For debug purposes
 mount -t usbfs usbfs /proc/bus/usb
 
-# Makedevs returns seemingly nasty error messages, even though the
-# files are still created (we're missing something in the minimal kernel 
-# that causes chown to return ENOSYS).
-# End result - we ignore the error messages
-
-/sbin/makedevs /dev < device.txt > /dev/null 2>&1
-
 # Show the version 
-cat /buildrom-version
 cat /buildrom-version > /dev/tty$VT
 
-# FIXME - bad!
-
-message "Starting bootmenu."
+message "Trying to boot from hdd."
 cd /bin
-./bootmenu
+./boot-hdd
 RET=$?
 cd /
 
-# Bootmenu now returns 0 if the timeout happened (meaning, 
-# we want to boot the default - which in this case is nand
-# then USB key.  $RET > 0 means to select the menu item
-
-# NOTE:  Should 3 be boot_default, or boot-usb only?
-
-if [ $RET -eq 0 ]; then
-       message "NOTICE: Booting default"
-       boot_default
-elif [ $RET -eq 1 ]; then
-       message "ERROR: Wired mode isn't supported right now."
-elif [ $RET -eq 2 ]; then
-       message "ERROR: Wireless mode isn't supported right now."
-elif [ $RET -eq 3 ]; then
-       sh /bin/boot-usb
-elif [ $RET -eq -1 ]; then
-       message "ERROR: The bootmenu was not successful."
-fi
-
 message "NOTICE: Starting the shell..."
-
 openvt $VT /bin/ash
 exec /bin/ash


-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to