[OE-core] [OE-Core][PATCH v2] uboot-extlinux-config.bbclass: add support for timeout & default

Khem Raj raj.khem at gmail.com
Fri Feb 10 17:50:27 UTC 2017



On 2/9/17 5:06 PM, Dalon Westergreen wrote:
> When multible targets are defined it is useful to allow for
> a default target along with a timeout.  After timeout, the
> default target will be selected.
> 
> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com>
> 

this looks good to me.

> --
> v2:
>  - fixed UnboundLocalError
> ---
>  meta/classes/uboot-extlinux-config.bbclass | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/meta/classes/uboot-extlinux-config.bbclass b/meta/classes/uboot-extlinux-config.bbclass
> index ec5fffb..f075a37 100644
> --- a/meta/classes/uboot-extlinux-config.bbclass
> +++ b/meta/classes/uboot-extlinux-config.bbclass
> @@ -16,6 +16,10 @@
>  #                                    concatenate and use as an initrd (optional).
>  # UBOOT_EXTLINUX_MENU_DESCRIPTION  - Name to use as description.
>  # UBOOT_EXTLINUX_ROOT              - Root kernel cmdline.
> +# UBOOT_EXTLINUX_TIMEOUT           - Timeout before DEFAULT selection is made.
> +#                                    Measured in 1/10 of a second.
> +# UBOOT_EXTLINUX_DEFAULT_LABEL     - Target to be selected by default after
> +#                                    the timeout period
>  #
>  # If there's only one label system will boot automatically and menu won't be
>  # created. If you want to use more than one labels, e.g linux and alternate,
> @@ -25,6 +29,9 @@
>  #
>  # UBOOT_EXTLINUX_LABELS ??= "default fallback"
>  #
> +# UBOOT_EXTLINUX_DEFAULT_LABEL ??= "Linux Default"
> +# UBOOT_EXTLINUX_TIMEOUT ??= "30"
> +#
>  # UBOOT_EXTLINUX_KERNEL_IMAGE_default ??= "../zImage"
>  # UBOOT_EXTLINUX_MENU_DESCRIPTION_default ??= "Linux Default"
>  #
> @@ -34,6 +41,8 @@
>  # Results:
>  #
>  # menu title Select the boot mode
> +# TIMEOUT 30
> +# DEFAULT Linux Default
>  # LABEL Linux Default
>  #   KERNEL ../zImage
>  #   FDTDIR ../
> @@ -82,6 +91,14 @@ python create_extlinux_config() {
>              if len(labels.split()) > 1:
>                  cfgfile.write('menu title Select the boot mode\n')
>  
> +            timeout =  d.getVar('UBOOT_EXTLINUX_TIMEOUT')
> +            if timeout:
> +                cfgfile.write('TIMEOUT %s\n' % (timeout))
> +
> +            default = d.getVar('UBOOT_EXTLINUX_DEFAULT_LABEL')
> +            if default:
> +                cfgfile.write('DEFAULT %s\n' % (default))
> +                    
>              for label in labels.split():
>                  localdata = bb.data.createCopy(d)
>  
> 



More information about the Openembedded-core mailing list