]> code.ossystems Code Review - openembedded-core.git/commitdiff
init-live : make it easier to add custom boot targets
authorJérémy Rosen <jeremy.rosen@openwide.fr>
Fri, 11 Mar 2016 10:38:31 +0000 (11:38 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 20 Mar 2016 22:57:55 +0000 (22:57 +0000)
When booting from the live image, the label from the bootloader is passed
to init.sh. init.sh uses the label to either boot a live image or call a
script to take over and install the system.

It is possible to add new labels to the bootloader via the LABELS family of
variables, but the names in init.sh were hardcoded to install and
install-efi

this patch checks if a shell script with the same name as the label is
available instead of using a hardcoded list. Any recipe can add such file
and this provide a new boot target to the live image

Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-core/initrdscripts/files/init-live.sh

index d852c5737f611ef54e9da8cf54c8f65f1820cbf8..f6985359803c9e025ba3c95d9dcbc8c5fe92bfc1 100644 (file)
@@ -214,11 +214,7 @@ mount_and_boot() {
     boot_live_root
 }
 
-case $label in
-    boot)
-       mount_and_boot
-       ;;
-    install|install-efi)
+if [ "$label" != "boot" -a -f $label.sh ] ; then
        if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
            ./$label.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params
        else
@@ -226,10 +222,8 @@ case $label in
        fi
 
        # If we're getting here, we failed...
-       fatal "Installation image failed"
-       ;;
-    *)
-       # Not sure what boot label is provided.  Try to boot to avoid locking up.
-       mount_and_boot
-       ;;
-esac
+       fatal "Target $label failed"
+fi
+
+mount_and_boot
+