initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
From e5d86ebed5624ef62342c820a5868b1075deb300 Mon Sep 17 00:00:00 2001
|
||||
From: James Hilliard <james.hilliard1@gmail.com>
|
||||
Date: Sun, 11 Jul 2021 04:39:33 -0600
|
||||
Subject: [PATCH] Add meson option to disable urlify.
|
||||
|
||||
Useful for systems that don't use a version of less with hyperlink
|
||||
support.
|
||||
|
||||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
||||
[james.hilliard1@gmail.com: backport from upstream commit
|
||||
e5d86ebed5624ef62342c820a5868b1075deb300]
|
||||
---
|
||||
meson.build | 1 +
|
||||
meson_options.txt | 2 ++
|
||||
src/shared/pretty-print.c | 4 ++++
|
||||
3 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 5735cfc7ad..a2ee15bf32 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -278,6 +278,7 @@ conf.set_quoted('USER_PRESET_DIR', userpresetdir)
|
||||
conf.set_quoted('VENDOR_KEYRING_PATH', join_paths(rootlibexecdir, 'import-pubring.gpg'))
|
||||
|
||||
conf.set('ANSI_OK_COLOR', 'ANSI_' + get_option('ok-color').underscorify().to_upper())
|
||||
+conf.set10('ENABLE_URLIFY', get_option('urlify'))
|
||||
conf.set10('ENABLE_FEXECVE', get_option('fexecve'))
|
||||
conf.set10('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default)
|
||||
conf.set('STATUS_UNIT_FORMAT_DEFAULT', 'STATUS_UNIT_FORMAT_' + status_unit_format_default.to_upper())
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 163c8df87d..b60261ac24 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -444,6 +444,8 @@ option('ok-color', type : 'combo',
|
||||
'highlight-cyan', 'highlight-white'],
|
||||
value : 'green',
|
||||
description: 'color of the "OK" status message')
|
||||
+option('urlify', type : 'boolean', value : 'true',
|
||||
+ description : 'enable pager Hyperlink ANSI sequence support')
|
||||
option('fexecve', type : 'boolean', value : 'false',
|
||||
description : 'use fexecve() to spawn children')
|
||||
|
||||
diff --git a/src/shared/pretty-print.c b/src/shared/pretty-print.c
|
||||
index 137ba77b3a..7983c0a33a 100644
|
||||
--- a/src/shared/pretty-print.c
|
||||
+++ b/src/shared/pretty-print.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "util.h"
|
||||
|
||||
bool urlify_enabled(void) {
|
||||
+#if ENABLE_URLIFY
|
||||
static int cached_urlify_enabled = -1;
|
||||
|
||||
if (cached_urlify_enabled < 0) {
|
||||
@@ -32,6 +33,9 @@ bool urlify_enabled(void) {
|
||||
}
|
||||
|
||||
return cached_urlify_enabled;
|
||||
+#else
|
||||
+ return 0;
|
||||
+#endif
|
||||
}
|
||||
|
||||
int terminal_urlify(const char *url, const char *text, char **ret) {
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Higher priority than systemd presets
|
||||
# This file is currently empty, but is available for demonstration and future use
|
||||
@@ -0,0 +1,509 @@
|
||||
config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
|
||||
bool
|
||||
# see src/basic/architecture.h
|
||||
default y if BR2_arc
|
||||
default y if BR2_aarch64 || BR2_aarch64_be
|
||||
default y if BR2_arm || BR2_armeb
|
||||
default y if BR2_i386 || BR2_x86_64
|
||||
default y if BR2_m68k
|
||||
default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
||||
default y if BR2_nios2
|
||||
default y if BR2_riscv
|
||||
default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb
|
||||
default y if BR2_sparc || BR2_sparc64
|
||||
default y if BR2_s390x
|
||||
|
||||
menuconfig BR2_PACKAGE_SYSTEMD
|
||||
bool "systemd"
|
||||
depends on BR2_INIT_SYSTEMD
|
||||
depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_STATIC_LIBS # kmod
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on BR2_TOOLCHAIN_HAS_SSP
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
||||
depends on BR2_HOST_GCC_AT_LEAST_5 # host-systemd
|
||||
select BR2_PACKAGE_HAS_UDEV
|
||||
select BR2_PACKAGE_DBUS # runtime dependency only
|
||||
select BR2_PACKAGE_LIBCAP
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBS
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
|
||||
select BR2_PACKAGE_UTIL_LINUX_AGETTY
|
||||
select BR2_PACKAGE_UTIL_LINUX_MOUNT
|
||||
select BR2_PACKAGE_UTIL_LINUX_FSCK
|
||||
select BR2_PACKAGE_KMOD
|
||||
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools
|
||||
select BR2_PACKAGE_KMOD_TOOLS
|
||||
select BR2_TARGET_TZ_INFO
|
||||
select BR2_NEEDS_HOST_UTF8_LOCALE
|
||||
select BR2_PACKAGE_HOST_SYSTEMD # for systemctl preset-all, during target-finalize
|
||||
help
|
||||
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.
|
||||
|
||||
Systemd requires a Linux kernel >= 3.0 with the following
|
||||
options enabled:
|
||||
|
||||
- CONFIG_CGROUPS
|
||||
- CONFIG_INOTIFY_USER
|
||||
- CONFIG_FHANDLE
|
||||
- CONFIG_AUTOFS4_FS
|
||||
- CONFIG_TMPFS_POSIX_ACL
|
||||
- CONFIG_TMPFS_XATTR
|
||||
|
||||
These options will be automatically enabled by Buildroot if
|
||||
it is responsible for building the kernel. Otherwise, if you
|
||||
are building your kernel outside of Buildroot, make sure
|
||||
these options are enabled.
|
||||
|
||||
Systemd also provides udev, the userspace device daemon.
|
||||
|
||||
The selection of other packages will enable some features:
|
||||
|
||||
- acl package will add support for multi-seat.
|
||||
- xz and/or l4 packages will add compression support in
|
||||
journal and coredump.
|
||||
- libcurl package will add support for systemd-journal-upload.
|
||||
- libgcrypt package will add support for journal sealing and
|
||||
DNSSEC verification in resolved.
|
||||
|
||||
Notice that systemd selects the fsck wrapper from util-linux
|
||||
but no particular fsck.<fstype> is selected. You must choose
|
||||
the apropriate ones (e.g. e2fsck, from the e2fsprogs
|
||||
package) according to the system configuration.
|
||||
|
||||
http://freedesktop.org/wiki/Software/systemd
|
||||
|
||||
if BR2_PACKAGE_SYSTEMD
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_UDEV
|
||||
default "systemd"
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_BOOT
|
||||
bool "systemd-boot"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
help
|
||||
systemd-boot is a simple UEFI boot manager which executes
|
||||
configured EFI images. The default entry is selected by a
|
||||
configured pattern (glob) or an on-screen menu.
|
||||
|
||||
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_INITRD
|
||||
bool "Services for booting from initrd"
|
||||
help
|
||||
Install various services that are only useful if systemd is
|
||||
run from an initrd.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_KERNELINSTALL
|
||||
bool "install kernel-install and related files"
|
||||
help
|
||||
kernel-install is used to install and remove kernel and
|
||||
initramfs images to and from the boot loader partition.
|
||||
The boot loader partition will usually be one of
|
||||
/boot, /efi, or /boot/efi.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_ANALYZE
|
||||
bool "systemd-analyze"
|
||||
help
|
||||
systemd-analyze may be used to determine system boot-up
|
||||
performance statistics and retrieve other state and tracing
|
||||
information from the system and service manager, and to
|
||||
verify the correctness of unit files.
|
||||
It is also used to access special functions useful for
|
||||
advanced system manager debugging.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH
|
||||
string
|
||||
default "ia32" if BR2_i386
|
||||
default "x64" if BR2_x86_64
|
||||
depends on BR2_PACKAGE_SYSTEMD_BOOT
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE
|
||||
bool "enable journal remote tools"
|
||||
select BR2_PACKAGE_LIBCURL
|
||||
select BR2_PACKAGE_LIBMICROHTTPD
|
||||
help
|
||||
journal remote functionality adds three tools:
|
||||
|
||||
systemd-journal-gatewayd serves journal events over the
|
||||
network.
|
||||
|
||||
systemd-journal-remote is a command to receive serialized
|
||||
journal events and store them to journal files.
|
||||
|
||||
systemd-journal-upload will upload journal entries to the
|
||||
URL specified with --url=.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.service.html
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_BACKLIGHT
|
||||
bool "enable backlight support"
|
||||
help
|
||||
systemd-backlight is a service that restores the display
|
||||
backlight brightness at early boot and saves it at shutdown.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_BINFMT
|
||||
bool "enable binfmt tool"
|
||||
help
|
||||
systemd-binfmt is an early boot service that registers
|
||||
additional binary formats for executables in the kernel.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-binfmt.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_COREDUMP
|
||||
bool "enable coredump hook"
|
||||
help
|
||||
systemd-coredump can be used as a helper binary by the
|
||||
kernel when a user space program receives a fatal signal and
|
||||
dumps core.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-coredump.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_PSTORE
|
||||
bool "enable pstore support"
|
||||
default y
|
||||
help
|
||||
When this features is enabled, additional tools and services
|
||||
are built to support archiving contents of the persistent
|
||||
storage filesytem.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-pstore.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_FIRSTBOOT
|
||||
bool "enable firstboot support"
|
||||
help
|
||||
systemd-firstboot initializes the most basic system settings
|
||||
interactively on the first boot.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-firstboot.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_HIBERNATE
|
||||
bool "enable hibernation support"
|
||||
select BR2_PACKAGE_SYSTEMD_INITRD
|
||||
help
|
||||
When this features is enabled, additional tools and services
|
||||
are built to support suspending and resuming the system.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-sleep.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_HOMED
|
||||
bool "enable home daemon"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # cryptsetup -> lvm2
|
||||
depends on BR2_USE_MMU # cryptsetup -> lvm2
|
||||
depends on !BR2_STATIC_LIBS # cryptsetup -> lvm2
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # fscrypt_key
|
||||
select BR2_PACKAGE_CRYPTSETUP
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
|
||||
help
|
||||
systemd-homed is a system service that may be used to create,
|
||||
remove, change or inspect home directories.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html
|
||||
|
||||
comment "homed support needs a toolchain w/ threads, dynamic library, kernel headers >= 4.12"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_HOSTNAMED
|
||||
bool "enable hostname daemon"
|
||||
default y
|
||||
help
|
||||
systemd-hostnamed is a system service that may be used as a
|
||||
mechanism to change the system's hostname.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_HWDB
|
||||
bool "enable hwdb installation"
|
||||
default y
|
||||
help
|
||||
Enables hardware database installation to /usr/lib/udev/hwdb.d
|
||||
|
||||
Disabling this option improves first boot time (or every boot
|
||||
time in case of initramfs images) and saves several MB space.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/hwdb.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_IMPORTD
|
||||
bool "enable import daemon"
|
||||
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
|
||||
select BR2_PACKAGE_LIBCURL
|
||||
select BR2_PACKAGE_LIBGCRYPT
|
||||
select BR2_PACKAGE_XZ
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
systemd-importd is a system service that manages virtual
|
||||
machine and container images for systemd-machined and
|
||||
machinectl.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_LOCALED
|
||||
bool "enable locale daemon"
|
||||
help
|
||||
systemd-localed is a system service that may be used as
|
||||
mechanism to change the system locale settings, as well as
|
||||
the console key mapping and default X11 key mapping.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-localed.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_LOGIND
|
||||
bool "enable login daemon"
|
||||
help
|
||||
systemd-logind is a system service that manages user logins.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-logind.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_MACHINED
|
||||
bool "enable machine daemon"
|
||||
help
|
||||
systemd-machined is a system service that keeps track of
|
||||
virtual machines and containers, and processes belonging to
|
||||
them.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-machined.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_MYHOSTNAME
|
||||
bool "enable myhostname NSS plugin"
|
||||
default y
|
||||
help
|
||||
nss-myhostname is a plug-in module for the GNU Name Service
|
||||
Switch (NSS) functionality of the GNU C Library (glibc),
|
||||
primarily providing hostname resolution for the locally
|
||||
configured system hostname as returned by gethostname(2).
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/nss-myhostname.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_NETWORKD
|
||||
bool "enable network manager"
|
||||
default y
|
||||
help
|
||||
systemd-networkd is a system service that manages networks.
|
||||
It detects and configures network devices as they appear, as
|
||||
well as creating virtual network devices.
|
||||
|
||||
This simple network configuration solution is an alternative
|
||||
to dhcpcd or ISC dhcp.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-networkd.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_OOMD
|
||||
bool "enable out-of-memory killer"
|
||||
help
|
||||
systemd-oomd is a system service that uses cgroups-v2 and
|
||||
pressure stall information (PSI) to monitor and take action
|
||||
on processes before an OOM occurs in kernel space.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-oomd.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_POLKIT
|
||||
bool "enable polkit support"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> c++17
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # polkit
|
||||
depends on BR2_USE_WCHAR # libglib2
|
||||
select BR2_PACKAGE_POLKIT
|
||||
help
|
||||
If enabled, systemd is built with polkit support and policy
|
||||
files for its services are generated and installed. It is
|
||||
useful for allowing unprivileged processes to speak to
|
||||
systemd's many privileged processes.
|
||||
|
||||
http://wiki.freedesktop.org/www/Software/polkit/
|
||||
|
||||
comment "polkit support needs a toolchain with threads, wchar, gcc >= 7"
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_PORTABLED
|
||||
bool "enable portable services"
|
||||
help
|
||||
Portable services are systemd services that can be dynamically
|
||||
attached and detached from the system.
|
||||
|
||||
These services must come with their own root directory which
|
||||
they are bound to through an automatically generated drop-in.
|
||||
|
||||
They also have restrictions applied by the host system in the
|
||||
form of profiles.
|
||||
|
||||
This functionality is provided by the system service
|
||||
systemd-portabled along with the corresponding CLI
|
||||
portablectl.
|
||||
|
||||
https://systemd.io/PORTABLE_SERVICES/
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_QUOTACHECK
|
||||
bool "enable quotacheck tools"
|
||||
help
|
||||
systemd-quotacheck is a service responsible for file system
|
||||
quota checks. It is run once at boot after all necessary
|
||||
file systems are mounted. It is pulled in only if at least
|
||||
one file system has quotas enabled.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_RANDOMSEED
|
||||
bool "enable random-seed support"
|
||||
help
|
||||
systemd-random-seed is a service that restores the random
|
||||
seed of the system at early boot and saves it at
|
||||
shutdown. Saving/restoring the random seed across boots
|
||||
increases the amount of available entropy early at boot.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_REPART
|
||||
bool "enable repart support"
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
|
||||
help
|
||||
systemd-repart grows and adds partitions to a partition table,
|
||||
based on the configuration files described in repart.d.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-repart.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_RESOLVED
|
||||
bool "enable resolve daemon"
|
||||
default y
|
||||
help
|
||||
systemd-resolved is a system service that provides network
|
||||
name resolution to local applications. It implements a
|
||||
caching and validating DNS/DNSSEC stub resolver, as well as
|
||||
an LLMNR resolver and responder.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-resolved.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_RFKILL
|
||||
bool "enable rfkill tools"
|
||||
help
|
||||
systemd-rfkill is a service that restores the RF kill switch
|
||||
state at early boot and saves it at shutdown.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-rfkill@.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT
|
||||
bool "enable SMACK support"
|
||||
select BR2_PACKAGE_ATTR
|
||||
select BR2_PACKAGE_SMACK
|
||||
help
|
||||
Enable support for SMACK, the Simple Mandatory Access
|
||||
Control Kernel, a minimal approach to Access Control
|
||||
implemented as a kernel LSM.
|
||||
|
||||
This feature requires a kernel >= 3.8.
|
||||
|
||||
When this feature is enabled, Systemd mounts smackfs and
|
||||
manages security labels for sockets.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_SYSEXT
|
||||
bool "enable sysext support"
|
||||
help
|
||||
systemd-sysext activates/deactivates system extension
|
||||
images.
|
||||
|
||||
System extension images may – dynamically at runtime —
|
||||
extend the /usr/ and /opt/ directory hierarchies with
|
||||
additional files.
|
||||
|
||||
This is particularly useful on immutable system images where
|
||||
a /usr/ and/or /opt/ hierarchy residing on a read-only file
|
||||
system shall be extended temporarily at runtime without
|
||||
making any persistent modifications.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-sysext.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_SYSUSERS
|
||||
bool "enable sysusers support"
|
||||
help
|
||||
systemd-sysusers creates system users and groups, based on
|
||||
the file format and location specified in sysusers.d(5).
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-sysusers.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_TIMEDATED
|
||||
bool "enable timedate daemon"
|
||||
default y
|
||||
help
|
||||
systemd-timedated is a system service that may be used as a
|
||||
mechanism to change the system clock and timezone, as well
|
||||
as to enable/disable NTP time synchronization.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_TIMESYNCD
|
||||
bool "enable timesync daemon"
|
||||
default y
|
||||
help
|
||||
systemd-timesyncd is a service that may be used to
|
||||
synchronize the local system clock with a Network Time
|
||||
Protocol server.
|
||||
|
||||
This simple NTP solution is an alternative to sntp/ntpd from
|
||||
the ntp package.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_TMPFILES
|
||||
bool "enable tmpfiles support"
|
||||
default y
|
||||
help
|
||||
systemd-tmpfiles creates, deletes, and cleans up volatile
|
||||
and temporary files and directories, based on the
|
||||
configuration file format and location specified in
|
||||
tmpfiles.d(5).
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_USERDB
|
||||
bool "enable userdb daemon"
|
||||
help
|
||||
systemd-userdbd is a system service that multiplexes
|
||||
user/group lookups to all local services that provide JSON
|
||||
user/group record definitions to the system. In addition it
|
||||
synthesizes JSON user/group records from classic UNIX/glibc
|
||||
NSS user/group records in order to provide full backwards
|
||||
compatibility.
|
||||
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-userdbd.service.html
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_VCONSOLE
|
||||
bool "enable vconsole tool"
|
||||
default y
|
||||
help
|
||||
systemd-vconsole-setup is an early boot service that
|
||||
configures the virtual console font and console keymap.
|
||||
|
||||
http://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,4 @@
|
||||
# Select this if you need host systemd tools (e.g. systemctl)
|
||||
config BR2_PACKAGE_HOST_SYSTEMD
|
||||
bool
|
||||
depends on BR2_HOST_GCC_AT_LEAST_5
|
||||
@@ -0,0 +1,3 @@
|
||||
title Buildroot
|
||||
linux /bzImage
|
||||
options root=/dev/sda2 rootwait console=tty1
|
||||
@@ -0,0 +1,2 @@
|
||||
timeout 3
|
||||
default buildroot
|
||||
@@ -0,0 +1,4 @@
|
||||
[Match]
|
||||
Name=SYSTEMD_NETWORKD_DHCP_IFACE
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
@@ -0,0 +1,6 @@
|
||||
# sha256 locally computed
|
||||
sha256 773ee546ad6df0921ea6f9e12294eb102bf68c1ac9eb3dcaca1764f8306d6e13 systemd-249.5.tar.gz
|
||||
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1
|
||||
sha256 f5645b4b846479859d6618fa7a5a1722681aa7fc43c1e45f8bf8e1fe5738d618 README
|
||||
sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 tools/chromiumos/LICENSE
|
||||
@@ -0,0 +1,765 @@
|
||||
################################################################################
|
||||
#
|
||||
# systemd
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SYSTEMD_VERSION = 249.5
|
||||
SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
|
||||
SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README), BSD-3-Clause (tools/chromiumos)
|
||||
SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README tools/chromiumos/LICENSE
|
||||
SYSTEMD_CPE_ID_VENDOR = freedesktop
|
||||
SYSTEMD_INSTALL_STAGING = YES
|
||||
SYSTEMD_DEPENDENCIES = \
|
||||
$(BR2_COREUTILS_HOST_DEPENDENCY) \
|
||||
$(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \
|
||||
host-gperf \
|
||||
host-python3-jinja2 \
|
||||
kmod \
|
||||
libcap \
|
||||
util-linux-libs \
|
||||
$(TARGET_NLS_DEPENDENCIES)
|
||||
|
||||
SYSTEMD_SELINUX_MODULES = systemd udev xdg
|
||||
|
||||
SYSTEMD_PROVIDES = udev
|
||||
|
||||
SYSTEMD_CONF_OPTS += \
|
||||
-Ddefault-hierarchy=hybrid \
|
||||
-Didn=true \
|
||||
-Dima=false \
|
||||
-Dkexec-path=/usr/sbin/kexec \
|
||||
-Dkmod-path=/usr/bin/kmod \
|
||||
-Dldconfig=false \
|
||||
-Dloadkeys-path=/usr/bin/loadkeys \
|
||||
-Dman=false \
|
||||
-Dmount-path=/usr/bin/mount \
|
||||
-Dmode=release \
|
||||
-Dnss-systemd=true \
|
||||
-Dquotacheck-path=/usr/sbin/quotacheck \
|
||||
-Dquotaon-path=/usr/sbin/quotaon \
|
||||
-Drootlibdir='/usr/lib' \
|
||||
-Dsetfont-path=/usr/bin/setfont \
|
||||
-Dsplit-bin=true \
|
||||
-Dsplit-usr=false \
|
||||
-Dsulogin-path=/usr/sbin/sulogin \
|
||||
-Dsystem-gid-max=999 \
|
||||
-Dsystem-uid-max=999 \
|
||||
-Dsysvinit-path= \
|
||||
-Dsysvrcnd-path= \
|
||||
-Dtelinit-path= \
|
||||
-Dtests=false \
|
||||
-Dumount-path=/usr/bin/umount \
|
||||
-Dutmp=false
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ACL),y)
|
||||
SYSTEMD_DEPENDENCIES += acl
|
||||
SYSTEMD_CONF_OPTS += -Dacl=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dacl=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LESS),y)
|
||||
SYSTEMD_CONF_OPTS += -Durlify=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Durlify=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y)
|
||||
SYSTEMD_DEPENDENCIES += libapparmor
|
||||
SYSTEMD_CONF_OPTS += -Dapparmor=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dapparmor=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AUDIT),y)
|
||||
SYSTEMD_DEPENDENCIES += audit
|
||||
SYSTEMD_CONF_OPTS += -Daudit=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Daudit=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_CRYPTSETUP),y)
|
||||
SYSTEMD_DEPENDENCIES += cryptsetup
|
||||
SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ELFUTILS),y)
|
||||
SYSTEMD_DEPENDENCIES += elfutils
|
||||
SYSTEMD_CONF_OPTS += -Delfutils=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Delfutils=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
||||
SYSTEMD_DEPENDENCIES += gnutls
|
||||
SYSTEMD_CONF_OPTS += -Dgnutls=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dgnutls=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IPTABLES),y)
|
||||
SYSTEMD_DEPENDENCIES += iptables
|
||||
SYSTEMD_CONF_OPTS += -Dlibiptc=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlibiptc=false
|
||||
endif
|
||||
|
||||
# Both options can't be selected at the same time so prefer libidn2
|
||||
ifeq ($(BR2_PACKAGE_LIBIDN2),y)
|
||||
SYSTEMD_DEPENDENCIES += libidn2
|
||||
SYSTEMD_CONF_OPTS += -Dlibidn2=true -Dlibidn=false
|
||||
else ifeq ($(BR2_PACKAGE_LIBIDN),y)
|
||||
SYSTEMD_DEPENDENCIES += libidn
|
||||
SYSTEMD_CONF_OPTS += -Dlibidn=true -Dlibidn2=false
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlibidn=false -Dlibidn2=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
|
||||
SYSTEMD_DEPENDENCIES += libseccomp
|
||||
SYSTEMD_CONF_OPTS += -Dseccomp=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dseccomp=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y)
|
||||
SYSTEMD_DEPENDENCIES += libxkbcommon
|
||||
SYSTEMD_CONF_OPTS += -Dxkbcommon=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dxkbcommon=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BZIP2),y)
|
||||
SYSTEMD_DEPENDENCIES += bzip2
|
||||
SYSTEMD_CONF_OPTS += -Dbzip2=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dbzip2=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZSTD),y)
|
||||
SYSTEMD_DEPENDENCIES += zstd
|
||||
SYSTEMD_CONF_OPTS += -Dzstd=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dzstd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LZ4),y)
|
||||
SYSTEMD_DEPENDENCIES += lz4
|
||||
SYSTEMD_CONF_OPTS += -Dlz4=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlz4=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
|
||||
SYSTEMD_DEPENDENCIES += linux-pam
|
||||
SYSTEMD_CONF_OPTS += -Dpam=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dpam=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),y)
|
||||
SYSTEMD_CONF_OPTS += -Dfdisk=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dfdisk=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_VALGRIND),y)
|
||||
SYSTEMD_DEPENDENCIES += valgrind
|
||||
SYSTEMD_CONF_OPTS += -Dvalgrind=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dvalgrind=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_XZ),y)
|
||||
SYSTEMD_DEPENDENCIES += xz
|
||||
SYSTEMD_CONF_OPTS += -Dxz=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dxz=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
SYSTEMD_DEPENDENCIES += zlib
|
||||
SYSTEMD_CONF_OPTS += -Dzlib=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dzlib=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBCURL),y)
|
||||
SYSTEMD_DEPENDENCIES += libcurl
|
||||
SYSTEMD_CONF_OPTS += -Dlibcurl=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlibcurl=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
|
||||
SYSTEMD_DEPENDENCIES += libgcrypt
|
||||
SYSTEMD_CONF_OPTS += -Ddefault-dnssec=allow-downgrade -Dgcrypt=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Ddefault-dnssec=no -Dgcrypt=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_P11_KIT),y)
|
||||
SYSTEMD_DEPENDENCIES += p11-kit
|
||||
SYSTEMD_CONF_OPTS += -Dp11kit=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dp11kit=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
SYSTEMD_DEPENDENCIES += openssl
|
||||
SYSTEMD_CONF_OPTS += -Dopenssl=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dopenssl=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PCRE2),y)
|
||||
SYSTEMD_DEPENDENCIES += pcre2
|
||||
SYSTEMD_CONF_OPTS += -Dpcre2=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dpcre2=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
|
||||
SYSTEMD_CONF_OPTS += -Dblkid=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dblkid=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_NOLOGIN),y)
|
||||
SYSTEMD_CONF_OPTS += -Dnologin-path=/sbin/nologin
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dnologin-path=/bin/false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_INITRD),y)
|
||||
SYSTEMD_CONF_OPTS += -Dinitrd=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dinitrd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_KERNELINSTALL),y)
|
||||
SYSTEMD_CONF_OPTS += -Dkernel-install=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dkernel-install=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_ANALYZE),y)
|
||||
SYSTEMD_CONF_OPTS += -Danalyze=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Danalyze=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE),y)
|
||||
# remote also depends on libcurl, this is already added above.
|
||||
SYSTEMD_DEPENDENCIES += libmicrohttpd
|
||||
SYSTEMD_CONF_OPTS += -Dremote=true -Dmicrohttpd=true
|
||||
SYSTEMD_REMOTE_USER = systemd-journal-remote -1 systemd-journal-remote -1 * - - - systemd Journal Remote
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dremote=false -Dmicrohttpd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBQRENCODE),y)
|
||||
SYSTEMD_DEPENDENCIES += libqrencode
|
||||
SYSTEMD_CONF_OPTS += -Dqrencode=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dqrencode=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
|
||||
SYSTEMD_DEPENDENCIES += libselinux
|
||||
SYSTEMD_CONF_OPTS += -Dselinux=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dselinux=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
|
||||
SYSTEMD_CONF_OPTS += -Dhwdb=true
|
||||
define SYSTEMD_BUILD_HWDB
|
||||
$(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
|
||||
endef
|
||||
SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_BUILD_HWDB
|
||||
define SYSTEMD_RM_HWDB_SRV
|
||||
rm -rf $(TARGET_DIR)/$(HOST_EUDEV_SYSCONFDIR)/udev/hwdb.d/
|
||||
endef
|
||||
SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_RM_HWDB_SRV
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dhwdb=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_BINFMT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dbinfmt=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dbinfmt=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_VCONSOLE),y)
|
||||
SYSTEMD_CONF_OPTS += -Dvconsole=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dvconsole=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_QUOTACHECK),y)
|
||||
SYSTEMD_CONF_OPTS += -Dquotacheck=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dquotacheck=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_TMPFILES),y)
|
||||
SYSTEMD_CONF_OPTS += -Dtmpfiles=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dtmpfiles=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y)
|
||||
SYSTEMD_CONF_OPTS += -Dsysusers=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dsysusers=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_FIRSTBOOT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dfirstboot=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dfirstboot=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_RANDOMSEED),y)
|
||||
SYSTEMD_CONF_OPTS += -Drandomseed=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Drandomseed=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_BACKLIGHT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dbacklight=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dbacklight=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_RFKILL),y)
|
||||
SYSTEMD_CONF_OPTS += -Drfkill=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Drfkill=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_LOGIND),y)
|
||||
SYSTEMD_CONF_OPTS += -Dlogind=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlogind=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_MACHINED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dmachined=true -Dnss-mymachines=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dmachined=false -Dnss-mymachines=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_IMPORTD),y)
|
||||
SYSTEMD_CONF_OPTS += -Dimportd=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dimportd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_HOMED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dhomed=true
|
||||
SYSTEMD_DEPENDENCIES += cryptsetup openssl
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dhomed=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_HOSTNAMED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dhostnamed=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dhostnamed=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_MYHOSTNAME),y)
|
||||
SYSTEMD_CONF_OPTS += -Dnss-myhostname=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dnss-myhostname=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_TIMEDATED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dtimedated=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dtimedated=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_LOCALED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dlocaled=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dlocaled=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_REPART),y)
|
||||
SYSTEMD_CONF_OPTS += -Drepart=true
|
||||
SYSTEMD_DEPENDENCIES += openssl
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Drepart=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_USERDB),y)
|
||||
SYSTEMD_CONF_OPTS += -Duserdb=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Duserdb=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_COREDUMP),y)
|
||||
SYSTEMD_CONF_OPTS += -Dcoredump=true
|
||||
SYSTEMD_COREDUMP_USER = systemd-coredump -1 systemd-coredump -1 * - - - systemd core dump processing
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dcoredump=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_PSTORE),y)
|
||||
SYSTEMD_CONF_OPTS += -Dpstore=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dpstore=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_OOMD),y)
|
||||
SYSTEMD_CONF_OPTS += -Doomd=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Doomd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_POLKIT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dpolkit=true
|
||||
SYSTEMD_DEPENDENCIES += polkit
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dpolkit=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_PORTABLED),y)
|
||||
SYSTEMD_CONF_OPTS += -Dportabled=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dportabled=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_SYSEXT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dsysext=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dsysext=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
|
||||
SYSTEMD_CONF_OPTS += -Dnetworkd=true
|
||||
SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management
|
||||
SYSTEMD_NETWORKD_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
|
||||
ifneq ($(SYSTEMD_NETWORKD_DHCP_IFACE),)
|
||||
define SYSTEMD_INSTALL_NETWORK_CONFS
|
||||
sed s/SYSTEMD_NETWORKD_DHCP_IFACE/$(SYSTEMD_NETWORKD_DHCP_IFACE)/ \
|
||||
$(SYSTEMD_PKGDIR)/dhcp.network > \
|
||||
$(TARGET_DIR)/etc/systemd/network/$(SYSTEMD_NETWORKD_DHCP_IFACE).network
|
||||
endef
|
||||
endif
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dnetworkd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y)
|
||||
define SYSTEMD_INSTALL_RESOLVCONF_HOOK
|
||||
ln -sf ../run/systemd/resolve/resolv.conf \
|
||||
$(TARGET_DIR)/etc/resolv.conf
|
||||
endef
|
||||
SYSTEMD_CONF_OPTS += -Dnss-resolve=true -Dresolve=true
|
||||
SYSTEMD_RESOLVED_USER = systemd-resolve -1 systemd-resolve -1 * - - - systemd Resolver
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dnss-resolve=false -Dresolve=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
||||
SYSTEMD_CONF_OPTS += -Ddns-over-tls=gnutls -Ddefault-dns-over-tls=opportunistic
|
||||
SYSTEMD_DEPENDENCIES += gnutls
|
||||
else ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
SYSTEMD_CONF_OPTS += -Ddns-over-tls=openssl -Ddefault-dns-over-tls=opportunistic
|
||||
SYSTEMD_DEPENDENCIES += openssl
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Ddns-over-tls=false -Ddefault-dns-over-tls=no
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_TIMESYNCD),y)
|
||||
SYSTEMD_CONF_OPTS += -Dtimesyncd=true
|
||||
SYSTEMD_TIMESYNCD_USER = systemd-timesync -1 systemd-timesync -1 * - - - systemd Time Synchronization
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dtimesyncd=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT),y)
|
||||
SYSTEMD_CONF_OPTS += -Dsmack=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dsmack=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_HIBERNATE),y)
|
||||
SYSTEMD_CONF_OPTS += -Dhibernate=true
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Dhibernate=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_BOOT),y)
|
||||
SYSTEMD_INSTALL_IMAGES = YES
|
||||
SYSTEMD_DEPENDENCIES += gnu-efi
|
||||
SYSTEMD_CONF_OPTS += \
|
||||
-Defi=true \
|
||||
-Dgnu-efi=true \
|
||||
-Defi-cc=$(TARGET_CC) \
|
||||
-Defi-ld=$(TARGET_LD) \
|
||||
-Defi-libdir=$(STAGING_DIR)/usr/lib \
|
||||
-Defi-includedir=$(STAGING_DIR)/usr/include/efi
|
||||
|
||||
SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH))
|
||||
define SYSTEMD_INSTALL_BOOT_FILES
|
||||
$(INSTALL) -D -m 0644 $(@D)/build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
|
||||
$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(SYSTEMD_BOOT_EFI_ARCH).efi
|
||||
$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/loader.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/loader.conf
|
||||
$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/buildroot.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf
|
||||
endef
|
||||
|
||||
else
|
||||
SYSTEMD_CONF_OPTS += -Defi=false -Dgnu-efi=false
|
||||
endif # BR2_PACKAGE_SYSTEMD_BOOT == y
|
||||
|
||||
SYSTEMD_FALLBACK_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
|
||||
ifneq ($(SYSTEMD_FALLBACK_HOSTNAME),)
|
||||
SYSTEMD_CONF_OPTS += -Dfallback-hostname=$(SYSTEMD_FALLBACK_HOSTNAME)
|
||||
endif
|
||||
|
||||
define SYSTEMD_INSTALL_INIT_HOOK
|
||||
ln -fs multi-user.target \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/default.target
|
||||
endef
|
||||
|
||||
define SYSTEMD_INSTALL_MACHINEID_HOOK
|
||||
touch $(TARGET_DIR)/etc/machine-id
|
||||
endef
|
||||
|
||||
SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
|
||||
SYSTEMD_INSTALL_INIT_HOOK \
|
||||
SYSTEMD_INSTALL_MACHINEID_HOOK
|
||||
|
||||
define SYSTEMD_INSTALL_IMAGES_CMDS
|
||||
$(SYSTEMD_INSTALL_BOOT_FILES)
|
||||
endef
|
||||
|
||||
define SYSTEMD_USERS
|
||||
# udev user groups
|
||||
# systemd user groups
|
||||
- - systemd-journal -1 * - - - Journal
|
||||
$(SYSTEMD_REMOTE_USER)
|
||||
$(SYSTEMD_COREDUMP_USER)
|
||||
$(SYSTEMD_NETWORKD_USER)
|
||||
$(SYSTEMD_RESOLVED_USER)
|
||||
$(SYSTEMD_TIMESYNCD_USER)
|
||||
endef
|
||||
|
||||
define SYSTEMD_INSTALL_NSSCONFIG_HOOK
|
||||
$(SED) '/^passwd:/ {/systemd/! s/$$/ systemd/}' \
|
||||
-e '/^group:/ {/systemd/! s/$$/ [SUCCESS=merge] systemd/}' \
|
||||
-e '/^shadow:/ {/systemd/! s/$$/ systemd/}' \
|
||||
-e '/^gshadow:/ {/systemd/! s/$$/ systemd/}' \
|
||||
$(if $(BR2_PACKAGE_SYSTEMD_RESOLVED), \
|
||||
-e '/^hosts:/ s/[[:space:]]*mymachines//' \
|
||||
-e '/^hosts:/ {/resolve/! s/files/files resolve [!UNAVAIL=return]/}' ) \
|
||||
$(if $(BR2_PACKAGE_SYSTEMD_MYHOSTNAME), \
|
||||
-e '/^hosts:/ {/myhostname/! s/$$/ myhostname/}' ) \
|
||||
$(if $(BR2_PACKAGE_SYSTEMD_MACHINED), \
|
||||
-e '/^passwd:/ {/mymachines/! s/files/files mymachines/}' \
|
||||
-e '/^group:/ {/mymachines/! s/files/files [SUCCESS=merge] mymachines/}' \
|
||||
-e '/^hosts:/ {/mymachines/! s/files/files mymachines/}' ) \
|
||||
$(TARGET_DIR)/etc/nsswitch.conf
|
||||
endef
|
||||
|
||||
SYSTEMD_TARGET_FINALIZE_HOOKS += \
|
||||
SYSTEMD_INSTALL_NSSCONFIG_HOOK \
|
||||
SYSTEMD_INSTALL_RESOLVCONF_HOOK
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
|
||||
# systemd provides multiple units to autospawn getty as neede
|
||||
# * getty@.service to start a getty on normal TTY
|
||||
# * sertial-getty@.service to start a getty on serial lines
|
||||
# * console-getty.service for generic /dev/console
|
||||
# * container-getty@.service for a getty on /dev/pts/*
|
||||
#
|
||||
# the generator systemd-getty-generator will
|
||||
# * read the console= kernel command line parameter
|
||||
# * enable one of the above units depending on what it finds
|
||||
#
|
||||
# Systemd defaults to enablinb getty@tty1.service
|
||||
#
|
||||
# What we want to do
|
||||
# * Enable a getty on $BR2_TARGET_GENERIC_TTY_PATH
|
||||
# * Set the baudrate for all units according to BR2_TARGET_GENERIC_GETTY_BAUDRATE
|
||||
# * Always enable a getty on the console using systemd-getty-generator
|
||||
# (backward compatibility with previous releases of buildroot)
|
||||
#
|
||||
# What we do
|
||||
# * disable getty@tty1 (enabled by upstream systemd)
|
||||
# * enable getty@xxx if $BR2_TARGET_GENERIC_TTY_PATH is a tty
|
||||
# * enable serial-getty@xxx for other $BR2_TARGET_GENERIC_TTY_PATH
|
||||
# * rewrite baudrates if a baudrate is provided
|
||||
define SYSTEMD_INSTALL_SERVICE_TTY
|
||||
mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d; \
|
||||
printf '[Install]\nDefaultInstance=\n' \
|
||||
>$(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d/buildroot-console.conf; \
|
||||
if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \
|
||||
then \
|
||||
: ; \
|
||||
elif echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \
|
||||
then \
|
||||
printf '[Install]\nDefaultInstance=%s\n' \
|
||||
$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) \
|
||||
>$(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d/buildroot-console.conf; \
|
||||
else \
|
||||
mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/serial-getty@.service.d;\
|
||||
printf '[Install]\nDefaultInstance=%s\n' \
|
||||
$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) \
|
||||
>$(TARGET_DIR)/usr/lib/systemd/system/serial-getty@.service.d/buildroot-console.conf;\
|
||||
fi; \
|
||||
if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \
|
||||
then \
|
||||
$(SED) 's/115200/$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),115200/' $(TARGET_DIR)/lib/systemd/system/getty@.service; \
|
||||
$(SED) 's/115200/$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),115200/' $(TARGET_DIR)/lib/systemd/system/serial-getty@.service; \
|
||||
$(SED) 's/115200/$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),115200/' $(TARGET_DIR)/lib/systemd/system/console-getty@.service; \
|
||||
$(SED) 's/115200/$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),115200/' $(TARGET_DIR)/lib/systemd/system/container-getty@.service; \
|
||||
fi
|
||||
endef
|
||||
endif
|
||||
|
||||
define SYSTEMD_INSTALL_PRESET
|
||||
$(INSTALL) -D -m 644 $(SYSTEMD_PKGDIR)/80-buildroot.preset $(TARGET_DIR)/usr/lib/systemd/system-preset/80-buildroot.preset
|
||||
endef
|
||||
|
||||
define SYSTEMD_INSTALL_INIT_SYSTEMD
|
||||
$(SYSTEMD_INSTALL_PRESET)
|
||||
$(SYSTEMD_INSTALL_SERVICE_TTY)
|
||||
$(SYSTEMD_INSTALL_NETWORK_CONFS)
|
||||
endef
|
||||
|
||||
define SYSTEMD_PRESET_ALL
|
||||
$(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset-all
|
||||
endef
|
||||
SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_PRESET_ALL
|
||||
|
||||
SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
|
||||
SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
|
||||
|
||||
define SYSTEMD_LINUX_CONFIG_FIXUPS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_EPOLL)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SIGNALFD)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_TIMERFD)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_PROC_FS)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SYSFS)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_XATTR)
|
||||
endef
|
||||
|
||||
# We need a very minimal host variant, so we disable as much as possible.
|
||||
HOST_SYSTEMD_CONF_OPTS = \
|
||||
-Dsplit-bin=true \
|
||||
-Dsplit-usr=false \
|
||||
--prefix=/usr \
|
||||
--libdir=lib \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
-Dmode=release \
|
||||
-Dutmp=false \
|
||||
-Dhibernate=false \
|
||||
-Dldconfig=false \
|
||||
-Dresolve=false \
|
||||
-Defi=false \
|
||||
-Dtpm=false \
|
||||
-Denvironment-d=false \
|
||||
-Dbinfmt=false \
|
||||
-Drepart=false \
|
||||
-Dcoredump=false \
|
||||
-Dpstore=false \
|
||||
-Doomd=false \
|
||||
-Dlogind=false \
|
||||
-Dhostnamed=false \
|
||||
-Dlocaled=false \
|
||||
-Dmachined=false \
|
||||
-Dportabled=false \
|
||||
-Dsysext=false \
|
||||
-Duserdb=false \
|
||||
-Dhomed=false \
|
||||
-Dnetworkd=false \
|
||||
-Dtimedated=false \
|
||||
-Dtimesyncd=false \
|
||||
-Dremote=false \
|
||||
-Dcreate-log-dirs=false \
|
||||
-Dnss-myhostname=false \
|
||||
-Dnss-mymachines=false \
|
||||
-Dnss-resolve=false \
|
||||
-Dnss-systemd=false \
|
||||
-Dfirstboot=false \
|
||||
-Drandomseed=false \
|
||||
-Dbacklight=false \
|
||||
-Dvconsole=false \
|
||||
-Dquotacheck=false \
|
||||
-Dsysusers=false \
|
||||
-Dtmpfiles=false \
|
||||
-Dimportd=false \
|
||||
-Dhwdb=false \
|
||||
-Drfkill=false \
|
||||
-Dman=false \
|
||||
-Dhtml=false \
|
||||
-Dsmack=false \
|
||||
-Dpolkit=false \
|
||||
-Dblkid=false \
|
||||
-Didn=false \
|
||||
-Dadm-group=false \
|
||||
-Dwheel-group=false \
|
||||
-Dzlib=false \
|
||||
-Dgshadow=false \
|
||||
-Dima=false \
|
||||
-Dtests=false \
|
||||
-Dglib=false \
|
||||
-Dacl=false \
|
||||
-Dsysvinit-path='' \
|
||||
-Dinitrd=false \
|
||||
-Dxdg-autostart=false \
|
||||
-Dkernel-install=false \
|
||||
-Danalyze=false \
|
||||
-Dlibcryptsetup=false \
|
||||
-Daudit=false \
|
||||
-Dzstd=false
|
||||
|
||||
HOST_SYSTEMD_DEPENDENCIES = \
|
||||
$(BR2_COREUTILS_HOST_DEPENDENCY) \
|
||||
host-util-linux \
|
||||
host-patchelf \
|
||||
host-libcap \
|
||||
host-gperf \
|
||||
host-python3-jinja2
|
||||
|
||||
HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
|
||||
|
||||
# Fix RPATH After installation
|
||||
# * systemd provides a install_rpath instruction to meson because the binaries
|
||||
# need to link with libsystemd which is not in a standard path
|
||||
# * meson can only replace the RPATH, not append to it
|
||||
# * the original rpath is thus lost.
|
||||
# * the original path had been tweaked by buildroot via LDFLAGS to add
|
||||
# $(HOST_DIR)/lib
|
||||
# * thus re-tweak rpath after the installation for all binaries that need it
|
||||
HOST_SYSTEMD_HOST_TOOLS = busctl journalctl systemctl systemd-* udevadm
|
||||
|
||||
define HOST_SYSTEMD_FIX_RPATH
|
||||
for f in $(addprefix $(HOST_DIR)/bin/,$(HOST_SYSTEMD_HOST_TOOLS)); do \
|
||||
[ -e $$f ] || continue; \
|
||||
$(HOST_DIR)/bin/patchelf --set-rpath $(HOST_DIR)/lib:$(HOST_DIR)/lib/systemd $${f} \
|
||||
|| exit 1; \
|
||||
done
|
||||
endef
|
||||
HOST_SYSTEMD_POST_INSTALL_HOOKS += HOST_SYSTEMD_FIX_RPATH
|
||||
|
||||
$(eval $(meson-package))
|
||||
$(eval $(host-meson-package))
|
||||
Reference in New Issue
Block a user