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-core/systemd/systemd.inc | 25 +++++++++++++++++++++++++ meta/recipes-core/systemd/systemd_229.bb | 26 ++------------------------ 2 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd.inc (limited to 'meta/recipes-core') diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc new file mode 100644 index 0000000000..824713057d --- /dev/null +++ b/meta/recipes-core/systemd/systemd.inc @@ -0,0 +1,25 @@ +SUMMARY = "A System and service manager" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" + +DESCRIPTION = "systemd is a system and service manager for Linux, compatible with \ +SysV and LSB init scripts. systemd provides aggressive parallelization \ +capabilities, uses socket and D-Bus activation for starting services, \ +offers on-demand starting of daemons, keeps track of processes using \ +Linux cgroups, supports snapshotting and restoring of the system \ +state, maintains mount and automount points and implements an \ +elaborate transactional dependency-based service control logic. It can \ +work as a drop-in replacement for sysvinit." + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ + file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" + +SRCREV = "714c62b46379abb7558c544665522aca91691e10" + +SRC_URI = "git://github.com/systemd/systemd.git;protocol=git" + +PV = "229+git${SRCPV}" + +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp " diff --git a/meta/recipes-core/systemd/systemd_229.bb b/meta/recipes-core/systemd/systemd_229.bb index ae63c58056..c2cc06991b 100644 --- a/meta/recipes-core/systemd/systemd_229.bb +++ b/meta/recipes-core/systemd/systemd_229.bb @@ -1,18 +1,4 @@ -SUMMARY = "A System and service manager" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" - -DESCRIPTION = "systemd is a system and service manager for Linux, compatible with \ -SysV and LSB init scripts. systemd provides aggressive parallelization \ -capabilities, uses socket and D-Bus activation for starting services, \ -offers on-demand starting of daemons, keeps track of processes using \ -Linux cgroups, supports snapshotting and restoring of the system \ -state, maintains mount and automount points and implements an \ -elaborate transactional dependency-based service control logic. It can \ -work as a drop-in replacement for sysvinit." - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ - file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" +require systemd.inc PROVIDES = "udev" @@ -24,11 +10,7 @@ SECTION = "base/shell" inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext bash-completion -SRCREV = "714c62b46379abb7558c544665522aca91691e10" - -PV = "229+git${SRCPV}" - -SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \ +SRC_URI += " \ file://touchscreen.rules \ file://00-create-volatile.conf \ file://init \ @@ -61,10 +43,6 @@ SRC_URI_append_libc-uclibc = "\ " SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" -S = "${WORKDIR}/git" - -LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp " - GTKDOC_DOCDIR = "${S}/docs/" PACKAGECONFIG ??= "xz \ -- cgit 1.2.3-korg