From c71f5ab37416629793b9f826480d440d67531791 Mon Sep 17 00:00:00 2001 From: Jianxun Zhang Date: Thu, 5 May 2016 11:20:37 -0700 Subject: systemd: support systemd-boot as a stand-alone EFI bootloader The "systemd-boot" is gummiboot now included into systemd project. The old gummiboot project supported in OE is dead. Our intention is to get a gummiboot-like EFI bootloader without much dependency on systemd and its features. This work is largely derived from the existing bbclass and recipes of gummiboot and systemd. (commit tip: ee25d0e3987d7732a2e46e1640693b4cf419a9fc) Please refer to the history up to the tip for authorship and credit information for the original works. To enable the systemd-boot in build, add this line EFI_PROVIDER = "systemd-boot" in your machine conf file. (From OE-Core rev: e9add1cd01e498d2aa52528ec52342cae48a387a) Signed-off-by: Jianxun Zhang Signed-off-by: Richard Purdie --- meta/recipes-bsp/systemd-boot/systemd-boot.bb | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meta/recipes-bsp/systemd-boot/systemd-boot.bb (limited to 'meta/recipes-bsp') diff --git a/meta/recipes-bsp/systemd-boot/systemd-boot.bb b/meta/recipes-bsp/systemd-boot/systemd-boot.bb new file mode 100644 index 0000000000..87e98718f5 --- /dev/null +++ b/meta/recipes-bsp/systemd-boot/systemd-boot.bb @@ -0,0 +1,35 @@ +require recipes-core/systemd/systemd.inc + +DEPENDS = "intltool-native libcap util-linux gnu-efi" + +inherit autotools pkgconfig gettext +inherit deploy + +EXTRA_OECONF = " --enable-gnuefi \ + --with-efi-includedir=${STAGING_INCDIR} \ + --with-efi-ldsdir=${STAGING_LIBDIR} \ + --with-efi-libdir=${STAGING_LIBDIR} \ + --disable-manpages \ + " + +# Imported from gummiboot recipe +TUNE_CCARGS_remove = "-mfpmath=sse" + +do_compile() { + SYSTEMD_BOOT_EFI_ARCH="ia32" + if [ "${TARGET_ARCH}" = "x86_64" ]; then + SYSTEMD_BOOT_EFI_ARCH="x64" + fi + + oe_runmake systemd-boot${SYSTEMD_BOOT_EFI_ARCH}.efi +} + +do_install() { + # Bypass systemd installation with a NOP + : +} + +do_deploy () { + install ${B}/systemd-boot*.efi ${DEPLOYDIR} +} +addtask deploy before do_build after do_compile -- cgit 1.2.3-korg