From: Harald Hoyer Date: Tue, 30 Jul 2013 14:19:03 +0000 (+0200) Subject: base/init.sh: create static device nodes with kmod X-Git-Tag: 031~14 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=904a76376fb91839199c3332be8deb4d5a422952;p=thirdparty%2Fdracut.git base/init.sh: create static device nodes with kmod --- diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh index 34be478fb..0e4cac559 100755 --- a/modules.d/99base/init.sh +++ b/modules.d/99base/init.sh @@ -81,6 +81,20 @@ if ! ismounted /run; then rm -fr -- /newrun fi +if command -v kmod >/dev/null 2>/dev/null; then + kmod static-nodes --format=tmpfiles 2>/dev/null | \ + while read type file mode a a a majmin; do + case $type in + d) + mkdir -m $mode -p $file + ;; + c) + mknod -m $mode $file $type ${majmin%:*} ${majmin#*:} + ;; + esac + done +fi + trap "action_on_fail Signal caught!" 0 [ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh index 0b7c1fedf..e7466df85 100755 --- a/modules.d/99base/module-setup.sh +++ b/modules.d/99base/module-setup.sh @@ -14,11 +14,12 @@ depends() { install() { local _d + dracut_install mount mknod mkdir sleep chroot \ sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid inst $(command -v modprobe) /sbin/modprobe - dracut_install -o findmnt less + dracut_install -o findmnt less kmod if [ ! -e "${initdir}/bin/sh" ]; then dracut_install bash