From b1bf8f7f2bf7c6117c56e08b6ba667720862d3da Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 6 Jan 2014 12:01:25 +0100 Subject: grub: add git version Recently grub git gained support for ARM builds (using u-boot or EFI as first stage loader) and with 2 extra patches we get support for 64-bit ARM as well. Buildtested for genericarmv7a, genericarmv8 and qemux86. The genericarmv8 build fails in do_package/strip due to a binutils problem. (From OE-Core rev: b4e28912af0618755ce75d0cc27d53fa9d745b30) Signed-off-by: Koen Kooi Signed-off-by: Richard Purdie --- meta/recipes-bsp/grub/grub_git.bb | 61 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 meta/recipes-bsp/grub/grub_git.bb (limited to 'meta/recipes-bsp/grub/grub_git.bb') diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb new file mode 100644 index 0000000000..ca636f32ce --- /dev/null +++ b/meta/recipes-bsp/grub/grub_git.bb @@ -0,0 +1,61 @@ +SUMMARY = "GRUB2 is the next-generation GRand Unified Bootloader" + +DESCRIPTION = "GRUB2 is the next generaion of a GPLed bootloader \ +intended to unify bootloading across x86 operating systems. In \ +addition to loading the Linux kernel, it implements the Multiboot \ +standard, which allows for flexible loading of multiple boot images." + +HOMEPAGE = "http://www.gnu.org/software/grub/" +SECTION = "bootloaders" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "autogen-native flex-native bison-native xz freetype" + +DEFAULT_PREFERENCE = "-1" +DEFAULT_PREFERENCE_arm = "1" + +PV = "2.00+${SRCPV}" +SRCREV = "3bc1b2daabb9b07a9c08bca386005d96f07147fe" +SRC_URI = "git://git.savannah.gnu.org/grub.git \ + file://0001-fdt-add-grub_fdt_create_empty_tree-function.patch \ + file://0002-arm64-add-EFI-Linux-loader.patch \ + file://40_custom \ + " + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' + +inherit autotools +inherit gettext + +PACKAGECONFIG ??= "" +PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse" + +# configure.ac has code to set this automagically from the target tuple +# but the OE freeform one (core2-foo-bar-linux) don't work with that. + +GRUBPLATFORM_arm = "uboot" +GRUBPLATFORM_aarch64 = "efi" +GRUBPLATFORM ??= "pc" + +EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \ + --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no" + +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} + +do_install_append () { + install -d ${D}${sysconfdir}/grub.d + install -m 0755 ${WORKDIR}/40_custom ${D}${sysconfdir}/grub.d/40_custom +} + +RDEPENDS_${PN} = "diffutils freetype" +FILES_${PN}-dbg += "${libdir}/${BPN}/*/.debug" + +INSANE_SKIP_${PN} = "arch" +INSANE_SKIP_${PN}-dbg = "arch" -- cgit v1.2.3-54-g00ecf