diff options
| author | Jianxun Zhang <jianxun.zhang@linux.intel.com> | 2016-05-05 11:20:37 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-03 13:13:25 +0100 |
| commit | c71f5ab37416629793b9f826480d440d67531791 (patch) | |
| tree | 3a605787ba786549c99b8923133ea38c24f4af3d /meta/recipes-bsp | |
| parent | 408297489d1b368e8cc539ce93fbe566976b0f3a (diff) | |
| download | poky-c71f5ab37416629793b9f826480d440d67531791.tar.gz | |
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 <jianxun.zhang@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp')
| -rw-r--r-- | meta/recipes-bsp/systemd-boot/systemd-boot.bb | 35 |
1 files changed, 35 insertions, 0 deletions
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 @@ | |||
| 1 | require recipes-core/systemd/systemd.inc | ||
| 2 | |||
| 3 | DEPENDS = "intltool-native libcap util-linux gnu-efi" | ||
| 4 | |||
| 5 | inherit autotools pkgconfig gettext | ||
| 6 | inherit deploy | ||
| 7 | |||
| 8 | EXTRA_OECONF = " --enable-gnuefi \ | ||
| 9 | --with-efi-includedir=${STAGING_INCDIR} \ | ||
| 10 | --with-efi-ldsdir=${STAGING_LIBDIR} \ | ||
| 11 | --with-efi-libdir=${STAGING_LIBDIR} \ | ||
| 12 | --disable-manpages \ | ||
| 13 | " | ||
| 14 | |||
| 15 | # Imported from gummiboot recipe | ||
| 16 | TUNE_CCARGS_remove = "-mfpmath=sse" | ||
| 17 | |||
| 18 | do_compile() { | ||
| 19 | SYSTEMD_BOOT_EFI_ARCH="ia32" | ||
| 20 | if [ "${TARGET_ARCH}" = "x86_64" ]; then | ||
| 21 | SYSTEMD_BOOT_EFI_ARCH="x64" | ||
| 22 | fi | ||
| 23 | |||
| 24 | oe_runmake systemd-boot${SYSTEMD_BOOT_EFI_ARCH}.efi | ||
| 25 | } | ||
| 26 | |||
| 27 | do_install() { | ||
| 28 | # Bypass systemd installation with a NOP | ||
| 29 | : | ||
| 30 | } | ||
| 31 | |||
| 32 | do_deploy () { | ||
| 33 | install ${B}/systemd-boot*.efi ${DEPLOYDIR} | ||
| 34 | } | ||
| 35 | addtask deploy before do_build after do_compile | ||
