1config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS 2 bool 3 # see src/basic/architecture.h 4 default y if BR2_arc 5 default y if BR2_aarch64 || BR2_aarch64_be 6 default y if BR2_arm || BR2_armeb 7 default y if BR2_i386 || BR2_x86_64 8 default y if BR2_m68k 9 default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el 10 default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le 11 default y if BR2_nios2 12 default y if BR2_riscv 13 default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb 14 default y if BR2_sparc || BR2_sparc64 15 default y if BR2_s390x 16 17menuconfig BR2_PACKAGE_SYSTEMD 18 bool "systemd" 19 depends on BR2_INIT_SYSTEMD 20 depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS 21 depends on BR2_USE_MMU 22 depends on !BR2_STATIC_LIBS # kmod 23 depends on BR2_TOOLCHAIN_USES_GLIBC 24 depends on BR2_TOOLCHAIN_HAS_SSP 25 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 26 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 27 depends on BR2_HOST_GCC_AT_LEAST_5 # host-systemd 28 select BR2_PACKAGE_HAS_UDEV 29 select BR2_PACKAGE_DBUS # runtime dependency only 30 select BR2_PACKAGE_LIBCAP 31 select BR2_PACKAGE_UTIL_LINUX 32 select BR2_PACKAGE_UTIL_LINUX_LIBS 33 select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT 34 select BR2_PACKAGE_UTIL_LINUX_AGETTY 35 select BR2_PACKAGE_UTIL_LINUX_MOUNT 36 select BR2_PACKAGE_UTIL_LINUX_FSCK 37 select BR2_PACKAGE_KMOD 38 select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools 39 select BR2_PACKAGE_KMOD_TOOLS 40 select BR2_TARGET_TZ_INFO 41 select BR2_NEEDS_HOST_UTF8_LOCALE 42 select BR2_PACKAGE_HOST_SYSTEMD # for systemctl preset-all, during target-finalize 43 help 44 systemd is a system and service manager for Linux, 45 compatible with SysV and LSB init scripts. systemd provides 46 aggressive parallelization capabilities, uses socket and 47 D-Bus activation for starting services, offers on-demand 48 starting of daemons, keeps track of processes using Linux 49 cgroups, supports snapshotting and restoring of the system 50 state, maintains mount and automount points and implements 51 an elaborate transactional dependency-based service control 52 logic. It can work as a drop-in replacement for sysvinit. 53 54 Systemd requires a Linux kernel >= 3.13 with the following 55 options enabled: 56 57 - CONFIG_DEVTMPFS 58 - CONFIG_CGROUPS (it is OK to disable all controllers) 59 - CONFIG_INOTIFY_USER 60 - CONFIG_SIGNALFD 61 - CONFIG_TIMERFD 62 - CONFIG_EPOLL 63 - CONFIG_UNIX (it requires CONFIG_NET, but every other flag in 64 it is not necessary) 65 - CONFIG_SYSFS 66 - CONFIG_PROC_FS 67 - CONFIG_FHANDLE (libudev, mount and bind mount handling) 68 69 - CONFIG_NET_NS (needed by PrivateNetwork=, used in some 70 systemd units) 71 72 - CONFIG_AUTOFS_FS / CONFIG_AUTOFS4_FS 73 - CONFIG_TMPFS_POSIX_ACL 74 - CONFIG_TMPFS_XATTR 75 76 These options will be automatically enabled by Buildroot if 77 it is responsible for building the kernel. Otherwise, if you 78 are building your kernel outside of Buildroot, make sure 79 these options are enabled. 80 81 Systemd also provides udev, the userspace device daemon. 82 83 The selection of other packages will enable some features: 84 85 - acl package will add support for multi-seat. 86 - xz and/or l4 packages will add compression support in 87 journal and coredump. 88 - libcurl package will add support for systemd-journal-upload. 89 - libgcrypt package will add support for journal sealing and 90 DNSSEC verification in resolved. 91 92 Notice that systemd selects the fsck wrapper from util-linux 93 but no particular fsck.<fstype> is selected. You must choose 94 the apropriate ones (e.g. e2fsck, from the e2fsprogs 95 package) according to the system configuration. 96 97 http://freedesktop.org/wiki/Software/systemd 98 99if BR2_PACKAGE_SYSTEMD 100 101config BR2_PACKAGE_PROVIDES_UDEV 102 default "systemd" 103 104config BR2_PACKAGE_SYSTEMD_BOOT 105 bool "systemd-boot" 106 depends on BR2_i386 || BR2_x86_64 107 select BR2_PACKAGE_GNU_EFI 108 help 109 systemd-boot is a simple UEFI boot manager which executes 110 configured EFI images. The default entry is selected by a 111 configured pattern (glob) or an on-screen menu. 112 113 systemd-boot operates on the EFI System Partition (ESP) 114 only. Configuration file fragments, kernels, initrds, other 115 EFI images need to reside on the ESP. Linux kernels need to 116 be built with CONFIG_EFI_STUB to be able to be directly 117 executed as an EFI image. 118 119 See the Grub2 help text for details on preparing an EFI 120 capable disk image using systemd-boot: the instructions are 121 exactly the same, except that the systemd-boot configuration 122 files will be located in /loader/ inside the EFI partition. 123 124 https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/ 125 126config BR2_PACKAGE_SYSTEMD_INITRD 127 bool "Services for booting from initrd" 128 help 129 Install various services that are only useful if systemd is 130 run from an initrd. 131 132config BR2_PACKAGE_SYSTEMD_KERNELINSTALL 133 bool "install kernel-install and related files" 134 help 135 kernel-install is used to install and remove kernel and 136 initramfs images to and from the boot loader partition. 137 The boot loader partition will usually be one of 138 /boot, /efi, or /boot/efi. 139 140config BR2_PACKAGE_SYSTEMD_ANALYZE 141 bool "systemd-analyze" 142 help 143 systemd-analyze may be used to determine system boot-up 144 performance statistics and retrieve other state and tracing 145 information from the system and service manager, and to 146 verify the correctness of unit files. 147 It is also used to access special functions useful for 148 advanced system manager debugging. 149 150config BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH 151 string 152 default "ia32" if BR2_i386 153 default "x64" if BR2_x86_64 154 depends on BR2_PACKAGE_SYSTEMD_BOOT 155 156config BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE 157 bool "enable journal remote tools" 158 select BR2_PACKAGE_LIBCURL 159 select BR2_PACKAGE_LIBMICROHTTPD 160 help 161 journal remote functionality adds three tools: 162 163 systemd-journal-gatewayd serves journal events over the 164 network. 165 166 systemd-journal-remote is a command to receive serialized 167 journal events and store them to journal files. 168 169 systemd-journal-upload will upload journal entries to the 170 URL specified with --url=. 171 172 https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html 173 https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.service.html 174 https://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html 175 176config BR2_PACKAGE_SYSTEMD_BACKLIGHT 177 bool "enable backlight support" 178 help 179 systemd-backlight is a service that restores the display 180 backlight brightness at early boot and saves it at shutdown. 181 182 http://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html 183 184config BR2_PACKAGE_SYSTEMD_BINFMT 185 bool "enable binfmt tool" 186 help 187 systemd-binfmt is an early boot service that registers 188 additional binary formats for executables in the kernel. 189 190 http://www.freedesktop.org/software/systemd/man/systemd-binfmt.service.html 191 192config BR2_PACKAGE_SYSTEMD_COREDUMP 193 bool "enable coredump hook" 194 help 195 systemd-coredump can be used as a helper binary by the 196 kernel when a user space program receives a fatal signal and 197 dumps core. 198 199 http://www.freedesktop.org/software/systemd/man/systemd-coredump.html 200 201config BR2_PACKAGE_SYSTEMD_PSTORE 202 bool "enable pstore support" 203 default y 204 help 205 When this features is enabled, additional tools and services 206 are built to support archiving contents of the persistent 207 storage filesytem. 208 209 https://www.freedesktop.org/software/systemd/man/systemd-pstore.html 210 211config BR2_PACKAGE_SYSTEMD_FIRSTBOOT 212 bool "enable firstboot support" 213 help 214 systemd-firstboot initializes the most basic system settings 215 interactively on the first boot. 216 217 http://www.freedesktop.org/software/systemd/man/systemd-firstboot.html 218 219config BR2_PACKAGE_SYSTEMD_HIBERNATE 220 bool "enable hibernation support" 221 select BR2_PACKAGE_SYSTEMD_INITRD 222 help 223 When this features is enabled, additional tools and services 224 are built to support suspending and resuming the system. 225 226 http://www.freedesktop.org/software/systemd/man/systemd-sleep.html 227 228config BR2_PACKAGE_SYSTEMD_HOMED 229 bool "enable home daemon" 230 depends on BR2_TOOLCHAIN_HAS_THREADS # cryptsetup -> lvm2 231 depends on BR2_USE_MMU # cryptsetup -> lvm2 232 depends on !BR2_STATIC_LIBS # cryptsetup -> lvm2 233 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c 234 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # fscrypt_key 235 select BR2_PACKAGE_CRYPTSETUP 236 select BR2_PACKAGE_OPENSSL 237 select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL 238 select BR2_PACKAGE_UTIL_LINUX_LIBFDISK 239 help 240 systemd-homed is a system service that may be used to create, 241 remove, change or inspect home directories. 242 243 https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html 244 245comment "homed support needs a toolchain w/ threads, dynamic library, kernel headers >= 4.12" 246 depends on BR2_USE_MMU 247 depends on BR2_TOOLCHAIN_HAS_SYNC_4 248 depends on !BR2_TOOLCHAIN_HAS_THREADS || \ 249 BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 250 251config BR2_PACKAGE_SYSTEMD_HOSTNAMED 252 bool "enable hostname daemon" 253 default y 254 help 255 systemd-hostnamed is a system service that may be used as a 256 mechanism to change the system's hostname. 257 258 http://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html 259 260config BR2_PACKAGE_SYSTEMD_HWDB 261 bool "enable hwdb installation" 262 default y 263 help 264 Enables hardware database installation to /usr/lib/udev/hwdb.d 265 266 Disabling this option improves first boot time (or every boot 267 time in case of initramfs images) and saves several MB space. 268 269 https://www.freedesktop.org/software/systemd/man/hwdb.html 270 271config BR2_PACKAGE_SYSTEMD_IMPORTD 272 bool "enable import daemon" 273 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt 274 select BR2_PACKAGE_LIBCURL 275 select BR2_PACKAGE_LIBGCRYPT 276 select BR2_PACKAGE_XZ 277 select BR2_PACKAGE_ZLIB 278 help 279 systemd-importd is a system service that manages virtual 280 machine and container images for systemd-machined and 281 machinectl. 282 283 http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands 284 285config BR2_PACKAGE_SYSTEMD_CATALOGDB 286 bool "enable journal catalog database installation" 287 depends on BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW # conflicting tmpfiles magic 288 help 289 Build and install the journal catalog database. 290 291 catalog files are used to provide extended and potentially 292 localized messages for the journal. 293 294 The original catalog files will be built into a DB at 295 /usr/share/factory/var/lib/systemd/catalog/database. 296 297 https://www.freedesktop.org/wiki/Software/systemd/catalog/ 298 299config BR2_PACKAGE_SYSTEMD_LOCALED 300 bool "enable locale daemon" 301 help 302 systemd-localed is a system service that may be used as 303 mechanism to change the system locale settings, as well as 304 the console key mapping and default X11 key mapping. 305 306 http://www.freedesktop.org/software/systemd/man/systemd-localed.service.html 307 308config BR2_PACKAGE_SYSTEMD_LOGIND 309 bool "enable login daemon" 310 help 311 systemd-logind is a system service that manages user logins. 312 313 http://www.freedesktop.org/software/systemd/man/systemd-logind.service.html 314 315config BR2_PACKAGE_SYSTEMD_MACHINED 316 bool "enable machine daemon" 317 help 318 systemd-machined is a system service that keeps track of 319 virtual machines and containers, and processes belonging to 320 them. 321 322 http://www.freedesktop.org/software/systemd/man/systemd-machined.service.html 323 324config BR2_PACKAGE_SYSTEMD_MYHOSTNAME 325 bool "enable myhostname NSS plugin" 326 default y 327 help 328 nss-myhostname is a plug-in module for the GNU Name Service 329 Switch (NSS) functionality of the GNU C Library (glibc), 330 primarily providing hostname resolution for the locally 331 configured system hostname as returned by gethostname(2). 332 333 http://www.freedesktop.org/software/systemd/man/nss-myhostname.html 334 335config BR2_PACKAGE_SYSTEMD_NETWORKD 336 bool "enable network manager" 337 default y 338 help 339 systemd-networkd is a system service that manages networks. 340 It detects and configures network devices as they appear, as 341 well as creating virtual network devices. 342 343 This simple network configuration solution is an alternative 344 to dhcpcd or ISC dhcp. 345 346 http://www.freedesktop.org/software/systemd/man/systemd-networkd.html 347 348config BR2_PACKAGE_SYSTEMD_OOMD 349 bool "enable out-of-memory killer" 350 help 351 systemd-oomd is a system service that uses cgroups-v2 and 352 pressure stall information (PSI) to monitor and take action 353 on processes before an OOM occurs in kernel space. 354 355 https://www.freedesktop.org/software/systemd/man/systemd-oomd.html 356 357config BR2_PACKAGE_SYSTEMD_POLKIT 358 bool "enable polkit support" 359 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> c++17 360 depends on BR2_TOOLCHAIN_HAS_THREADS # polkit 361 depends on BR2_USE_WCHAR # libglib2 362 depends on !BR2_OPTIMIZE_FAST # polkit -> duktape 363 select BR2_PACKAGE_POLKIT 364 help 365 If enabled, systemd is built with polkit support and policy 366 files for its services are generated and installed. It is 367 useful for allowing unprivileged processes to speak to 368 systemd's many privileged processes. 369 370 http://wiki.freedesktop.org/www/Software/polkit/ 371 372comment "polkit support needs a toolchain with threads, wchar, gcc >= 7" 373 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ 374 !BR2_TOOLCHAIN_HAS_THREADS 375 376comment "polkit support can't be built with Optimize for fast" 377 depends on BR2_OPTIMIZE_FAST 378 379config BR2_PACKAGE_SYSTEMD_PORTABLED 380 bool "enable portable services" 381 help 382 Portable services are systemd services that can be dynamically 383 attached and detached from the system. 384 385 These services must come with their own root directory which 386 they are bound to through an automatically generated drop-in. 387 388 They also have restrictions applied by the host system in the 389 form of profiles. 390 391 This functionality is provided by the system service 392 systemd-portabled along with the corresponding CLI 393 portablectl. 394 395 https://systemd.io/PORTABLE_SERVICES/ 396 397config BR2_PACKAGE_SYSTEMD_QUOTACHECK 398 bool "enable quotacheck tools" 399 help 400 systemd-quotacheck is a service responsible for file system 401 quota checks. It is run once at boot after all necessary 402 file systems are mounted. It is pulled in only if at least 403 one file system has quotas enabled. 404 405 http://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html 406 407config BR2_PACKAGE_SYSTEMD_RANDOMSEED 408 bool "enable random-seed support" 409 help 410 systemd-random-seed is a service that restores the random 411 seed of the system at early boot and saves it at 412 shutdown. Saving/restoring the random seed across boots 413 increases the amount of available entropy early at boot. 414 415 http://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html 416 417config BR2_PACKAGE_SYSTEMD_REPART 418 bool "enable repart support" 419 select BR2_PACKAGE_OPENSSL 420 select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL 421 select BR2_PACKAGE_UTIL_LINUX_LIBFDISK 422 help 423 systemd-repart grows and adds partitions to a partition table, 424 based on the configuration files described in repart.d. 425 426 https://www.freedesktop.org/software/systemd/man/systemd-repart.html 427 428config BR2_PACKAGE_SYSTEMD_RESOLVED 429 bool "enable resolve daemon" 430 default y 431 help 432 systemd-resolved is a system service that provides network 433 name resolution to local applications. It implements a 434 caching and validating DNS/DNSSEC stub resolver, as well as 435 an LLMNR resolver and responder. 436 437 http://www.freedesktop.org/software/systemd/man/systemd-resolved.html 438 439config BR2_PACKAGE_SYSTEMD_RFKILL 440 bool "enable rfkill tools" 441 help 442 systemd-rfkill is a service that restores the RF kill switch 443 state at early boot and saves it at shutdown. 444 445 http://www.freedesktop.org/software/systemd/man/systemd-rfkill@.service.html 446 447config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT 448 bool "enable SMACK support" 449 select BR2_PACKAGE_ATTR 450 select BR2_PACKAGE_SMACK 451 help 452 Enable support for SMACK, the Simple Mandatory Access 453 Control Kernel, a minimal approach to Access Control 454 implemented as a kernel LSM. 455 456 This feature requires a kernel >= 3.8. 457 458 When this feature is enabled, Systemd mounts smackfs and 459 manages security labels for sockets. 460 461config BR2_PACKAGE_SYSTEMD_SYSEXT 462 bool "enable sysext support" 463 help 464 systemd-sysext activates/deactivates system extension 465 images. 466 467 System extension images may – dynamically at runtime — 468 extend the /usr/ and /opt/ directory hierarchies with 469 additional files. 470 471 This is particularly useful on immutable system images where 472 a /usr/ and/or /opt/ hierarchy residing on a read-only file 473 system shall be extended temporarily at runtime without 474 making any persistent modifications. 475 476 https://www.freedesktop.org/software/systemd/man/systemd-sysext.html 477 478config BR2_PACKAGE_SYSTEMD_SYSUSERS 479 bool "enable sysusers support" 480 help 481 systemd-sysusers creates system users and groups, based on 482 the file format and location specified in sysusers.d(5). 483 484 http://www.freedesktop.org/software/systemd/man/systemd-sysusers.html 485 486config BR2_PACKAGE_SYSTEMD_TIMEDATED 487 bool "enable timedate daemon" 488 default y 489 help 490 systemd-timedated is a system service that may be used as a 491 mechanism to change the system clock and timezone, as well 492 as to enable/disable NTP time synchronization. 493 494 http://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html 495 496config BR2_PACKAGE_SYSTEMD_TIMESYNCD 497 bool "enable timesync daemon" 498 default y 499 help 500 systemd-timesyncd is a service that may be used to 501 synchronize the local system clock with a Network Time 502 Protocol server. 503 504 This simple NTP solution is an alternative to sntp/ntpd from 505 the ntp package. 506 507 http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html 508 509config BR2_PACKAGE_SYSTEMD_USERDB 510 bool "enable userdb daemon" 511 help 512 systemd-userdbd is a system service that multiplexes 513 user/group lookups to all local services that provide JSON 514 user/group record definitions to the system. In addition it 515 synthesizes JSON user/group records from classic UNIX/glibc 516 NSS user/group records in order to provide full backwards 517 compatibility. 518 519 https://www.freedesktop.org/software/systemd/man/systemd-userdbd.service.html 520 521config BR2_PACKAGE_SYSTEMD_VCONSOLE 522 bool "enable vconsole tool" 523 default y 524 help 525 systemd-vconsole-setup is an early boot service that 526 configures the virtual console font and console keymap. 527 528 http://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html 529 530endif 531