[OE-core] [PATCH v3 04/21] grub-efi: if installed and EFI_PROVIDER, install as bootx64 or bootia32

Anuj Mittal anuj.mittal at intel.com
Thu Mar 1 02:34:22 UTC 2018


Hi Cal,

On 03/01/2018 10:15 AM, California Sullivan wrote:
> This way we could theoretically support multiple bootloaders, and we
> keep the convention of boot(x64|ia32).
> 
> Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
> ---
>  meta/recipes-bsp/grub/grub-efi_2.02.bb | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb
> index c5a68f01cef..ed27b90fdbc 100644
> --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb
> +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb
> @@ -15,16 +15,19 @@ S = "${WORKDIR}/grub-${PV}"
>  python __anonymous () {
>      import re
>      target = d.getVar('TARGET_ARCH')
> +    prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-"
>      if target == "x86_64":
>          grubtarget = 'x86_64'
> -        grubimage = "grub-efi-bootx64.efi"
> +        grubimage = prefix + "bootx64.efi"
>      elif re.match('i.86', target):
>          grubtarget = 'i386'
> -        grubimage = "grub-efi-bootia32.efi"
> +        grubimage = prefix + "bootia32.efi"
>      else:
>          raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
>      d.setVar("GRUB_TARGET", grubtarget)
>      d.setVar("GRUB_IMAGE", grubimage)
> +    prefix = "grub-efi-" if prefix == "" else ""
> +    d.setVar("GRUB_IMAGE_PREFIX", prefix)
>  }
>  
>  inherit deploy
> @@ -41,7 +44,7 @@ do_mkimage() {
>  	# Search for the grub.cfg on the local boot media by using the
>  	# built in cfg file provided via this recipe
>  	grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \
> -	               -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \
> +	               -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
>  	               ${GRUB_BUILDIN}
>  }
>  
> @@ -55,7 +58,7 @@ do_install_append_class-target() {
>  	install -d ${D}/boot
>  	install -d ${D}/boot/EFI
>  	install -d ${D}/boot/EFI/BOOT
> -	install -m 644 ${B}/${GRUB_IMAGE} ${D}/boot/EFI/BOOT/
> +	install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}/boot/EFI/BOOT/${GRUB_IMAGE}
>  }
>  
>  do_install_class-native() {
> @@ -79,7 +82,7 @@ GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
>                   efi_gop iso9660 configfile search loadenv test"
>  
>  do_deploy() {
> -	install -m 644 ${B}/${GRUB_IMAGE} ${DEPLOYDIR}
> +	install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
>  }
>  
>  do_deploy_class-native() {
> 

Should FILES_${PN} also be changed to add prefix?

Thanks,
Anuj




More information about the Openembedded-core mailing list