42f9d9e37b
By default hwdb files are installed in /usr/lib/udev/hwdb.d Currently they take about ~5MB. After first boot, systemd-hwdb tool parses them and creates a binary in /etc/udev/hwdb.bin, which takes another ~6.5MB. In case of initramfs images, hwdb parsing is done every boot. This adds about 2-3 seconds to boot time in case of rootfs on SDHC class 10 card (benchmarked with am335x board). NAND boot takes even longer. Add config option to disable hwdb in systemd, for smaller images and better boot performance. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
185 lines
6.0 KiB
Plaintext
185 lines
6.0 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
|
|
|
|
config BR2_PACKAGE_SYSTEMD
|
|
bool "systemd"
|
|
depends on BR2_INIT_SYSTEMD
|
|
depends on BR2_USE_WCHAR # util-linux
|
|
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_MOUNT
|
|
select BR2_PACKAGE_UTIL_LINUX_NOLOGIN
|
|
select BR2_PACKAGE_KMOD
|
|
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools
|
|
select BR2_PACKAGE_KMOD_TOOLS
|
|
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.
|
|
|
|
http://freedesktop.org/wiki/Software/systemd
|
|
|
|
if BR2_PACKAGE_SYSTEMD
|
|
|
|
config BR2_PACKAGE_PROVIDES_UDEV
|
|
default "systemd"
|
|
|
|
config BR2_PACKAGE_SYSTEMD_KDBUS
|
|
bool "enable kdbus support"
|
|
help
|
|
Enable kdbus support for 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_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_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_VCONSOLE
|
|
bool "enable vconsole tool"
|
|
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
|
|
|
|
config BR2_PACKAGE_SYSTEMD_BOOTCHART
|
|
bool "enable bootchart tool"
|
|
help
|
|
systemd-bootchart is a tool, usually run at system startup,
|
|
that collects the CPU load, disk load, memory usage, as well
|
|
as per-process information from a running system. Collected
|
|
results are output as an SVG graph.
|
|
|
|
http://www.freedesktop.org/software/systemd/man/systemd-bootchart.html
|
|
|
|
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_NETWORKD
|
|
bool "enable network manager"
|
|
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_TIMESYNCD
|
|
bool "enable SNTP client"
|
|
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_COMPAT
|
|
bool "enable compatibility libraries"
|
|
help
|
|
Since systemd 209, the following libraries have been merged into
|
|
libsystemd.so:
|
|
|
|
- libsystemd-daemon
|
|
- libsystemd-id128
|
|
- libsystemd-journal
|
|
- libsystemd-login
|
|
|
|
This option enables the installation of compatibility *.pc files.
|
|
|
|
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.
|
|
|
|
endif
|