aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/grub/grub_git.bb
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2014-01-06 12:01:25 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-06 16:30:00 +0000
commitb4e28912af0618755ce75d0cc27d53fa9d745b30 (patch)
tree0474b8c96a3de93763fbcfe04151fe145c378666 /meta/recipes-bsp/grub/grub_git.bb
parentd0e52b125a58c0556087fcdf1673920e63573e7b (diff)
downloadopenembedded-core-contrib-b4e28912af0618755ce75d0cc27d53fa9d745b30.tar.gz
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. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp/grub/grub_git.bb')
-rw-r--r--meta/recipes-bsp/grub/grub_git.bb61
1 files changed, 61 insertions, 0 deletions
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"