Ping, any comments? //Hongxu
On 2017年06月09日 17:24, Hongxu Jia wrote:
While installing grub and grub-efi, there are conflict files in ${sysconfdir} ${datadir} ${bindir} ${sbindir}. Debian use a common package grub-common for both of pc bios and efi, and use package grub-pc-bin for pc bios, grub-efi-amd64-bin for efi. Both of grub-pc-bin and grub-efi-amd64-bin requires grub-common. https://packages.debian.org/sid/grub-common https://packages.debian.org/jessie/grub-pc-bin https://packages.debian.org/jessie/grub-efi-amd64-bin Fedora use a common package grub2-tools for both of pc bios and efi, and use package grub2 for pc bios, grub2-efi-modules for efi. Both of grub2 and grub2-efi-modules requires grub2-tools. https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-tools-2.02-0.34.fc24.x86_64.html https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-2.02-0.34.fc24.x86_64.html https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-efi-modules-2.02-0.34.fc24.x86_64.html For OE, we use a common package grub-common for both of pc bios and efi, and use package grub for pc bios, grub-efi for efi. Both of grubc and grub-efi runtime depends grub-common. [YOCTO #11639] Signed-off-by: Hongxu Jia <[email protected]> --- meta/recipes-bsp/grub/grub-efi_2.02.bb | 7 +++++-- meta/recipes-bsp/grub/grub2.inc | 4 ---- meta/recipes-bsp/grub/grub_2.02.bb | 13 ++++++++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb index 9d494d5..3c87cb7 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -3,7 +3,7 @@ require grub2.inc GRUBPLATFORM = "efi"DEPENDS_class-target = "grub-efi-native"-RDEPENDS_${PN}_class-target = "diffutils freetype" +RDEPENDS_${PN}_class-target = "diffutils freetype grub-common"SRC_URI += " \file://cfg \ @@ -41,6 +41,10 @@ do_install_class-native() { install -m 755 grub-mkimage ${D}${bindir} }+do_install_class-target() {+ oe_runmake 'DESTDIR=${D}' -C grub-core install +} + GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 search"do_deploy() {@@ -59,7 +63,6 @@ do_deploy_class-native() { addtask deploy after do_install before do_buildFILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \- ${datadir}/grub \ "# 64-bit binaries are expected for the bootloader with an x32 userlanddiff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index bb6ebdd..2bf3245 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc @@ -64,7 +64,3 @@ do_configure_prepend() { ( cd ${S} ${S}/autogen.sh ) } - -# grub and grub-efi's sysroot/${datadir}/grub/grub-mkconfig_lib are -# conflicted, remove it since no one uses it. -SYSROOT_DIRS_BLACKLIST += "${datadir}/grub/grub-mkconfig_lib" diff --git a/meta/recipes-bsp/grub/grub_2.02.bb b/meta/recipes-bsp/grub/grub_2.02.bb index 57c6559..ea41ee9 100644 --- a/meta/recipes-bsp/grub/grub_2.02.bb +++ b/meta/recipes-bsp/grub/grub_2.02.bb @@ -1,10 +1,17 @@ require grub2.inc-RDEPENDS_${PN} = "diffutils freetype grub-editenv"+RDEPENDS_${PN}-common = "${PN}-editenv" +RDEPENDS_${PN} = "diffutils freetype ${PN}-common"-PACKAGES =+ "grub-editenv"+PACKAGES =+ "${PN}-editenv ${PN}-common"-FILES_grub-editenv = "${bindir}/grub-editenv"+FILES_${PN}-editenv = "${bindir}/grub-editenv" +FILES_${PN}-common = " \ + ${bindir} \ + ${sysconfdir} \ + ${sbindir} \ + ${datadir}/grub \ +"do_install_append () {install -d ${D}${sysconfdir}/grub.d
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
