├── README.md ├── openwrt-base-files.patch ├── openwrt-kernel-config.patch └── systemd ├── Makefile ├── files └── etc │ ├── hostname │ ├── machine-id │ ├── os-release │ └── systemd │ └── system │ ├── initrd-root-fs.target.requires │ └── sysroot-prepare.service │ ├── overlay.mount │ ├── sysroot-prepare.service │ └── sysroot.mount ├── patches └── 010-agetty-path-baud.patch └── systemd-common.mk /README.md: -------------------------------------------------------------------------------- 1 | # systemd for OpenWrt 2 | 3 | An experimental, unholy union of [systemd](http://www.freedesktop.org/wiki/Software/systemd/) and [OpenWrt](https://openwrt.org/). Yes, it runs on a [VoCore](http://vocore.io/), which is about the size of an American quarter. 4 | 5 | 6 | ## Requirements 7 | 8 | 9 | 10 | - You must use eglibc as your C library, as systemd requires (e)glibc and will not work with uClibc! 11 | 12 | - I have included some supporting OpenWrt patches for things we depend on that are not available in OpenWrt yet, including: 13 | - `openwrt-kernel-config.patch` adds OpenWrt kernel config options required by systemd ([originally](https://lists.openwrt.org/pipermail/openwrt-devel/2014-March/024291.html) by openwrt-systemd creator, Adam Porter) 14 | - `openwrt-base-files.patch` avoids some conflicts between `base-files` and `systemd` 15 | 16 | 17 | ## Getting Started 18 | 19 | - Add the following to `feeds.conf.default`: 20 | 21 | ``` 22 | src-git systemd https://github.com/jdub/openwrt-systemd.git 23 | ``` 24 | 25 | - Run: 26 | 27 | ``` 28 | ./scripts/feeds update systemd 29 | ./scripts/feeds install systemd 30 | make menuconfig 31 | ``` 32 | 33 | - Enable "Advanced configuration options (for developers)" and navigate into that menu. 34 | 35 | - Enable "Toolchain options" and navigate into that menu. 36 | 37 | - Under "C Library implementation", choose "eglibc". 38 | 39 | - At the top of the menu tree, under "Base system", you'll find the "systemd" package, and lots of goodies under it! 40 | 41 | 42 | ## Contributors 43 | 44 | - Jeff [@jdub](https://github.com/jdub) Waugh, current maintainer 45 | - Gabe [@thagabe](https://github.com/thagabe) Rodriguez 46 | - Adam [@aport](https://github.com/aport) Porter, creator 47 | -------------------------------------------------------------------------------- /openwrt-base-files.patch: -------------------------------------------------------------------------------- 1 | Terrible hacks to avoid conflicts between base-files and systemd. 2 | 3 | Requires further discussion with upstream, not a patch submission! 4 | 5 | Signed-off-by: Jeff Waugh 6 | --- 7 | Makefile | 3 +-- 8 | 1 file changed, 1 insertion(+), 2 deletions(-) 9 | 10 | diff --git a/package/base-files/Makefile b/package/base-files/Makefile 11 | index e0bf915..6f42f11 100644 12 | --- a/package/base-files/Makefile 13 | +++ b/package/base-files/Makefile 14 | @@ -29,7 +29,6 @@ endif 15 | define Package/base-files 16 | SECTION:=base 17 | CATEGORY:=Base system 18 | - DEPENDS:=+netifd +libc +procd +jsonfilter 19 | TITLE:=Base filesystem for OpenWrt 20 | URL:=http://openwrt.org/ 21 | VERSION:=$(PKG_RELEASE)-$(REVISION) 22 | @@ -135,7 +134,7 @@ define Package/base-files/install 23 | mkdir -p $(1)/root 24 | $(LN) /proc/mounts $(1)/etc/mtab 25 | rm -f $(1)/var 26 | - $(LN) /tmp $(1)/var 27 | + #$(LN) /tmp $(1)/var 28 | mkdir -p $(1)/etc 29 | $(LN) /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/ 30 | 31 | -------------------------------------------------------------------------------- /openwrt-kernel-config.patch: -------------------------------------------------------------------------------- 1 | Add support for various kernel options required by systemd. 2 | c.f. http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/systemd/systemd-9999.ebuild?&view=markup#l118 3 | 4 | Signed-off-by: Jeff Waugh 5 | Signed-off-by: Adam Porter 6 | --- 7 | config/Config-kernel.in | 20 ++++++++++++++++++++ 8 | 1 file changed, 20 insertions(+) 9 | 10 | diff --git a/config/Config-kernel.in b/config/Config-kernel.in 11 | index a0bd13e..33d1e3c 100644 12 | --- a/config/Config-kernel.in 13 | +++ b/config/Config-kernel.in 14 | @@ -26,6 +26,26 @@ config KERNEL_DEBUG_FS 15 | write to these files. Many common debugging facilities, such as 16 | ftrace, require the existence of debugfs. 17 | 18 | +config KERNEL_DEVTMPFS_MOUNT 19 | + bool 20 | + default n 21 | + 22 | +config KERNEL_DEVTMPFS 23 | + bool "Compile the kernel with devtmpfs enabled" 24 | + default n 25 | + select KERNEL_DEVTMPFS_MOUNT 26 | + 27 | +config KERNEL_BLK_DEV_BSG 28 | + bool "Compile the kernel with SG v4 support for any block device" 29 | + default n 30 | + 31 | +config KERNEL_FANOTIFY 32 | + bool "Compile the kernel with modern file notification support" 33 | + 34 | +config KERNEL_FHANDLE 35 | + bool "Compile the kernel with support for fhandle syscalls" 36 | + default n 37 | + 38 | config KERNEL_PERF_EVENTS 39 | bool 40 | default n 41 | -------------------------------------------------------------------------------- /systemd/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2006-2103 OpenWrt.org 3 | # Copyright (C) 2014 Adam Porter 4 | # Copyright (C) 2015 Gabe Rodriguez, Jeff Waugh 5 | # 6 | # This is free software, licensed under the GNU General Public License v2. 7 | # See /LICENSE for more information. 8 | # 9 | 10 | include $(TOPDIR)/rules.mk 11 | 12 | PKG_NAME:=systemd 13 | PKG_VERSION:=219 14 | PKG_RELEASE:=1 15 | 16 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz 17 | PKG_SOURCE_URL:=http://www.freedesktop.org/software/systemd/ 18 | PKG_MD5SUM:=e0d6c9a4b4f69f66932d2230298c9a34 19 | 20 | PKG_BUILD_DEPENDS:=intltool/host gperf/host 21 | PKG_BUILD_PARALLEL:=1 22 | 23 | include systemd-common.mk 24 | include $(INCLUDE_DIR)/package.mk 25 | include $(INCLUDE_DIR)/version.mk 26 | 27 | PKG_INSTALL:=1 28 | 29 | TARGET_CFLAGS += --std=gnu99 30 | 31 | SYSTEMD_DISABLE_PKG = $(if $(CONFIG_PACKAGE_systemd-$(1)),,--disable-$(2)) 32 | 33 | CONFIGURE_ARGS_FAST_BUILD = \ 34 | --disable-gtk-doc \ 35 | --disable-gtk-doc-html \ 36 | --disable-manpages \ 37 | --disable-tests \ 38 | --without-python 39 | 40 | CONFIGURE_ARGS_EMBEDDED = \ 41 | --disable-backlight \ 42 | --disable-binfmt \ 43 | --disable-efi \ 44 | --disable-firstboot \ 45 | --disable-hibernate \ 46 | --disable-importd \ 47 | --disable-ldconfig \ 48 | --disable-logind \ 49 | --disable-machined \ 50 | --disable-microhttpd \ 51 | --disable-nls \ 52 | --disable-pam \ 53 | --disable-qrencode \ 54 | --disable-quotacheck \ 55 | --disable-vconsole \ 56 | --disable-xkbcommon 57 | 58 | CONFIGURE_ARGS += \ 59 | --prefix=/usr \ 60 | --sysconfdir=/etc \ 61 | $(CONFIGURE_ARGS_FAST_BUILD) \ 62 | $(CONFIGURE_ARGS_EMBEDDED) \ 63 | --disable-apparmor \ 64 | --disable-introspection \ 65 | --disable-gudev \ 66 | --disable-chkconfig \ 67 | --disable-ima \ 68 | --disable-selinux \ 69 | --disable-seccomp \ 70 | --disable-audit \ 71 | --disable-smack \ 72 | --disable-xz \ 73 | --disable-acl \ 74 | --disable-gcrypt \ 75 | --disable-myhostname \ 76 | --disable-libcryptsetup \ 77 | --disable-polkit \ 78 | --disable-elfutils \ 79 | --disable-gnutls \ 80 | --disable-libcurl \ 81 | $(call SYSTEMD_DISABLE_PKG,bootchart,bootchart) \ 82 | $(call SYSTEMD_DISABLE_PKG,coredump,coredump) \ 83 | $(call SYSTEMD_DISABLE_PKG,hostnamed,hostnamed) \ 84 | $(call SYSTEMD_DISABLE_PKG,localed,localed) \ 85 | $(call SYSTEMD_DISABLE_PKG,modules-load,kmod) \ 86 | $(call SYSTEMD_DISABLE_PKG,networkd,networkd) \ 87 | $(call SYSTEMD_DISABLE_PKG,random-seed,randomseed) \ 88 | $(call SYSTEMD_DISABLE_PKG,resolved,resolved) \ 89 | $(call SYSTEMD_DISABLE_PKG,rfkill,rfkill) \ 90 | $(call SYSTEMD_DISABLE_PKG,timedated,timedated) \ 91 | $(call SYSTEMD_DISABLE_PKG,timesyncd,timesyncd) \ 92 | $(call SYSTEMD_DISABLE_PKG,tmpfiles,tmpfiles) \ 93 | $(call SYSTEMD_DISABLE_PKG,update-utmp,utmp) 94 | 95 | 96 | define Package/systemd/Default 97 | SECTION:=base 98 | CATEGORY:=Base system 99 | TITLE:=System and Service Manager 100 | URL:=http://www.freedesktop.org/wiki/Software/systemd/ 101 | MAINTAINER:=Jeff Waugh 102 | endef 103 | 104 | define Package/systemd/description/Default 105 | systemd is a suite of basic building blocks for a Linux system 106 | endef 107 | 108 | 109 | define Package/systemd 110 | $(call Package/systemd/Default) 111 | DEPENDS:=@USE_EGLIBC +@BUSYBOX_DEFAULT_SULOGIN +libcap +libmount +libkmod +dbus +agetty \ 112 | +PACKAGE_kmod-fs-autofs4 +@KERNEL_CGROUPS +@KERNEL_NET_CLS_CGROUP \ 113 | +@KERNEL_LXC_MISC +@KERNEL_DEVPTS_MULTIPLE_INSTANCES +@KERNEL_POSIX_MQUEUE \ 114 | +@KERNEL_NAMESPACES +@KERNEL_NET_NS \ 115 | +@KERNEL_DEVTMPFS +@KERNEL_FHANDLE +@KERNEL_FANOTIFY +@KERNEL_BLK_DEV_BSG 116 | MENU:=1 117 | endef 118 | 119 | define Package/systemd/description 120 | $(call Package/systemd/description/Default) 121 | This package contains the core systemd /sbin/init daemon and supporting tools. 122 | endef 123 | 124 | define Package/systemd/conffiles 125 | /etc/hostname 126 | /etc/machine-id 127 | /etc/systemd/system.conf 128 | /etc/systemd/user.conf 129 | endef 130 | 131 | define Package/systemd/install 132 | $(INSTALL_DIR) $(1)/etc/systemd 133 | $(CP) \ 134 | $(PKG_INSTALL_DIR)/etc/systemd/{journald,system,user}.conf \ 135 | $(1)/etc/systemd 136 | 137 | $(INSTALL_DIR) $(1)/etc/systemd/system/multi-user.target.wants 138 | ln -sf \ 139 | /usr/lib/systemd/system/remote-fs.target \ 140 | $(1)/etc/systemd/system/multi-user.target.wants/. 141 | 142 | $(INSTALL_DIR) $(1)/etc/systemd/network 143 | $(INSTALL_DIR) $(1)/etc/systemd/user 144 | $(INSTALL_DIR) $(1)/etc/network 145 | 146 | $(INSTALL_DIR) $(1)/etc/dbus-1/system.d 147 | $(CP) \ 148 | $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.freedesktop.systemd1.conf \ 149 | $(1)/etc/dbus-1/system.d 150 | 151 | $(INSTALL_DIR) $(1)/usr/bin 152 | $(INSTALL_BIN) \ 153 | $(addprefix $(PKG_INSTALL_DIR)/usr/bin/, \ 154 | $(SYSTEMD_BIN)) \ 155 | $(1)/usr/bin 156 | 157 | ln -sf \ 158 | /usr/lib/systemd/systemd-bus-proxyd \ 159 | $(1)/usr/bin/systemd-stdio-bridge 160 | 161 | $(INSTALL_DIR) $(1)/usr/lib 162 | $(CP) \ 163 | $(PKG_INSTALL_DIR)/usr/lib/libsystemd.so* \ 164 | $(1)/usr/lib 165 | 166 | $(INSTALL_DIR) $(1)/etc/sysctl.d 167 | $(INSTALL_DIR) $(1)/usr/lib/sysctl.d 168 | $(INSTALL_DATA) \ 169 | $(PKG_INSTALL_DIR)/usr/lib/sysctl.d/50-default.conf \ 170 | $(1)/usr/lib/sysctl.d 171 | 172 | $(INSTALL_DIR) $(1)/usr/lib/sysusers.d 173 | $(INSTALL_DATA) \ 174 | $(PKG_INSTALL_DIR)/usr/lib/sysusers.d/*.conf \ 175 | $(1)/usr/lib/sysusers.d 176 | 177 | $(INSTALL_DIR) $(1)/usr/lib/systemd 178 | $(INSTALL_BIN) \ 179 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/, \ 180 | $(SYSTEMD_LIB)) \ 181 | $(1)/usr/lib/systemd 182 | 183 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 184 | $(CP) \ 185 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/, \ 186 | $(SYSTEMD_SYSTEM_TARGET_WANTS) \ 187 | $(SYSTEMD_SYSTEM_TARGETS) \ 188 | $(SYSTEMD_SYSTEM_SLICES) \ 189 | $(SYSTEMD_SYSTEM_SOCKETS) \ 190 | $(SYSTEMD_SYSTEM_PATHS) \ 191 | $(SYSTEMD_SYSTEM_SERVICES) \ 192 | $(SYSTEMD_SYSTEM_MOUNTS)) \ 193 | $(1)/usr/lib/systemd/system 194 | 195 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system-shutdown 196 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system-sleep 197 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system-generators 198 | $(INSTALL_DIR) $(1)/usr/lib/systemd/user-generators 199 | 200 | $(INSTALL_BIN) \ 201 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system-generators/systemd-* \ 202 | $(1)/usr/lib/systemd/system-generators 203 | 204 | $(INSTALL_DIR) $(1)/usr/lib/systemd/catalog 205 | $(CP) \ 206 | $(PKG_INSTALL_DIR)/usr/lib/systemd/catalog/systemd.catalog \ 207 | $(1)/usr/lib/systemd/catalog 208 | 209 | $(INSTALL_DIR) $(1)/usr/lib/systemd/user 210 | $(CP) \ 211 | $(PKG_INSTALL_DIR)/usr/lib/systemd/user/* \ 212 | $(1)/usr/lib/systemd/user 213 | 214 | $(INSTALL_DIR) $(1)/usr/share/dbus-1/services 215 | $(INSTALL_DIR) $(1)/usr/share/dbus-1/system-services 216 | $(CP) \ 217 | $(PKG_INSTALL_DIR)/usr/share/dbus-1/system-services/org.freedesktop.systemd1.service \ 218 | $(1)/usr/share/dbus-1/system-services 219 | ln -sf \ 220 | /usr/share/dbus-1/system-services/org.freedesktop.systemd1.service \ 221 | $(1)/usr/share/dbus-1/services/. 222 | 223 | $(INSTALL_DIR) $(1)/var/log/journal 224 | $(INSTALL_DIR) $(1)/etc/systemd/system/getty.target.wants 225 | $(CP) \ 226 | $(PKG_INSTALL_DIR)/etc/systemd/system/getty.target.wants/getty@tty1.service \ 227 | $(1)/etc/systemd/system/getty.target.wants 228 | 229 | $(INSTALL_DIR) $(1)/sbin 230 | ln -sf \ 231 | /usr/lib/systemd/systemd \ 232 | $(1)/sbin/init 233 | 234 | $(CP) ./files/* $(1)/ 235 | $(VERSION_SED) $(1)/etc/os-release 236 | 237 | $(INSTALL_DIR) $(1)/run 238 | ln -sf /run $(1)/var/run 239 | 240 | # FIXME: make DEFAULT_TARGET option 241 | ln -sf \ 242 | /usr/lib/systemd/system/initrd.target \ 243 | $(1)/etc/systemd/system/default.target 244 | 245 | # FIXME: ifeq ($(DEFAULT_TARGET),initrd) 246 | touch $(1)/etc/initrd-release 247 | $(INSTALL_DIR) $(1)/sysroot 248 | endef 249 | 250 | 251 | define Package/systemd-coredump 252 | $(call Package/systemd/Default) 253 | TITLE:=systemd coredump support 254 | DEPENDS+= systemd +@KERNEL_ELF_CORE 255 | endef 256 | 257 | define Package/systemd-coredump/description 258 | $(call Package/systemd/description/Default) 259 | This package contains the systemd coredump support. 260 | endef 261 | 262 | define Package/systemd-coredump/install 263 | $(INSTALL_DIR) $(1)/usr/bin 264 | $(INSTALL_BIN) \ 265 | $(PKG_INSTALL_DIR)/usr/bin/coredumpctl \ 266 | $(1)/usr/bin 267 | 268 | $(INSTALL_DIR) $(1)/usr/lib/systemd 269 | $(INSTALL_BIN) \ 270 | $(PKG_INSTALL_DIR)/usr/lib/systemd/systemd-coredump \ 271 | $(1)/usr/lib/systemd 272 | 273 | $(INSTALL_DIR) $(1)/etc/systemd 274 | $(INSTALL_DATA) \ 275 | $(PKG_INSTALL_DIR)/etc/systemd/coredump.conf \ 276 | $(1)/etc/systemd 277 | 278 | $(INSTALL_DIR) $(1)/usr/lib/sysctl.d 279 | $(INSTALL_DATA) \ 280 | $(PKG_INSTALL_DIR)/usr/lib/sysctl.d/50-coredump.conf \ 281 | $(1)/usr/lib/sysctl.d 282 | endef 283 | 284 | 285 | define Package/systemd-nspawn 286 | $(call Package/systemd/Default) 287 | TITLE:=systemd namespace container support 288 | DEPENDS+= systemd +libiptc 289 | endef 290 | 291 | define Package/systemd-nspawn/description 292 | $(call Package/systemd/description/Default) 293 | This package contains the systemd namespace container support. 294 | endef 295 | 296 | define Package/systemd-nspawn/install 297 | $(INSTALL_DIR) $(1)/usr/bin 298 | $(INSTALL_BIN) \ 299 | $(PKG_INSTALL_DIR)/usr/bin/systemd-nspawn \ 300 | $(1)/usr/bin 301 | 302 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 303 | $(INSTALL_DATA) \ 304 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/systemd-nspawn@.service \ 305 | $(1)/usr/lib/systemd/system 306 | endef 307 | 308 | 309 | define Package/systemd-tmpfiles 310 | $(call Package/systemd/Default) 311 | TITLE:=systemd temporary file management support 312 | DEPENDS+= systemd 313 | endef 314 | 315 | define Package/systemd-tmpfiles/description 316 | $(call Package/systemd/description/Default) 317 | This package contains the systemd temporary file management support. 318 | endef 319 | 320 | define Package/systemd-tmpfiles/install 321 | $(INSTALL_DIR) $(1)/usr/bin 322 | $(INSTALL_BIN) \ 323 | $(PKG_INSTALL_DIR)/usr/bin/systemd-tmpfiles \ 324 | $(1)/usr/bin 325 | 326 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 327 | $(INSTALL_DATA) \ 328 | $(wildcard $(PKG_INSTALL_DIR)/usr/lib/systemd/system/systemd-tmpfiles-*) \ 329 | $(1)/usr/lib/systemd/system 330 | 331 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sysinit.target.wants 332 | $(CP) \ 333 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sysinit.target.wants/, 334 | systemd-tmpfiles-setup.service \ 335 | systemd-tmpfiles-setup-dev.service ) \ 336 | $(1)/usr/lib/systemd/system/sysinit.target.wants 337 | 338 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/timers.target.wants 339 | $(CP) \ 340 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/timers.target.wants/systemd-tmpfiles-clean.timer \ 341 | $(1)/usr/lib/systemd/system/timers.target.wants 342 | 343 | $(INSTALL_DIR) $(1)/etc/tmpfiles.d 344 | $(INSTALL_DIR) $(1)/usr/lib/tmpfiles.d 345 | $(CP) \ 346 | $(PKG_INSTALL_DIR)/usr/lib/tmpfiles.d/*.conf \ 347 | $(1)/usr/lib/tmpfiles.d 348 | endef 349 | 350 | 351 | define Package/systemd-udev-hwdb 352 | $(call Package/systemd/Default) 353 | TITLE+= (udev hwdb) 354 | DEPENDS:=+systemd-udevd 355 | endef 356 | 357 | define Package/systemd-udev-hwdb/description 358 | $(call Package/systemd/description/Default) 359 | This package contains the udev hardware database files. 360 | endef 361 | 362 | define Package/systemd-udev-hwdb/install 363 | $(INSTALL_DIR) $(1)/etc/udev/hwdb.d 364 | $(INSTALL_DIR) $(1)/usr/lib/udev/hwdb.d 365 | $(CP) \ 366 | $(PKG_INSTALL_DIR)/usr/lib/udev/hwdb.d/*.hwdb \ 367 | $(1)/usr/lib/udev/hwdb.d 368 | endef 369 | 370 | 371 | define Build/InstallDev 372 | $(INSTALL_DIR) $(1)/usr/lib 373 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libudev.so* $(1)/usr/lib 374 | # $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgudev-1.0.so* $(1)/usr/lib 375 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsystemd.so* $(1)/usr/lib 376 | 377 | $(INSTALL_DIR) $(1)/usr/include 378 | $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include 379 | 380 | $(INSTALL_DIR) $(1)/usr/share/pkgconfig 381 | $(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/*.pc $(1)/usr/share/pkgconfig 382 | $(INSTALL_DIR) $(1)/usr/lib/pkgconfig 383 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig 384 | endef 385 | 386 | 387 | define SystemdBuildLib 388 | define Package/systemd-$(1) 389 | $(call Package/systemd/Default) 390 | TITLE:=systemd $(2) 391 | DEPENDS+= systemd $(3) 392 | endef 393 | 394 | define Package/systemd-$(1)/description 395 | $(call Package/systemd/description/Default) 396 | This package contains the systemd $(2). 397 | endef 398 | 399 | define Package/systemd-$(1)/install 400 | # daemon 401 | $(INSTALL_DIR) $$(1)/usr/lib/systemd 402 | $(INSTALL_BIN) \ 403 | $(PKG_INSTALL_DIR)/usr/lib/systemd/systemd-$(1)* \ 404 | $$(1)/usr/lib/systemd 405 | # service (systemd) 406 | $(INSTALL_DIR) $$(1)/usr/lib/systemd/system 407 | $(INSTALL_DATA) \ 408 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/systemd-$(1)*.service \ 409 | $$(1)/usr/lib/systemd/system 410 | # custom 411 | $(call Plugin/$(1)/install,$$(1)) 412 | endef 413 | 414 | $$(eval $$(call BuildPackage,systemd-$(1))) 415 | endef 416 | 417 | define SystemdDbusService 418 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 419 | $(CP) \ 420 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/dbus-org.freedesktop.$(2).service \ 421 | $(1)/usr/lib/systemd/system 422 | 423 | $(INSTALL_DIR) $(1)/etc/dbus-1/system.d 424 | $(INSTALL_DATA) \ 425 | $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.freedesktop.$(2).conf \ 426 | $(1)/etc/dbus-1/system.d 427 | 428 | $(INSTALL_DIR) $(1)/usr/share/dbus-1/system-services 429 | $(INSTALL_DATA) \ 430 | $(PKG_INSTALL_DIR)/usr/share/dbus-1/system-services/org.freedesktop.$(2).service \ 431 | $(1)/usr/share/dbus-1/system-services 432 | endef 433 | 434 | 435 | define Plugin/bootchart/install 436 | $(INSTALL_DIR) $(1)/etc/systemd 437 | $(INSTALL_DATA) \ 438 | $(PKG_INSTALL_DIR)/etc/systemd/bootchart.conf \ 439 | $(1)/etc/systemd 440 | endef 441 | 442 | 443 | define Plugin/hostnamed/install 444 | $(INSTALL_DIR) $(1)/usr/bin 445 | $(INSTALL_BIN) \ 446 | $(PKG_INSTALL_DIR)/usr/bin/hostnamectl \ 447 | $(1)/usr/bin 448 | 449 | $(call SystemdDbusService,$$(1),hostname1) 450 | endef 451 | 452 | 453 | define Plugin/localed/install 454 | $(INSTALL_DIR) $(1)/usr/bin 455 | $(INSTALL_BIN) \ 456 | $(PKG_INSTALL_DIR)/usr/bin/localectl \ 457 | $(1)/usr/bin 458 | 459 | $(call SystemdDbusService,$$(1),locale1) 460 | endef 461 | 462 | 463 | define Plugin/modules-load/install 464 | $(INSTALL_DIR) $(1)/etc/modules-load.d 465 | $(INSTALL_DIR) $(1)/usr/lib/modules-load.d 466 | 467 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sysinit.target.wants 468 | $(CP) \ 469 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service \ 470 | $(1)/usr/lib/systemd/system/sysinit.target.wants 471 | endef 472 | 473 | 474 | define Plugin/networkd/install 475 | $(INSTALL_DIR) $(1)/usr/bin 476 | $(INSTALL_BIN) \ 477 | $(PKG_INSTALL_DIR)/usr/bin/networkctl \ 478 | $(1)/usr/bin 479 | 480 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 481 | $(INSTALL_DATA) \ 482 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/, \ 483 | network.target \ 484 | network-pre.target \ 485 | network-online.target \ 486 | systemd-networkd.socket ) \ 487 | $(1)/usr/lib/systemd/system 488 | 489 | $(INSTALL_DIR) $(1)/usr/lib/systemd/network 490 | $(INSTALL_DATA) \ 491 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/network/, \ 492 | 80-container-host0.network \ 493 | 80-container-ve.network \ 494 | 99-default.link ) \ 495 | $(1)/usr/lib/systemd/network 496 | 497 | $(INSTALL_DIR) $(1)/etc/systemd/system/multi-user.target.wants 498 | $(CP) \ 499 | $(PKG_INSTALL_DIR)/etc/systemd/system/multi-user.target.wants/systemd-networkd.service \ 500 | $(1)/etc/systemd/system/multi-user.target.wants 501 | 502 | $(INSTALL_DIR) $(1)/etc/systemd/system/network-online.target.wants 503 | $(CP) \ 504 | $(PKG_INSTALL_DIR)/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service \ 505 | $(1)/etc/systemd/system/network-online.target.wants 506 | 507 | $(INSTALL_DIR) $(1)/etc/systemd/system/sockets.target.wants 508 | $(CP) \ 509 | $(PKG_INSTALL_DIR)/etc/systemd/system/sockets.target.wants/systemd-networkd.socket \ 510 | $(1)/etc/systemd/system/sockets.target.wants 511 | 512 | $(call SystemdDbusService,$$(1),network1) 513 | endef 514 | 515 | 516 | define Plugin/random-seed/install 517 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sysinit.target.wants 518 | $(CP) \ 519 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sysinit.target.wants/systemd-random-seed.service \ 520 | $(1)/usr/lib/systemd/system/sysinit.target.wants 521 | endef 522 | 523 | 524 | define Plugin/resolved/install 525 | $(INSTALL_DIR) $(1)/etc/systemd 526 | $(INSTALL_DATA) \ 527 | $(PKG_INSTALL_DIR)/etc/systemd/resolved.conf \ 528 | $(1)/etc/systemd 529 | 530 | $(INSTALL_DIR) $(1)/etc/systemd/system/multi-user.target.wants 531 | $(CP) \ 532 | $(PKG_INSTALL_DIR)/etc/systemd/system/multi-user.target.wants/systemd-resolved.service \ 533 | $(1)/etc/systemd/system/multi-user.target.wants 534 | 535 | $(INSTALL_DIR) $(1)/lib 536 | $(INSTALL_BIN) \ 537 | $(PKG_INSTALL_DIR)/usr/lib/libnss_resolve.so* \ 538 | $(1)/lib 539 | 540 | $(INSTALL_DIR) $(1)/usr/lib/systemd 541 | $(INSTALL_BIN) \ 542 | $(PKG_INSTALL_DIR)/usr/lib/systemd/systemd-resolve-host \ 543 | $(1)/usr/lib/systemd 544 | 545 | $(call SystemdDbusService,$$(1),resolve1) 546 | endef 547 | 548 | define Package/systemd-resolved/conffiles 549 | /etc/systemd/resolved.conf 550 | endef 551 | 552 | 553 | define Plugin/timedated/install 554 | $(INSTALL_DIR) $(1)/usr/bin 555 | $(INSTALL_BIN) \ 556 | $(PKG_INSTALL_DIR)/usr/bin/timedatectl \ 557 | $(1)/usr/bin 558 | 559 | $(call SystemdDbusService,$$(1),timedate1) 560 | endef 561 | 562 | 563 | define Plugin/timesyncd/install 564 | $(INSTALL_DIR) $(1)/etc/systemd 565 | $(INSTALL_DATA) \ 566 | $(PKG_INSTALL_DIR)/etc/systemd/timesyncd.conf \ 567 | $(1)/etc/systemd 568 | 569 | $(INSTALL_DIR) $(1)/etc/systemd/system/sysinit.target.wants 570 | $(CP) \ 571 | $(PKG_INSTALL_DIR)/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service \ 572 | $(1)/etc/systemd/system/sysinit.target.wants 573 | endef 574 | 575 | define Package/systemd-timesyncd/conffiles 576 | /etc/systemd/timesyncd.conf 577 | endef 578 | 579 | 580 | define Plugin/udevd/install 581 | $(INSTALL_DIR) $(1)/etc/udev/rules.d 582 | $(INSTALL_DATA) \ 583 | $(PKG_INSTALL_DIR)/etc/udev/udev.conf \ 584 | $(1)/etc/udev 585 | 586 | $(INSTALL_DIR) $(1)/usr/bin 587 | $(INSTALL_BIN) \ 588 | $(PKG_INSTALL_DIR)/usr/bin/udevadm \ 589 | $(1)/usr/bin 590 | 591 | $(INSTALL_DIR) $(1)/usr/bin 592 | $(INSTALL_BIN) \ 593 | $(PKG_INSTALL_DIR)/usr/bin/systemd-hwdb \ 594 | $(1)/usr/bin 595 | 596 | $(INSTALL_DIR) $(1)/usr/lib 597 | $(CP) \ 598 | $(PKG_INSTALL_DIR)/usr/lib/libudev.so* \ 599 | $(1)/usr/lib 600 | 601 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system 602 | $(INSTALL_DATA) \ 603 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/, \ 604 | $(SYSTEMD_UDEVD_SYSTEM_SERVICES) \ 605 | $(SYSTEMD_UDEVD_SYSTEM_SOCKETS)) \ 606 | $(1)/usr/lib/systemd/system 607 | 608 | $(INSTALL_DIR) $(1)/usr/lib/udev 609 | $(INSTALL_BIN) \ 610 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/udev/, \ 611 | $(SYSTEMD_UDEVD_LIBS)) \ 612 | $(1)/usr/lib/udev 613 | 614 | $(INSTALL_DIR) $(1)/usr/lib/udev/rules.d 615 | $(CP) \ 616 | $(PKG_INSTALL_DIR)/usr/lib/udev/rules.d/* \ 617 | $(1)/usr/lib/udev/rules.d 618 | 619 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sysinit.target.wants 620 | $(CP) \ 621 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sysinit.target.wants/, \ 622 | systemd-udevd.service \ 623 | systemd-udev-trigger.service ) \ 624 | $(1)/usr/lib/systemd/system/sysinit.target.wants 625 | 626 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sockets.target.wants 627 | $(CP) \ 628 | $(addprefix $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sockets.target.wants/, \ 629 | systemd-udevd-control.socket \ 630 | systemd-udevd-kernel.socket ) \ 631 | $(1)/usr/lib/systemd/system/sockets.target.wants 632 | endef 633 | 634 | define Package/systemd-udevd/conffiles 635 | /etc/udev/udev.conf 636 | endef 637 | 638 | 639 | define Plugin/update-utmp/install 640 | $(INSTALL_DIR) $(1)/usr/lib/systemd/system/sysinit.target.wants 641 | $(CP) \ 642 | $(PKG_INSTALL_DIR)/usr/lib/systemd/system/sysinit.target.wants/systemd-update-utmp.service \ 643 | $(1)/usr/lib/systemd/system/sysinit.target.wants 644 | 645 | # FIXME: /usr/lib/systemd/system/runlevel$(seq 1 5).target.wants/systemd-update-utmp-runlevel.service 646 | # directories and symlinks 647 | # $(INSTALL_DIR) \ 648 | # $(foreach D, $(shell seq 1 5), $(1)/usr/lib/systemd/system/runlevel$(D).target.wants) 649 | endef 650 | 651 | 652 | $(eval $(call BuildPackage,systemd)) 653 | $(eval $(call BuildPackage,systemd-coredump)) 654 | $(eval $(call BuildPackage,systemd-nspawn)) 655 | #$(eval $(call BuildPackage,systemd-tmpfiles)) 656 | $(eval $(call BuildPackage,systemd-udev-hwdb)) 657 | 658 | $(eval $(call SystemdBuildLib,bootchart,bootchart tool,)) 659 | $(eval $(call SystemdBuildLib,hostnamed,hostname daemon,)) 660 | $(eval $(call SystemdBuildLib,localed,locale daemon,)) 661 | $(eval $(call SystemdBuildLib,modules-load,module loader,+libkmod)) 662 | $(eval $(call SystemdBuildLib,networkd,network daemon,+libiptc)) 663 | $(eval $(call SystemdBuildLib,random-seed,randomseed tools,)) 664 | $(eval $(call SystemdBuildLib,resolved,name resolver,+@EGLIBC_OPTION_EGLIBC_NSSWITCH)) 665 | $(eval $(call SystemdBuildLib,rfkill,rfkill tools,+@USE_RFKILL)) 666 | $(eval $(call SystemdBuildLib,timedated,timedate daemon,)) 667 | $(eval $(call SystemdBuildLib,timesyncd,network time synchronization,)) 668 | $(eval $(call SystemdBuildLib,udevd,device manager,)) 669 | $(eval $(call SystemdBuildLib,update-utmp,utmp/wtmp log handling,)) -------------------------------------------------------------------------------- /systemd/files/etc/hostname: -------------------------------------------------------------------------------- 1 | openwrt 2 | -------------------------------------------------------------------------------- /systemd/files/etc/machine-id: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdub/openwrt-systemd/14e9b556c7dc85ec019fc9cce85c788871ddfaa0/systemd/files/etc/machine-id -------------------------------------------------------------------------------- /systemd/files/etc/os-release: -------------------------------------------------------------------------------- 1 | NAME="%D" 2 | ID="openwrt" 3 | VERSION="%V (%N)" 4 | VERSION_ID="%V" 5 | PRETTY_NAME="%D %V (%N)" 6 | ANSI_COLOR="1;34" 7 | HOME_URL="https://openwrt.org/" 8 | -------------------------------------------------------------------------------- /systemd/files/etc/systemd/system/initrd-root-fs.target.requires/sysroot-prepare.service: -------------------------------------------------------------------------------- 1 | ../sysroot-prepare.service -------------------------------------------------------------------------------- /systemd/files/etc/systemd/system/overlay.mount: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Before=sysroot.mount 3 | ConditionPathExists=/etc/initrd-release 4 | ConditionPathIsDirectory=/overlay 5 | DefaultDependencies=false 6 | 7 | [Mount] 8 | What=tmpfs 9 | Where=/overlay 10 | Type=tmpfs 11 | Options=noatime,mode=0755 12 | -------------------------------------------------------------------------------- /systemd/files/etc/systemd/system/sysroot-prepare.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Requires=sysroot.mount 3 | Before=initrd-cleanup.service 4 | After=sysroot.mount 5 | ConditionPathExists=/etc/initrd-release 6 | DefaultDependencies=false 7 | 8 | [Service] 9 | Type=oneshot 10 | ExecStart=/bin/rm -f /sysroot/etc/initrd-release 11 | ExecStart=/bin/ln -sf /usr/lib/systemd/system/multi-user.target /sysroot/etc/systemd/system/default.target 12 | -------------------------------------------------------------------------------- /systemd/files/etc/systemd/system/sysroot.mount: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Requires=overlay.mount 3 | Before=initrd-root-fs.target 4 | After=overlay.mount 5 | ConditionPathExists=/etc/initrd-release 6 | DefaultDependencies=false 7 | 8 | [Mount] 9 | What=overlayfs:/sysroot 10 | Where=/sysroot 11 | Type=overlayfs 12 | Options=noatime,lowerdir=/,upperdir=/overlay 13 | -------------------------------------------------------------------------------- /systemd/patches/010-agetty-path-baud.patch: -------------------------------------------------------------------------------- 1 | diff -Nrup systemd-218.orig/units/console-getty.service.m4.in systemd-218/units/console-getty.service.m4.in 2 | --- systemd-218.orig/units/console-getty.service.m4.in 2013-12-18 09:21:28.159729831 -0800 3 | +++ systemd-218/units/console-getty.service.m4.in 2015-02-15 21:48:20.437058659 -0800 4 | @@ -15,7 +15,7 @@ After=rc-local.service 5 | Before=getty.target 6 | 7 | [Service] 8 | -ExecStart=-/sbin/agetty --noclear --keep-baud console 115200,38400,9600 $TERM 9 | +ExecStart=-/usr/sbin/agetty --noclear --keep-baud console 115200,57600,38400,9600 $TERM 10 | Type=idle 11 | Restart=always 12 | RestartSec=0 13 | diff -Nrup systemd-218.orig/units/container-getty@.service.m4.in systemd-218/units/container-getty@.service.m4.in 14 | --- systemd-218.orig/units/container-getty@.service.m4.in 2014-12-08 17:11:59.720865793 -0800 15 | +++ systemd-218/units/container-getty@.service.m4.in 2015-02-15 21:48:32.153059031 -0800 16 | @@ -17,7 +17,7 @@ IgnoreOnIsolate=yes 17 | ConditionPathExists=/dev/pts/%I 18 | 19 | [Service] 20 | -ExecStart=-/sbin/agetty --noclear --keep-baud pts/%I 115200,38400,9600 $TERM 21 | +ExecStart=-/usr/sbin/agetty --noclear --keep-baud pts/%I 115200,57600,38400,9600 $TERM 22 | Type=idle 23 | Restart=always 24 | RestartSec=0 25 | diff -Nrup systemd-218.orig/units/getty@.service.m4 systemd-218/units/getty@.service.m4 26 | --- systemd-218.orig/units/getty@.service.m4 2014-06-16 17:43:43.878882549 -0700 27 | +++ systemd-218/units/getty@.service.m4 2015-02-15 21:43:36.501049638 -0800 28 | @@ -27,7 +27,7 @@ ConditionPathExists=/dev/tty0 29 | 30 | [Service] 31 | # the VT is cleared by TTYVTDisallocate 32 | -ExecStart=-/sbin/agetty --noclear %I $TERM 33 | +ExecStart=-/usr/sbin/agetty --noclear %I $TERM 34 | Type=idle 35 | Restart=always 36 | RestartSec=0 37 | diff -Nrup systemd-218.orig/units/serial-getty@.service.m4 systemd-218/units/serial-getty@.service.m4 38 | --- systemd-218.orig/units/serial-getty@.service.m4 2014-12-04 16:26:51.853977211 -0800 39 | +++ systemd-218/units/serial-getty@.service.m4 2015-02-15 21:48:08.673058285 -0800 40 | @@ -22,7 +22,7 @@ Before=getty.target 41 | IgnoreOnIsolate=yes 42 | 43 | [Service] 44 | -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM 45 | +ExecStart=-/usr/sbin/agetty --login-program /bin/ash --login-options "--login" --skip-login --keep-baud 115200,57600,38400,9600 %I $TERM 46 | Type=idle 47 | Restart=always 48 | UtmpIdentifier=%I 49 | -------------------------------------------------------------------------------- /systemd/systemd-common.mk: -------------------------------------------------------------------------------- 1 | SYSTEMD_BIN = \ 2 | busctl \ 3 | journalctl \ 4 | systemctl \ 5 | systemd-analyze \ 6 | systemd-ask-password \ 7 | systemd-cat \ 8 | systemd-cgls \ 9 | systemd-cgtop \ 10 | systemd-delta \ 11 | systemd-detect-virt \ 12 | systemd-escape \ 13 | systemd-machine-id-setup \ 14 | systemd-notify \ 15 | systemd-path \ 16 | systemd-run \ 17 | systemd-sysusers \ 18 | systemd-tty-ask-password-agent 19 | 20 | SYSTEMD_LIB = \ 21 | systemd \ 22 | systemd-ac-power \ 23 | systemd-activate \ 24 | systemd-bus-proxyd \ 25 | systemd-cgroups-agent \ 26 | systemd-fsck \ 27 | systemd-initctl \ 28 | systemd-journald \ 29 | systemd-machine-id-commit \ 30 | systemd-remount-fs \ 31 | systemd-reply-password \ 32 | systemd-shutdown \ 33 | systemd-shutdownd \ 34 | systemd-sleep \ 35 | systemd-socket-proxyd \ 36 | systemd-sysctl \ 37 | systemd-update-done 38 | 39 | SYSTEMD_SYSTEM_TARGET_WANTS = \ 40 | sockets.target.wants \ 41 | runlevel1.target.wants \ 42 | runlevel2.target.wants \ 43 | runlevel3.target.wants \ 44 | runlevel4.target.wants \ 45 | runlevel5.target.wants \ 46 | multi-user.target.wants \ 47 | local-fs.target.wants \ 48 | sysinit.target.wants 49 | 50 | SYSTEMD_SYSTEM_TARGETS = \ 51 | basic.target \ 52 | bluetooth.target \ 53 | ctrl-alt-del.target \ 54 | default.target \ 55 | emergency.target \ 56 | final.target \ 57 | getty.target \ 58 | graphical.target \ 59 | halt.target \ 60 | initrd-fs.target \ 61 | initrd-root-fs.target \ 62 | initrd-switch-root.target \ 63 | initrd.target \ 64 | kexec.target \ 65 | local-fs-pre.target \ 66 | local-fs.target \ 67 | machines.target \ 68 | multi-user.target \ 69 | network-online.target \ 70 | nss-lookup.target \ 71 | nss-user-lookup.target \ 72 | paths.target \ 73 | poweroff.target \ 74 | printer.target \ 75 | reboot.target \ 76 | remote-fs-pre.target \ 77 | remote-fs.target \ 78 | rescue.target \ 79 | rpcbind.target \ 80 | runlevel0.target \ 81 | runlevel1.target \ 82 | runlevel2.target \ 83 | runlevel3.target \ 84 | runlevel4.target \ 85 | runlevel5.target \ 86 | runlevel6.target \ 87 | shutdown.target \ 88 | sigpwr.target \ 89 | sleep.target \ 90 | slices.target \ 91 | smartcard.target \ 92 | sockets.target \ 93 | sound.target \ 94 | suspend.target \ 95 | swap.target \ 96 | sysinit.target \ 97 | system-update.target \ 98 | timers.target \ 99 | time-sync.target \ 100 | umount.target 101 | 102 | SYSTEMD_SYSTEM_SLICES = \ 103 | -.slice \ 104 | system.slice 105 | 106 | SYSTEMD_SYSTEM_SOCKETS = \ 107 | syslog.socket \ 108 | systemd-initctl.socket \ 109 | systemd-journald.socket \ 110 | systemd-journald-audit.socket \ 111 | systemd-journald-dev-log.socket \ 112 | systemd-shutdownd.socket 113 | 114 | SYSTEMD_SYSTEM_PATHS = \ 115 | systemd-ask-password-console.path \ 116 | systemd-ask-password-wall.path 117 | 118 | SYSTEMD_SYSTEM_SERVICES = \ 119 | autovt@.service \ 120 | console-getty.service \ 121 | console-shell.service \ 122 | container-getty@.service \ 123 | debug-shell.service \ 124 | emergency.service \ 125 | getty@.service \ 126 | halt-local.service \ 127 | initrd-cleanup.service \ 128 | initrd-parse-etc.service \ 129 | initrd-switch-root.service \ 130 | quotaon.service \ 131 | rc-local.service \ 132 | rescue.service \ 133 | serial-getty@.service \ 134 | systemd-ask-password-console.service \ 135 | systemd-ask-password-wall.service \ 136 | systemd-fsck-root.service \ 137 | systemd-fsck@.service \ 138 | systemd-halt.service \ 139 | systemd-initctl.service \ 140 | systemd-journald.service \ 141 | systemd-journal-catalog-update.service \ 142 | systemd-journal-flush.service \ 143 | systemd-kexec.service \ 144 | systemd-machine-id-commit.service \ 145 | systemd-poweroff.service \ 146 | systemd-reboot.service \ 147 | systemd-remount-fs.service \ 148 | systemd-shutdownd.service \ 149 | systemd-suspend.service \ 150 | systemd-sysctl.service \ 151 | systemd-sysusers.service \ 152 | systemd-update-done.service \ 153 | user@.service 154 | 155 | SYSTEMD_SYSTEM_MOUNTS = \ 156 | dev-hugepages.mount \ 157 | dev-mqueue.mount \ 158 | sys-fs-fuse-connections.mount \ 159 | sys-kernel-config.mount \ 160 | sys-kernel-debug.mount \ 161 | tmp.mount 162 | 163 | SYSTEMD_UDEVD_SYSTEM_SERVICES = \ 164 | initrd-udevadm-cleanup-db.service \ 165 | systemd-hwdb-update.service \ 166 | systemd-udev-settle.service \ 167 | systemd-udev-trigger.service 168 | 169 | SYSTEMD_UDEVD_SYSTEM_SOCKETS = \ 170 | systemd-udevd-control.socket \ 171 | systemd-udevd-kernel.socket 172 | 173 | SYSTEMD_UDEVD_LIBS = \ 174 | accelerometer \ 175 | ata_id \ 176 | cdrom_id \ 177 | collect \ 178 | mtd_probe \ 179 | scsi_id \ 180 | v4l_id --------------------------------------------------------------------------------