[packages/systemd] - creating static device nodes have been removed from udevd, we have to do this manually in start_
baggins
baggins at pld-linux.org
Wed Jul 31 18:54:23 CEST 2013
commit 8495ab1be0d5140c355f0066d8cb1de388256ad9
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Wed Jul 31 18:52:26 2013 +0200
- creating static device nodes have been removed from udevd,
we have to do this manually in start_udev to properly support
those in SysV init environment
start_udev | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
---
diff --git a/start_udev b/start_udev
index e55e0ef..1c91a38 100755
--- a/start_udev
+++ b/start_udev
@@ -38,7 +38,29 @@ udevd=/lib/udev/udevd
# trim traling slash, code expects it not to be there
udev_root=${udev_root%/}
-make_extra_nodes () {
+create_static_nodes() {
+ /sbin/kmod static-nodes --format=tmpfiles | \
+ while read type file mode uid gid age dev ; do
+ case $type in
+ d|D)
+ mkdir -p --mode=$mode $file
+ ;;
+ *)
+ oldIFS=$IFS
+ IFS=":"
+ set -- $dev
+ maj=$1
+ min=$2
+ IFS=$oldIFS
+ mknod --mode=$mode $file $type $maj $min
+ ;;
+ esac
+ [ $uid = "-" ] || chown $uid $file
+ [ $gid = "-" ] || chgrp $gid $file
+ done
+}
+
+make_extra_nodes() {
grep '^[^#]' /etc/udev/links.conf | \
while read type name arg1; do
[ "$type" -a "$name" -a ! -e "$udev_root/$name" -a ! -L "/dev/$name" ] ||continue
@@ -111,6 +133,9 @@ awk "\$2 == \"$udev_root\" && \$3 == \"devtmpfs\" { exit 1 }" /proc/mounts && {
kill_udevd > "$udev_root/null" 2>&1
+# Create required static device nodes for the current kernel
+create_static_nodes
+
# Start udevd daemon
$udevd --daemon; rc=$?
test $rc -eq 0 && ok || fail
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/systemd.git/commitdiff/8f6058f06fe5cbfbb7dc5968ceab23b3e0614df1
More information about the pld-cvs-commit
mailing list