]> code.ossystems Code Review - openembedded-core.git/commitdiff
initrdscripts: init can now launch the installation script
authorSamuel Ortiz <sameo@openedhand.com>
Wed, 8 Oct 2008 14:34:50 +0000 (14:34 +0000)
committerSamuel Ortiz <sameo@openedhand.com>
Wed, 8 Oct 2008 14:34:50 +0000 (14:34 +0000)
Depending on the boot label ("boot" or "install"), init will either
chroot into the rootfs image (live boot path), or launch the
installation script (installation path).

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5457 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/initrdscripts/files/init-live.sh

index e081d44dd0f44bea34a13185e520d726c5c750c8..96a1a9488f1f0973a31add5e7336d587d981da18 100644 (file)
@@ -7,7 +7,9 @@ UMOUNT="/bin/umount"
 
 early_setup() {
     mkdir /proc
+    mkdir /sys
     mount -t proc proc /proc
+    mount -t sysfs sysfs /sys
     udevd --daemon
 }
 
@@ -22,6 +24,12 @@ read_args() {
                 ROOT_FSTYPE=$optarg ;;
             rootdelay=*)
                 rootdelay=$optarg ;;
+           LABEL=*)
+               label=$optarg ;;
+           video=*)
+               video_mode=$optarg ;;
+           vga=*)
+               vga_mode=$optarg ;;         
         esac
     done
 }
@@ -38,14 +46,13 @@ fatal() {
     exec sh
 }
 
-echo "Starting initramfs boot..."
 early_setup
 
 [ -z "$CONSOLE" ] && CONSOLE="/dev/console"
 
 read_args
 
-echo "Waiting for Live image to show up..."
+echo "Waiting for removable media..."
 while true
 do
   for i in `ls /media 2>/dev/null`; do
@@ -59,12 +66,26 @@ do
   sleep 1
 done
 
-mkdir $ROOT_MOUNT
-mknod /dev/loop0 b 7 0
+case $label in
+    boot)
+       mkdir $ROOT_MOUNT
+       mknod /dev/loop0 b 7 0
+
+       if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ROOT_IMAGE $ROOT_MOUNT ; then
+           fatal "Couldnt mount rootfs image"
+       else
+           boot_live_root
+       fi
+       ;;
+    install)
+       if [ -f /media/$i/$ROOT_IMAGE ] ; then
+           ./install.sh $i $ROOT_IMAGE $video_mode $vga
+       else
+           fatal "Couldnt find install script"
+       fi
+
+       # If we're getting here, we failed...
+       fatal "Installation image failed"
+       ;;
+esac
 
-if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ROOT_IMAGE $ROOT_MOUNT
-then
-    fatal "Couldnt mount rootfs image"
-else
-    boot_live_root
-fi