af839d25cb
We currently have a patch that replaces the use of (hard-coded) agetty
in systemd, to use just plain getty. That patch dates back to commit
f4a5eed474
(Add the systemd package), when util-linux was not a
dependency, and we relied on busybox to actually provide getty.
But nowadays, util-linux is a mandatory dependency of systemd anyway.
agetty is about 42KiB, while busybox' getty is around 5KiB (give or
take). That's an extra ~40KiB, but it has to be balanced against the
rest of the system: systemd only runs on a glibc system, needs dbus and
thus expat, and kmod, that a ~40KiB overhead is barely noticeable (a
miminal systemd setup with nothing enabled, on ARM, is already ~20MiB)
So, drop our agetty-dropping patch, and forcibly enable agetty in
util-linux.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Adam Duskett <aduskett@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
337 lines
11 KiB
Plaintext
337 lines
11 KiB
Plaintext
config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
|
|
bool
|
|
# see src/shared/architecture.h
|
|
default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \
|
|
BR2_mipsel || BR2_powerpc || BR2_powerpc64 || \
|
|
BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \
|
|
BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 || \
|
|
BR2_aarch64 || BR2_m68k || BR2_arc
|
|
|
|
menuconfig BR2_PACKAGE_SYSTEMD
|
|
bool "systemd"
|
|
depends on BR2_INIT_SYSTEMD
|
|
depends on !BR2_STATIC_LIBS # kmod
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
|
|
depends on BR2_USE_MMU # dbus
|
|
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_LIBBLKID
|
|
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
|
|
select BR2_PACKAGE_UTIL_LINUX_BINARIES
|
|
select BR2_PACKAGE_UTIL_LINUX_AGETTY
|
|
select BR2_PACKAGE_UTIL_LINUX_MOUNT
|
|
select BR2_PACKAGE_UTIL_LINUX_NOLOGIN
|
|
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
|
|
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_JOURNAL_GATEWAY
|
|
bool "HTTP server for journal events"
|
|
select BR2_PACKAGE_LIBMICROHTTPD
|
|
help
|
|
systemd-journal-gatewayd serves journal events over the
|
|
network. Clients must connect using HTTP. The server
|
|
listens on port 19531 by default.
|
|
|
|
http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.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_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"
|
|
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_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_BZIP2
|
|
select BR2_PACKAGE_LZ4
|
|
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_POLKIT
|
|
bool "enable polkit support"
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC # polkit
|
|
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 glibc toolchain"
|
|
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
|
|
|
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_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_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_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
|