[Buildroot] [PATCH 1/2] package/systemd: add systemd-boot build option
Yann E. MORIN
yann.morin.1998 at free.fr
Wed Dec 19 17:32:51 UTC 2018
James, All,
On 2018-12-19 07:41 +0800, james.hilliard1 at gmail.com spake thusly:
> From: James Hilliard <james.hilliard1 at gmail.com>
This is starting to look nice! Thanks for the respin! :-)
So, this is supposed to replace gummiboot, for which we already do have
a package, so I'd have expected a further patch last in the series,
which would get rid of gummiboot.
See also a few comments, below...
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> ---
> package/systemd/Config.in | 21 +++++++++++++++++++++
> package/systemd/systemd.mk | 8 ++++++--
> 2 files changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index 25f322e..ff71323 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -77,6 +77,27 @@ if BR2_PACKAGE_SYSTEMD
> config BR2_PACKAGE_PROVIDES_UDEV
> default "systemd"
>
> +config BR2_PACKAGE_SYSTEMD_BOOT
> + bool "systemd-boot"
> + select BR2_PACKAGE_GNU_EFI
So, you select gnu-efi, but you did not propagate the dependencies from
it, i.e. you need to add:
# gnu-efi
depends on BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || \
BR2_aarch64_be || BR2_i386 || BR2_x86_64
However, gummi-boot is currently only available for x86 and x86_64. Was
that somehow lifted for systemd-boot?
Furthermore, there is no dependency expressed in the systemd.mk file
(see continuation [0], below...)
> + systemd-boot operates on the EFI System Partition (ESP)
> + only. Configuration file fragments, kernels, initrds, other
> + EFI images need to reside on the ESP. Linux kernels need to
> + be built with CONFIG_EFI_STUB to be able to be directly
> + executed as an EFI image.
> +
> + See the Grub2 help text for details on preparing an EFI
> + capable disk image using systemd-boot: the instructions are
> + exactly the same, except that the systemd-boot configuration
> + files will be located in /loader/ inside the EFI partition.
> +
> + https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/
> +
> config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY
> bool "HTTP server for journal events"
> select BR2_PACKAGE_LIBMICROHTTPD
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index e53f0b6..0fa3b83 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -24,8 +24,6 @@ SYSTEMD_CONF_OPTS += \
> -Dman=false \
> -Dima=false \
> -Dlibcryptsetup=false \
> - -Defi=false \
> - -Dgnu-efi=false \
> -Dldconfig=false \
> -Ddefault-dnssec=no \
> -Dtests=false \
> @@ -332,6 +330,12 @@ else
> SYSTEMD_CONF_OPTS += -Dhibernate=false
> endif
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD_BOOT),y)
[0] ... here, where you probably need something like:
SYSTEMD_DEPENDENCIES += gnu-efi
> +SYSTEMD_CONF_OPTS += -Defi=true -Dgnu-efi=true
And once you enable gnu-efi, you also unlock -Dtpm and -Dtpm-pcrindex.
Would it make sense to at least disable with -Dtpm=false ?
Regards,
Yann E. MORIN.
> +else
> +SYSTEMD_CONF_OPTS += -Defi=false -Dgnu-efi=false
> +endif
> +
> SYSTEMD_FALLBACK_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
> ifneq ($(SYSTEMD_FALLBACK_HOSTNAME),)
> SYSTEMD_CONF_OPTS += -Dfallback-hostname=$(SYSTEMD_FALLBACK_HOSTNAME)
> --
> 2.7.4
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list