udev is now provided by systemd or eudev
v3 cover udev is now provided by systemd or eudev
This series converts udev to a virtual package, either provided by systemd or eudev.
Starting with version 183, udev has been merged into systemd. This forces the use of systemd as the init system if /dev is to be dynamically managed by udev. eudev is a fork of udev, maintained by Gentoo, but isolated from systemd, so it can be used with any init system.
Systemd has been bumped to v207 and a new eudev package has been added. Version 1.3 of eudev is in sync with systemd v207.
The bump of systemd to v207 also introduces new options, like the activation of the journal gateway.
In the end:
- if systemd is selected as init system, the /dev management will handled by udev. No either choice possible.
- if busybox or SysV is chosen, the user can choose to manage /dev statically, or dynamically using mdev or eudev.
Changes v2 -> v3:
- reordered patches for better bisectability (suggested by Thomas).
- removed uClibc support for Systemd (suggested by Arnout).
- bumped systemd to v207 (no more backport patches).
- bumped eudev to 1.3.
Changes v1 -> v2:
- split patch for better readability.
- promoted init system selection above /dev management in "System Configuration" menu.
- /dev management selection is not displayed if systemd is chosen as init system, as udev is the only possible choice (suggested by Arnout).
- added "Dynamic with eudev" choice in /dev management selection.
- less patches for systemd/uclibc compatibility, thanks to recent update of
uclibc 0.9.33.2.
- autoreconf not needed anymore for systemd (thanks to removal of configure.ac patch).
- ACL/Gudev support in systemd activated only if acl/libglib2 are selected (suggested by Arnout).
- udev package provides BR2_PACKAGE_HAS_UDEV (suggested by Thomas).
- converted packages depending on BR2_PACKAGE_UDEV/BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV to BR2_PACKAGE_HAS_UDEV.
- eudev source code fetched as a tarball, not from Git tree (suggested by Arnout).
- removed "enable all extras" option from eudev configuration: Gudev support is activated if libglib2 is selected (suggested by Arnout).
- added option to build udev rule generator in eudev, as it was in previous version of udev.
- removed dependency on hwdata for systemd and eudev, as both embed their own hardware database.
Best regards,
ELB
Eric Le Bihan (5):
system: move init system option above /dev management.
sysvinit: depend on SysV selected as init system.
eudev: new package.
udev: convert to virtual package.
systemd: bump to v207.
Config.in.legacy | 8 ++ package/Config.in | 1 + package/eudev/Config.in | 25 +++++++ package/eudev/S10udev | 48 ++++++++++++ package/eudev/eudev.mk | 50 +++++++++++++ package/libatasmart/Config.in | 4 +- package/network-manager/Config.in | 6 +- package/pcsc-lite/Config.in | 2 +- package/systemd/Config.in | 43 +++++++++-- package/systemd/systemd-fix-getty-unit.patch | 36 +++++---- package/systemd/systemd-fix-page-size.patch | 43 ----------- package/systemd/systemd-uclibc-fix.patch | 59 --------------- package/systemd/systemd.mk | 85 +++++++++++++++++----- package/sysvinit/Config.in | 1 + package/udev/Config.in | 43 +---------- package/udev/udev.mk | 47 +++--------- package/udisks/Config.in | 8 +- package/usbmount/Config.in | 4 +- package/weston/Config.in | 4 +- package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +- system/Config.in | 81 ++++++++++++--------- 21 files changed, 326 insertions(+), 276 deletions(-) create mode 100644 package/eudev/Config.in create mode 100755 package/eudev/S10udev create mode 100644 package/eudev/eudev.mk delete mode 100644 package/systemd/systemd-fix-page-size.patch delete mode 100644 package/systemd/systemd-uclibc-fix.patch
--
1.7.9.5
PATCH v3 1/5 system: move init system option above /dev management.
The option to choose init system was below the one for /dev management. As Systemd forces the use of udev, it is logical to swap them.
--- system/Config.in | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-)
system/Config.in +30 -30
@@ -67,35 +67,6 @@ config BR2_TARGET_GENERIC_PASSWD_METHOD default "sha-512" if BR2_TARGET_GENERIC_PASSWD_SHA512 choice - prompt "/dev management" - default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS - -config BR2_ROOTFS_DEVICE_CREATION_STATIC - bool "Static using device table" - -config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS - bool "Dynamic using devtmpfs only" - -config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV - bool "Dynamic using mdev" - select BR2_PACKAGE_BUSYBOX - -config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV - bool "Dynamic using udev" - depends on BR2_LARGEFILE # udev - depends on BR2_USE_WCHAR # udev - depends on !BR2_PREFER_STATIC_LIB # udev -> kmod - select BR2_PACKAGE_UDEV - -comment "udev needs a toolchain w/ largefile, wchar" - depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) - -comment "udev doesn't work with 'prefer static libraries'" - depends on BR2_PREFER_STATIC_LIB - -endchoice - -choice prompt "Init system" default BR2_INIT_BUSYBOX
@@ -118,7 +89,7 @@ config BR2_INIT_SYSTEMD select BR2_PACKAGE_DBUS select BR2_PACKAGE_SYSTEMD -comment 'systemd needs udev /dev management and a toolchain w/ largefile, wchar, IPv6, threads' +comment 'systemd requires largefile, wchar, IPv6, threads and udev support' depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \ BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV)
@@ -128,6 +99,35 @@ config BR2_INIT_NONE endchoice +choice + prompt "/dev management" + default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS + +config BR2_ROOTFS_DEVICE_CREATION_STATIC + bool "Static using device table" + +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS + bool "Dynamic using devtmpfs only" + +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV + bool "Dynamic using mdev" + select BR2_PACKAGE_BUSYBOX + +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + bool "Dynamic using udev" + depends on BR2_LARGEFILE # udev + depends on BR2_USE_WCHAR # udev + depends on !BR2_PREFER_STATIC_LIB # udev -> kmod + select BR2_PACKAGE_UDEV + +comment "udev requires a toolchain with LARGEFILE + WCHAR support" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + +comment "udev doesn't work with 'prefer static libraries'" + depends on BR2_PREFER_STATIC_LIB + +endchoice + config BR2_ROOTFS_DEVICE_TABLE string "Path to the permission tables" default "system/device_table.txt"
Signature · 1 line
1.7.9.5
PATCH v3 1/5 system: move init system option above /dev management.
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Eric" == Eric Le Bihan <[email protected]> writes:
The option to choose init system was below the one for /dev management. As Systemd forces the use of udev, it is logical to swap them.
Committed with some minor fixups to get it to apply, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v3 2/5 sysvinit: depend on SysV selected as init system.
In reply to Eric Le BihanIn order to prevent sysvinit and systemd to be selected at the same time, sysvinit can now only be selected if SysV is chosen as init system.
--- package/sysvinit/Config.in | 1 + 1 file changed, 1 insertion(+)
package/sysvinit/Config.in +1 -0
@@ -1,5 +1,6 @@ config BR2_PACKAGE_SYSVINIT bool "sysvinit" + depends on BR2_INIT_SYSV help /sbin/init - parent of all processes
Signature · 1 line
1.7.9.5
PATCH v3 2/5 sysvinit: depend on SysV selected as init system.
Dear Eric Le Bihan,
Quoted 5 lines · Eric Le Bihan
In order to prevent sysvinit and systemd to be selected at the same time, sysvinit can now only be selected if SysV is chosen as init system.
Signed-off-by Eric Le Bihan <[email protected]>
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 3/5 eudev: new package.
In reply to Eric Le Bihaneudev is a userspace device management daemon. It is a standalone version, independent from systemd. It is a fork maintained by Gentoo.
Features:
- No extra configuration options are available: Gudev is build if libglib2 is selected.
- No dependency on hwdata as the package uses its own hardware database (as does systemd).
eudev 1.3 is in sync with systemd v207.
--- package/Config.in | 1 + package/eudev/Config.in | 26 ++++++++++++++++++++++++ package/eudev/S10udev | 48 +++++++++++++++++++++++++++++++++++++++++++++ package/eudev/eudev.mk | 50 +++++++++++++++++++++++++++++++++++++++++++++++ system/Config.in | 13 ++++++++++++ 5 files changed, 138 insertions(+) create mode 100644 package/eudev/Config.in create mode 100755 package/eudev/S10udev create mode 100644 package/eudev/eudev.mk
package/Config.in +1 -0
@@ -274,6 +274,7 @@ source "package/dmraid/Config.in" source "package/dvb-apps/Config.in" source "package/dvbsnoop/Config.in" source "package/eeprog/Config.in" +source "package/eudev/Config.in" source "package/evtest/Config.in" source "package/fan-ctrl/Config.in" source "package/fconfig/Config.in"
package/eudev/Config.in new file +26 -0
@@ -0,0 +1,26 @@ +config BR2_PACKAGE_EUDEV + bool "eudev" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV + depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_KMOD + help + Userspace device daemon. This is a standalone version, + independent of systemd. It is a fork maintained by Gentoo. + + eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs. + + http://github.com/gentoo/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_EUDEV_RULES_GEN + bool "enable rules generator" + help + Enable persistant rules generator + +endif
package/eudev/S10udev new file +48 -0
48 lines not on this page · raw message
package/eudev/eudev.mk new file +50 -0
50 lines not on this page · raw message
system/Config.in +13 -0
@@ -126,6 +126,19 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support" comment "udev doesn't work with 'prefer static libraries'" depends on BR2_PREFER_STATIC_LIB +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV + bool "Dynamic using eudev" + depends on BR2_LARGEFILE + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + select BR2_PACKAGE_EUDEV + +comment "eudev requires a toolchain w/ largefile, wchar" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + +comment "eudev requires a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB + endchoice config BR2_ROOTFS_DEVICE_TABLE
Signature · 1 line
1.7.9.5
PATCH v3 3/5 eudev: new package.
Dear Eric Le Bihan,
Quoted 45 lines · Eric Le Bihan
eudev is a userspace device management daemon. It is a standalone version, independent from systemd. It is a fork maintained by Gentoo.
Features:
- No extra configuration options are available: Gudev is build if libglib2 is selected.
- No dependency on hwdata as the package uses its own hardware database (as does systemd).eudev 1.3 is in sync with systemd v207.
Signed-off-by Eric Le Bihan <[email protected]>--- package/Config.in | 1 + package/eudev/Config.in | 26 ++++++++++++++++++++++++ package/eudev/S10udev | 48 +++++++++++++++++++++++++++++++++++++++++++++ package/eudev/eudev.mk | 50 +++++++++++++++++++++++++++++++++++++++++++++++ system/Config.in | 13 ++++++++++++ 5 files changed, 138 insertions(+) create mode 100644 package/eudev/Config.in create mode 100755 package/eudev/S10udev create mode 100644 package/eudev/eudev.mkpackage/Config.in +1
-0@@ -274,6 +274,7 @@ source "package/dmraid/Config.in" source "package/dvb-apps/Config.in" source "package/dvbsnoop/Config.in" source "package/eeprog/Config.in" +source "package/eudev/Config.in" source "package/evtest/Config.in" source "package/fan-ctrl/Config.in" source "package/fconfig/Config.in"package/eudev/Config.in new file +3
-0@@ -0,0 +1,26 @@ +config BR2_PACKAGE_EUDEV + bool "eudev" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
package/eudev/Config.in line 13
Quoted 10 lines
package/eudev/Config.in new file +10
-0+ depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_KMOD + help + Userspace device daemon. This is a standalone version, + independent of systemd. It is a fork maintained by Gentoo.
The indentation of this part of the help text is wrong. It should be one tab + two spaces. Also, this package has dependencies on toolchain options, so we usually have corresponding comments... but it's true that the package will anyway only be visible when BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, and you have added the comments where BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is defined.
There is also a decision to be taken here: do we duplicate the dependencies here? If we don't duplicate the comments, then maybe we shouldn't duplicate the dependencies?
It is also worth noting that you forgot the !BR2_PREFER_STATIC_LIB dependency, which you have added on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV.
package/eudev/Config.in line 15
Quoted 1 line
package/eudev/Config.in new file +1
-0+ eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs.
I thought devtmpfs was added in 2.6.32. Are there other kernel features that are needed to make eudev work?
package/eudev/S10udev
Quoted 15 lines
package/eudev/Config.in new file +10
-0+ http://github.com/gentoo/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_EUDEV_RULES_GEN + bool "enable rules generator" + help + Enable persistant rules generator + +endifpackage/eudev/S10udev new file +0
-0
Are you using "git format-patch -M" to create your patches? It detects renames/copies, and this file appears to be a copy of the one in package/udev/, no?
Quoted 27 lines
package/eudev/eudev.mk new file +21
-0@@ -0,0 +1,50 @@ +################################################################################ +# +# eudev +# +################################################################################ + +EUDEV_VERSION = 1.3 +EUDEV_SITE = https://github.com/gentoo/eudev/archive/ +EUDEV_SOURCE = v$(EUDEV_VERSION).tar.gz +EUDEV_LICENSE = GPLv2+ +EUDEV_LICENSE_FILES = COPYING +EUDEV_INSTALL_STAGING = YES +EUDEV_AUTORECONF = YES + +# mq_getattr is in librt +EUDEV_CONF_ENV += LIBS=-lrt + +EUDEV_CONF_OPT = \ + --sbindir=/sbin \ + --with-rootlibdir=/lib \ + --libexecdir=/lib \
package/eudev/eudev.mk line 31
Quoted 10 lines
package/eudev/eudev.mk new file +10
-0+ --with-firmware-path=/lib/firmware \ + --disable-introspection \ + --enable-split-usr \ + --enable-libkmod + +EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod + +ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y) + EUDEV_CONF_OPT += --enable-rule_generator +endif
We usually don't indent the body of conditionals.
package/eudev/eudev.mk line 33
Quoted 2 lines
package/eudev/eudev.mk new file +2
-0+ +ifneq ($(BR2_LARGEFILE),y)
ifeq ($(BR2_LARGEFILE),)
to use positive logic.
Quoted 5 lines
package/eudev/eudev.mk new file +5
-0+ EUDEV_CONF_OPT += --disable-largefile +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) + EUDEV_CONF_OPT += --enable-gudev
package/eudev/eudev.mk line 48
Quoted 10 lines
package/eudev/eudev.mk new file +10
-0+ EUDEV_DEPENDENCIES += libglib2 +else + EUDEV_CONF_OPT += --disable-gudev +endif + +define EUDEV_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev +endef + +EUDEV_POST_INSTALL_TARGET_HOOKS += EUDEV_INSTALL_INIT_SYSV
This last line is not needed. <pkg>_INIT_SYSV is automatically used.
Quoted 10 lines
system/Config.in +2
-0@@ -126,6 +126,19 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support" comment "udev doesn't work with 'prefer static libraries'" depends on BR2_PREFER_STATIC_LIB +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV + bool "Dynamic using eudev"
system/Config.in comment "udev requires a toolchain with LARGEFILE + WCHAR support" · line 140
Quoted 10 lines
system/Config.in +10
-0+ depends on BR2_LARGEFILE + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + select BR2_PACKAGE_EUDEV + +comment "eudev requires a toolchain w/ largefile, wchar" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + +comment "eudev requires a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB
Can't you group those two comments?
system/Config.in comment "udev requires a toolchain with LARGEFILE + WCHAR support" · line 144
Quoted 4 lines
system/Config.in +1
-0+ endchoice config BR2_ROOTFS_DEVICE_TABLE
Other than these fairly minor comments, this patch looks ready to me.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 3/5 eudev: new package.
Hi Thomas, all,
On Wed, Nov 13, 2013 at 11:41 PM, Thomas Petazzoni <[email protected]> wrote:
[..]
Quoted 21 lines
package/eudev/Config.in line 13
Quoted 13 lines
package/eudev/Config.in new file +13
-0+config BR2_PACKAGE_EUDEV + bool "eudev" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV + depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_KMOD + help + Userspace device daemon. This is a standalone version, + independent of systemd. It is a fork maintained by Gentoo.The indentation of this part of the help text is wrong. It should be one tab + two spaces. Also, this package has dependencies on toolchain options, so we usually have corresponding comments... but it's true that the package will anyway only be visible when
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, and you have added the comments whereBR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEVis defined.
Quoted 4 lines
There is also a decision to be taken here: do we duplicate the dependencies here? If we don't duplicate the comments, then maybe we shouldn't duplicate the dependencies?
The advantage of duplicating the dependencies is that there is no room for mistakes. The policy is clear.
Take the example where package A depends on B and B needs threads. Strictly speaking, A does not need to repeat the dependency. However, what if A also needs threads. This may or may not be known to the author of that package (or anyone who touches its Config.in files). If a new version of B appears that no longer depends on threads and this dependency is removed from B/Config.in, the dependency of A on threads will no longer be expressed. This is a problem.
As making the difference between 'does the package itself also needs this dependency' or 'only the package dependencies have this dependency' is not obvious, having different rules in this matter creates a difficult to maintain situation IMO. Therefore, I am more in favor of duplicating the dependencies consistently, along with the comments.
Other inputs are obviously very welcome.
Best regards,
Thomas
PATCH v3 3/5 eudev: new package.
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas De Schampheleire <[email protected]> writes:
Hi,
Quoted 16 lines
Quoted 4 lines
There is also a decision to be taken here: do we duplicate the dependencies here? If we don't duplicate the comments, then maybe we shouldn't duplicate the dependencies?
The advantage of duplicating the dependencies is that there is no room for mistakes. The policy is clear.
Take the example where package A depends on B and B needs threads. Strictly speaking, A does not need to repeat the dependency. However, what if A also needs threads. This may or may not be known to the author of that package (or anyone who touches its Config.in files). If a new version of B appears that no longer depends on threads and this dependency is removed from B/Config.in, the dependency of A on threads will no longer be expressed. This is a problem.
Quoted 6 lines
As making the difference between 'does the package itself also needs this dependency' or 'only the package dependencies have this dependency' is not obvious, having different rules in this matter creates a difficult to maintain situation IMO. Therefore, I am more in favor of duplicating the dependencies consistently, along with the comments.
That's fine by me. It is certainly the simplest solution.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v3 3/5 eudev: new package.
In reply to Thomas De SchampheleireHi!
Quoted 6 lines · Thomas De Schampheleire
As making the difference between 'does the package itself also needs this dependency' or 'only the package dependencies have this dependency' is not obvious, having different rules in this matter creates a difficult to maintain situation IMO. Therefore, I am more in favor of duplicating the dependencies consistently, along with the comments.
Thanks for clarifying. I'll duplicate the dependencies and the comments in the next series.
PATCH v3 3/5 eudev: new package.
In reply to Thomas PetazzoniHi!
Quoted 4 lines · Thomas Petazzoni
package/eudev/Config.in line 15
Quoted 1 line
package/eudev/Config.in new file +1
-0+ eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs.I thought devtmpfs was added in 2.6.32. Are there other kernel features that are needed to make eudev work?
That's a typo. There are no exotic dependencies (unlike systemd which requires cgroup and tmpfs).
Quoted 3 lines
Are you using "git format-patch -M" to create your patches? It detects renames/copies, and this file appears to be a copy of the one in package/udev/, no?
Surprisingly, '-M' is not enough. I must use the '--find-copies-harder' option to detect the file copy.
Quoted 7 lines
system/Config.in comment "udev requires a toolchain with LARGEFILE + WCHAR support" · line 140
Quoted 5 lines
system/Config.in +5
-0+comment "eudev requires a toolchain w/ largefile, wchar" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + +comment "eudev requires a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIBCan't you group those two comments?
Unfortunately no. If I group them, the text gets cut in the kconfig menu.
Best Regards,
ELB
PATCH v3 3/5 eudev: new package.
Quoted 8 lines · Eric Le Bihan
Hi!
Quoted 4 lines · Thomas Petazzoni
Quoted 4 lines
Quoted 1 line
package/eudev/Config.in line 15
Quoted 1 line
package/eudev/Config.in new file +1
-0+ eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs.I thought devtmpfs was added in 2.6.32. Are there other kernel features that are needed to make eudev work?
Quoted 8 lines
That's a typo. There are no exotic dependencies (unlike systemd which requires cgroup and tmpfs).
Quoted 3 lines
Quoted 3 lines
Are you using "git format-patch -M" to create your patches? It detects renames/copies, and this file appears to be a copy of the one in package/udev/, no?
Surprisingly, '-M' is not enough. I must use the '--find-copies-harder' option to detect the file copy.
Since it's a copy, not a rename, you'd have to use -C.
Regards,
Arnout
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v3 4/5 udev: convert to virtual package.
In reply to Eric Le BihanThis patch converts udev to a virtual package. For the moment, there is only one provider for the udev features: eudev.
Packages meant to provide udev-like features must select the symbol BR2_PACKAGE_HAS_UDEV.
Packages depending on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV or BR2_PACKAGE_UDEV have been converted to use the new symbol.
--- Config.in.legacy | 8 ++++ package/eudev/Config.in | 1 - package/libatasmart/Config.in | 4 +- package/network-manager/Config.in | 6 +-- package/pcsc-lite/Config.in | 2 +- package/systemd/Config.in | 4 +- package/udev/Config.in | 43 +------------------ package/udev/udev.mk | 49 ++++------------------ package/udisks/Config.in | 8 ++-- package/usbmount/Config.in | 4 +- package/weston/Config.in | 4 +- package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +- system/Config.in | 19 ++------- 13 files changed, 38 insertions(+), 118 deletions(-)
Config.in.legacy +8 -0
@@ -167,6 +167,14 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION_WRAP # Note: BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION is still referenced from # linux/Config.in +config BR2_PACKAGE_UDEV + bool "udev is now a virtual package" + select BR2_PACKAGE_HAS_UDEV + help + The 'udev' package is now a virtual package. It is + currently only provided by 'eudev'. + + ############################################################################### comment "Legacy options removed in 2013.08"
package/eudev/Config.in +0 -1
@@ -3,7 +3,6 @@ config BR2_PACKAGE_EUDEV depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_LARGEFILE # util-linux depends on BR2_USE_WCHAR # util-linux - depends on !BR2_PACKAGE_SYSTEMD select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
package/libatasmart/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBATASMART bool "libatasmart" - depends on BR2_PACKAGE_UDEV # libudev is configure dependency + depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency help The libatasmart package is a disk reporting library. It only supports a subset of the ATA S.M.A.R.T. functionality.
@@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBATASMART http://www.linuxfromscratch.org/blfs/view/svn/general/libatasmart.html comment "libatasmart requires udev to be enabled" - depends on !BR2_PACKAGE_UDEV + depends on !BR2_PACKAGE_HAS_UDEV
package/network-manager/Config.in +2 -4
@@ -1,15 +1,13 @@ config BR2_PACKAGE_NETWORK_MANAGER bool "NetworkManager" - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV - select BR2_PACKAGE_DBUS depends on BR2_INET_IPV6 depends on BR2_LARGEFILE # acl depends on BR2_USE_WCHAR # libglib2 and gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB - select BR2_PACKAGE_UDEV - select BR2_PACKAGE_UDEV_ALL_EXTRAS select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBNL
package/pcsc-lite/Config.in +1 -1
@@ -11,7 +11,7 @@ if BR2_PACKAGE_PCSC_LITE config BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB bool "use libusb" - depends on !BR2_PACKAGE_UDEV + depends on !BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LIBUSB help Select Y if you want to support usb smart card readers.
package/systemd/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_SYSTEMD bool "systemd" - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_INET_IPV6 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus
@@ -19,5 +19,5 @@ config BR2_PACKAGE_SYSTEMD http://freedesktop.org/wiki/Software/systemd comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads" - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \\ + depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\ !BR2_TOOLCHAIN_HAS_THREADS
package/udev/Config.in +2 -41
43 lines not on this page · raw message
package/udev/udev.mk +9 -40
57 lines not on this page · raw message
package/udisks/Config.in +3 -5
@@ -1,10 +1,8 @@ config BR2_PACKAGE_UDISKS bool "udisks" - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2 depends on BR2_USE_MMU # lvm2 - select BR2_PACKAGE_UDEV - select BR2_PACKAGE_UDEV_ALL_EXTRAS select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB depends on BR2_USE_WCHAR # dbus-glib -> glib2
@@ -35,6 +33,6 @@ config BR2_PACKAGE_UDISKS_LVM2 endif -comment "udisks needs udev /dev management and a toolchain w/ wchar, threads" - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \ +comment "udisks requires /dev mgmnt set to udev, toolchain w/ wchar, threads" + depends on !BR2_PACKAGE_HAS_UDEV || \ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
package/usbmount/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_USBMOUNT bool "usbmount" - depends on BR2_PACKAGE_UDEV + depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LOCKFILE_PROGS help The usbmount package automatically mounts USB mass storage devices
@@ -9,4 +9,4 @@ config BR2_PACKAGE_USBMOUNT http://usbmount.alioth.debian.org/ comment "usbmount requires udev to be enabled" - depends on !BR2_PACKAGE_UDEV + depends on !BR2_PACKAGE_HAS_UDEV
package/weston/Config.in +2 -2
@@ -1,5 +1,5 @@ comment "weston needs udev and a toolchain w/ threads" - depends on !BR2_PACKAGE_UDEV || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_HAS_PACKAGE_UDEV || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_WESTON bool "weston"
@@ -10,7 +10,7 @@ config BR2_PACKAGE_WESTON select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_JPEG select BR2_PACKAGE_MTDEV - depends on BR2_PACKAGE_UDEV + depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_THREADS # wayland # Runtime dependency select BR2_PACKAGE_XKEYBOARD_CONFIG
package/x11r7/xdriver_xf86-input-evdev/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV bool "xf86-input-evdev" - depends on BR2_PACKAGE_UDEV # libudev is configure dependency + depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_XPROTO
@@ -8,4 +8,4 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV Generic Linux input driver comment "xf86-input-evdev requires udev to be enabled" - depends on !BR2_PACKAGE_UDEV + depends on !BR2_PACKAGE_HAS_UDEV
system/Config.in +3 -16
@@ -83,16 +83,16 @@ config BR2_INIT_SYSTEMD depends on BR2_LARGEFILE depends on BR2_USE_WCHAR depends on BR2_INET_IPV6 - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU select BR2_PACKAGE_DBUS select BR2_PACKAGE_SYSTEMD -comment 'systemd requires largefile, wchar, IPv6, threads and udev support' +comment 'systemd requires largefile, wchar, IPv6, threads and eudev support' depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \ BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \ - BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV) + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) config BR2_INIT_NONE bool "None"
@@ -113,19 +113,6 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV bool "Dynamic using mdev" select BR2_PACKAGE_BUSYBOX -config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV - bool "Dynamic using udev" - depends on BR2_LARGEFILE # udev - depends on BR2_USE_WCHAR # udev - depends on !BR2_PREFER_STATIC_LIB # udev -> kmod - select BR2_PACKAGE_UDEV - -comment "udev requires a toolchain with LARGEFILE + WCHAR support" - depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) - -comment "udev doesn't work with 'prefer static libraries'" - depends on BR2_PREFER_STATIC_LIB - config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV bool "Dynamic using eudev" depends on BR2_LARGEFILE
Signature · 1 line
1.7.9.5
PATCH v3 5/5 systemd: bump to v207.
In reply to Eric Le BihanThis patch bumps systemd to v207 but also declares it as a provider for the udev virtual package.
Starting with systemd 183, udev has been merged into systemd. The udev daemon is now installed as /lib/systemd/systemd-udevd. This means that /dev management using udev is only available if systemd is chosen as init system.
When configuring systemd, the following options are available:
- activation of systemd-journal-gatewayd, to access the journal via HTTP.
- activation of extra features like journal compression and sealing.
Support for uClibc has also been removed because:
- upstream has no interest in supporting uClibc.
- using a shrinked libc brings no advantage, given the size of all the programs included in Systemd. So using glibc does not matter.
--- package/systemd/Config.in | 43 +++++++++++-- package/systemd/systemd-fix-getty-unit.patch | 36 ++++++----- package/systemd/systemd-fix-page-size.patch | 43 ------------- package/systemd/systemd-uclibc-fix.patch | 59 ------------------ package/systemd/systemd.mk | 85 ++++++++++++++++++++------ package/udev/udev.mk | 4 ++ system/Config.in | 25 ++++++-- 7 files changed, 143 insertions(+), 152 deletions(-) delete mode 100644 package/systemd/systemd-fix-page-size.patch delete mode 100644 package/systemd/systemd-uclibc-fix.patch
package/systemd/Config.in +38 -5
@@ -1,11 +1,15 @@ config BR2_PACKAGE_SYSTEMD bool "systemd" - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV - depends on BR2_INET_IPV6 + depends on BR2_INIT_SYSTEMD depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus + select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_KMOD + 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
@@ -16,8 +20,37 @@ config BR2_PACKAGE_SYSTEMD elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. + Systemd also provides udev, the userspace device daemon. + + The selection of other packages will enable some features: + + - libglib2 package will add support for gudev. + - acl package will add support for multi-seat. + http://freedesktop.org/wiki/Software/systemd -comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads" - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\ - !BR2_TOOLCHAIN_HAS_THREADS +comment "systemd needs an (e)glibc toolchain w/ threads" + depends on (!BR2_INIT_SYSTEMD || !BR2_TOOLCHAIN_HAS_THREADS || \\ + !BR2_USE_MMU) + +if BR2_PACKAGE_SYSTEMD + +config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS + bool "enable all extras" + select BR2_PACKAGE_XZ + select BR2_PACKAGE_LIBGCRYPT + help + Enable extra features for Systemd: journal compression and + signing. + +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 + +endif
package/systemd/systemd-fix-getty-unit.patch +17 -19
@@ -1,34 +1,32 @@ Prefer getty to agetty in console setup systemd units Signed-off-by: Maxime Ripard <[email protected]> +Signed-off-by: Eric Le Bihan <[email protected]> --- - units/getty at .service.m4 | 2 +- - units/serial-getty at .service.m4 | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) -Index: systemd-37/units/getty at .service.m4 +Index: systemd-206/units/getty at .service.m4 =================================================================== ---- systemd-37.orig/units/getty at .service.m4 -+++ systemd-37/units/getty at .service.m4 -@@ -32,7 +32,7 @@ - +--- systemd-206.orig/units/getty at .service.m4 2013-07-22 00:43:28.000000000 +0200 ++++ systemd-206/units/getty at .service.m4 2013-09-18 10:20:17.000000000 +0200 +@@ -27,7 +27,7 @@ + [Service] - Environment=TERM=linux --ExecStart=-/sbin/agetty %I 38400 + # the VT is cleared by TTYVTDisallocate +-ExecStart=-/sbin/agetty --noclear %I +ExecStart=-/sbin/getty -L %I 115200 vt100 + Type=idle Restart=always RestartSec=0 - UtmpIdentifier=%I -Index: systemd-37/units/serial-getty at .service.m4 +Index: systemd-206/units/serial-getty at .service.m4 =================================================================== ---- systemd-37.orig/units/serial-getty at .service.m4 -+++ systemd-37/units/serial-getty at .service.m4 -@@ -32,7 +32,7 @@ - +--- systemd-206.orig/units/serial-getty at .service.m4 2013-07-22 00:43:28.000000000 +0200 ++++ systemd-206/units/serial-getty at .service.m4 2013-09-18 10:21:31.000000000 +0200 +@@ -22,7 +22,7 @@ + IgnoreOnIsolate=yes + [Service] - Environment=TERM=vt100 --ExecStart=-/sbin/agetty -s %I 115200,38400,9600 +-ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 +ExecStart=-/sbin/getty -L %I 115200 vt100 + Type=idle Restart=always RestartSec=0 - UtmpIdentifier=%I
package/systemd/systemd-fix-page-size.patch deleted +0 -43
43 lines not on this page · raw message
package/systemd/systemd-uclibc-fix.patch deleted +0 -59
59 lines not on this page · raw message
package/systemd/systemd.mk +65 -20
132 lines not on this page · raw message
package/udev/udev.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_EUDEV),y) UDEV_DEPENDENCIES += eudev endif +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + UDEV_DEPENDENCIES += systemd +endif + ifeq ($(UDEV_DEPENDENCIES),) define UDEV_CONFIGURE_CMDS echo "No Udev implementation selected. Configuration error."
system/Config.in +19 -6
@@ -80,19 +80,29 @@ config BR2_INIT_SYSV config BR2_INIT_SYSTEMD bool "systemd" + depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_LARGEFILE depends on BR2_USE_WCHAR depends on BR2_INET_IPV6 - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_SSP depends on BR2_USE_MMU - select BR2_PACKAGE_DBUS + depends on !BR2_PREFER_STATIC_LIB + select BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV select BR2_PACKAGE_SYSTEMD -comment 'systemd requires largefile, wchar, IPv6, threads and eudev support' +comment 'systemd needs a (e)glibc toolchain' + depends on !BR2_TOOLCHAIN_USES_GLIBC + +comment 'systemd needs a toolchain w/ largefile, wchar, IPv6, threads' depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \ - BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \ - BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) + BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS) + +comment 'systemd needs a toolchain w/ SSP' + depends on !BR2_TOOLCHAIN_HAS_SSP + +comment "systemd needs a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB config BR2_INIT_NONE bool "None"
@@ -100,7 +110,7 @@ config BR2_INIT_NONE endchoice choice - prompt "/dev management" + prompt "/dev management" if !BR2_INIT_SYSTEMD default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS config BR2_ROOTFS_DEVICE_CREATION_STATIC
@@ -128,6 +138,9 @@ comment "eudev requires a toolchain w/ dynamic library" endchoice +comment "/dev management using udev (from systemd)" + depends on BR2_INIT_SYSTEMD + config BR2_ROOTFS_DEVICE_TABLE string "Path to the permission tables" default "system/device_table.txt"
Signature · 1 line
1.7.9.5
v3 cover udev is now provided by systemd or eudev
In reply to Eric Le BihanHi!
Configuration files to build kernel and file system (for QEMU x86 and ARM) with support for systemd or eudev are available in the 'systemd-eudev-v2' branch of https://github.com/elebihan/buildroot/:
- elebihan_demo_systemd_{arm,x86}_defconfig
- elebihan_demo_eudev_{arm,x86}_defconfig.
Best Regards,
ELB
v3 cover udev is now provided by systemd or eudev
In reply to Eric Le BihanDear Eric Le Bihan,
Quoted 8 lines · Eric Le Bihan
This series converts udev to a virtual package, either provided by systemd or eudev.
Starting with version 183, udev has been merged into systemd. This forces the use of systemd as the init system if /dev is to be dynamically managed by udev. eudev is a fork of udev, maintained by Gentoo, but isolated from systemd, so it can be used with any init system.
Quoted 5 lines
Systemd has been bumped to v207 and a new eudev package has been added. Version 1.3 of eudev is in sync with systemd v207.
The bump of systemd to v207 also introduces new options, like the activation of the journal gateway.
I've tested this patch series. I managed to get the eudev part working without any problem.
However, while your demo defconfig work fine, I was not able to get a working configuration started from scratch. I.e, I have the following Buildroot configuration:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_SYSTEMD=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
and I boot it with the same kernel image that I used to boot the eudev example (under the ARM Versatile Qemu emulation). The kernel has cgroup support. But the boot hangs at:
Freeing unused kernel memory: 120K (c0399000 - c03b7000) systemd[1]: Failed to mount /dev/shm: Invalid argument
Also, I've noted that kconfig complains about a dependency problem after applying your patch set:
warning: (BR2_PACKAGE_SYSTEMD && BR2_PACKAGE_MODULE_INIT_TOOLS) selects BR2_PACKAGE_KMOD_TOOLS which has unmet direct dependencies (BR2_PACKAGE_KMOD && BR2_PACKAGE_BUSYBOX_SHOW_OTHERS)
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
v3 cover udev is now provided by systemd or eudev
Hi!
Le 14/11/2013 00:53, Thomas Petazzoni a ?crit :
Quoted 9 lines
However, while your demo defconfig work fine, I was not able to get a working configuration started from scratch. I.e, I have the following Buildroot configuration:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_SYSTEMD=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
Quoted 6 lines
and I boot it with the same kernel image that I used to boot the eudev example (under the ARM Versatile Qemu emulation). The kernel has cgroup support. But the boot hangs at:
Freeing unused kernel memory: 120K (
c0399000-c03b7000) systemd[1]: Failed to mount/dev/shm: Invalid argument
This problem occurs because tmpfs support is not enabled in your kernel configuration. Setting CONFIG_TMPFS and CONFIG_TMPFS_POSIX_ACL will solve this issue. I will add these kernel requirements in the help menu of Systemd.
Quoted 6 lines
Also, I've noted that kconfig complains about a dependency problem after applying your patch set:
warning: (
BR2_PACKAGE_SYSTEMD&&BR2_PACKAGE_MODULE_INIT_TOOLS) selectsBR2_PACKAGE_KMOD_TOOLSwhich has unmet direct dependencies (BR2_PACKAGE_KMOD&&BR2_PACKAGE_BUSYBOX_SHOW_OTHERS)
Thanks for noticing! As module-init-tools has been deprecated in favor of kmod, the tools lsmod, modprobe and friends are now symlinks to kmod. Systemd directly invokes kmod, so it can not be used with the ones provided by Busybox.
I will had a 'select BR2_PACKAGE_BUSYBOX_SHOW_OTHER' in the Config.in of Systemd.
Best regards,
ELB