diff options
author | Changqing Li <changqing.li@windriver.com> | 2019-08-08 13:51:22 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-12 16:23:57 +0100 |
commit | 600bbe4e5c7895066cce00ff016abebac08a2c85 (patch) | |
tree | 61453e75203cf58fa48b84e99c1ac49b0e72c096 /meta | |
parent | 1a0a00402d69b3b19c612add6a50fd65d876c324 (diff) | |
download | poky-600bbe4e5c7895066cce00ff016abebac08a2c85.tar.gz |
grub/grub-efi: fix conflict for aach64
MACHINE = qemuarm64
IMAGE_INSTALL_append = ' grub grub-efi'
do_rootfs failed with error:
file /usr/lib64/grub/arm64-efi/acpi.module conflicts between attempted installs of grub-2.02-r0.aarch64 and grub-efi-2.02-r0.aarch64
file /usr/lib64/grub/arm64-efi/adler32.module conflicts between attempted installs of grub-2.02-r0.aarch64 and grub-efi-2.02-r0.aarch64
...
file /usr/lib64/grub/arm64-efi/zfsinfo.module conflicts between attempted installs of grub-2.02-r0.aarch64 and grub-efi-2.02-r0.aarch64
For arm64, grub and grub-efi both compiled GRUBD2 with platform
arm64-efi, arm64 only support platform efi. So both packages have
almost same folder and content /usr/lib64/grub/arm64-efi/*
if Machine set to qemux86_64, do_rootfs will not have this problem,
since for grub, it compiled with platform i386-pc, for grub-efi,
compiled with platform x86-64-efi.
>From commit:
commit 4e9bb03238af48c70075037a77094a8c1bddf284
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed Jan 17 03:25:58 2018 -0500
grub/grub-efi: fix conflict
While installing grub and grub-efi, there are conflict files
in ${sysconfdir} ${datadir} ${bindir} ${sbindir}.
- Since all of the conflicted files are tools which is
common for grub and grub-efi, we split them (except
grub-editenv) to grub-common in grub.
common tools for grub and grub-efi are installed into grub-common,
for aarch64, also shipped libdir into this common packages.
in this way, for qemuarm64, package grub is empty, and package grub-efi
use lib in package grub-common
(From OE-Core rev: 933286bdcb9008b75007abedf30cc1b4b6e2f0d0)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-bsp/grub/grub-efi_2.04.bb | 5 | ||||
-rw-r--r-- | meta/recipes-bsp/grub/grub_2.04.bb | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-bsp/grub/grub-efi_2.04.bb b/meta/recipes-bsp/grub/grub-efi_2.04.bb index b797bb7445..aaa198ea23 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.04.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.04.bb | |||
@@ -81,6 +81,10 @@ do_install_class-target() { | |||
81 | {} + | 81 | {} + |
82 | } | 82 | } |
83 | 83 | ||
84 | do_install_append_aarch64() { | ||
85 | rm -rf ${D}/${prefix}/ | ||
86 | } | ||
87 | |||
84 | GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ | 88 | GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ |
85 | efi_gop iso9660 configfile search loadenv test" | 89 | efi_gop iso9660 configfile search loadenv test" |
86 | 90 | ||
@@ -99,6 +103,7 @@ FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \ | |||
99 | /boot/EFI/BOOT/${GRUB_IMAGE} \ | 103 | /boot/EFI/BOOT/${GRUB_IMAGE} \ |
100 | " | 104 | " |
101 | 105 | ||
106 | FILES_${PN}_remove_aarch64 = "${libdir}/grub/${GRUB_TARGET}-efi" | ||
102 | 107 | ||
103 | # 64-bit binaries are expected for the bootloader with an x32 userland | 108 | # 64-bit binaries are expected for the bootloader with an x32 userland |
104 | INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" | 109 | INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" |
diff --git a/meta/recipes-bsp/grub/grub_2.04.bb b/meta/recipes-bsp/grub/grub_2.04.bb index e0973759fb..1d1a45670c 100644 --- a/meta/recipes-bsp/grub/grub_2.04.bb +++ b/meta/recipes-bsp/grub/grub_2.04.bb | |||
@@ -14,6 +14,10 @@ FILES_${PN}-common = " \ | |||
14 | ${datadir}/grub \ | 14 | ${datadir}/grub \ |
15 | " | 15 | " |
16 | 16 | ||
17 | FILES_${PN}-common_append_aarch64 = " \ | ||
18 | ${libdir}/${BPN} \ | ||
19 | " | ||
20 | |||
17 | do_install_append () { | 21 | do_install_append () { |
18 | install -d ${D}${sysconfdir}/grub.d | 22 | install -d ${D}${sysconfdir}/grub.d |
19 | # Remove build host references... | 23 | # Remove build host references... |