From: Chen Qi <qi.c...@windriver.com> Previously, the boot action for live images was totally determined by the LABEL value in the boot parameters (/proc/cmdline).
This behavior is not very convenient for users. The user may just want to drop to a shell for troubleshooting the live image, or the user may want to try to install the live image while the LABEL value is 'boot'. We should provide the users a chance to choose the boot action when the live image starts up. This patch starts to implement this behavior by providing three choices at boot time, 'boot', 'install' and 'shell'. [YOCTO #4784] Signed-off-by: Chen Qi <qi.c...@windriver.com> --- meta/recipes-core/initrdscripts/files/init-live.sh | 39 ++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh index 890c562..2300381 100644 --- a/meta/recipes-core/initrdscripts/files/init-live.sh +++ b/meta/recipes-core/initrdscripts/files/init-live.sh @@ -73,6 +73,39 @@ read_args() { done } +get_choice_from_user () { + # get the choice from user, determine the value of label + echo "" + echo "Boot options [6 seconds timeout]:" + echo "[1] boot: boot the live image" + echo "[2] install: install the live image to a local disk" + echo "[3] shell: drop to a shell" + while true; do + echo -n "Please enter your choice number [default action is $label]: " + read -t 6 choice + case "$choice" in + "") + break + ;; + "1") + label="boot" + break + ;; + "2") + label="install" + break + ;; + "3") + label="shell" + break + ;; + *) + echo "Invalid input" + ;; + esac + done +} + boot_live_root() { # Watches the udev event queue, and exits if all current events are handled udevadm settle --timeout=3 --quiet @@ -192,6 +225,9 @@ mount_and_boot() { boot_live_root } +# Get choice from user +get_choice_from_user + case $label in boot) mount_and_boot @@ -206,4 +242,7 @@ case $label in # If we're getting here, we failed... fatal "Installation image failed" ;; + shell) + exec sh + ;; esac -- 1.7.9.5 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core