diff --git a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh index 5642d531..12e213bb 100755 --- a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh +++ b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh @@ -14,7 +14,7 @@ case "$root" in ${root#live:/dev/} printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root $env{DEVNAME}"\n' \ ${root#live:/dev/} - } >> /etc/udev/rules.d/99-live-squash.rules + } >> $UDEVRULESD/99-live-squash.rules echo '[ -e /dev/root ]' > /initqueue-finished/dmsquash.sh ;; live:*) diff --git a/modules.d/95resume/resume-genrules.sh b/modules.d/95resume/resume-genrules.sh index dc2c71ae..92ce2fb3 100755 --- a/modules.d/95resume/resume-genrules.sh +++ b/modules.d/95resume/resume-genrules.sh @@ -17,7 +17,7 @@ if [ -n "$resume" ]; then ${resume#/dev/}; printf "SYMLINK==\"%s\", ACTION==\"add|change\", SYMLINK+=\"/dev/resume\"\n" \ ${resume#/dev/}; - } >> /dev/.udev/rules.d/99-resume-link.rules + } >> $UDEVRULESD/99-resume-link.rules { if [ -x /usr/sbin/resume ]; then diff --git a/modules.d/95rootfs-block/block-genrules.sh b/modules.d/95rootfs-block/block-genrules.sh index 0f4a4b3f..5cda7a49 100755 --- a/modules.d/95rootfs-block/block-genrules.sh +++ b/modules.d/95rootfs-block/block-genrules.sh @@ -8,7 +8,7 @@ if [ "${root%%:*}" = "block" ]; then ${root#block:/dev/} printf 'SYMLINK=="%s", SYMLINK+="root"\n' \ ${root#block:/dev/} - } >> /dev/.udev/rules.d/99-root.rules + } >> $UDEVRULESD/99-root.rules printf '[ -e "%s" ] && { ln -s "%s" /dev/root 2>/dev/null; rm "$job"; }\n' \ "${root#block:}" "${root#block:}" >> /initqueue-settled/blocksymlink.sh diff --git a/modules.d/99base/init b/modules.d/99base/init index f5851d9b..a3ac0056 100755 --- a/modules.d/99base/init +++ b/modules.d/99base/init @@ -108,15 +108,23 @@ ln -s /proc/self/fd/2 /dev/stderr >/dev/null 2>&1 mkdir -m 0755 /dev/shm /dev/pts /dev/.run mount -t devpts -o gid=5,mode=620,noexec,nosuid devpts /dev/pts >/dev/null 2>&1 mount -t tmpfs -o mode=1777,nosuid,nodev tmpfs /dev/shm >/dev/null 2>&1 - -# creat /dev/.run which will be /var/run +# create /dev/.run which will be /var/run mount -t tmpfs -o mode=0755,nodev,noexec,nosuid tmpfs /dev/.run >/dev/null 2>&1 -mkdir -m 0755 /dev/.run/udev /dev/.run/udev/rules.d /dev/.run/initramfs -# create compat symlinks -ln -s .run/initramfs /dev/.initramfs -ln -s /dev/.run /var/run -ln -s .run/udev /dev/.udev +mkdir -m 0755 /dev/.run/initramfs + +UDEVVERSION=$(udevadm --version) +if [ $UDEVVERSION -ge 999 ]; then + # newer versions of udev use /dev/.run/udev/rules.d + mkdir -m 0755 /dev/.run/udev /dev/.run/udev/rules.d + export UDEVRULESD=/dev/.run/udev/rules.d +else + mkdir -m 0755 /dev/.udev /dev/.udev/rules.d + export UDEVRULESD=/dev/.udev/rules.d +fi + +[ -e /var/run ] && rm -fr /var/run +ln -fs /dev/.run /var/run if getargbool 0 rd.debug -y rdinitdebug -y rdnetdebug; then getarg quiet && DRACUT_QUIET="yes" @@ -129,8 +137,6 @@ fi setdebug -UDEVVERSION=$(udevadm --version) - source_conf /etc/conf.d # run scriptlets to parse the command line