diff -urN dracut-024.orig/modules.d/95udev-rules/59-persistent-storage.rules dracut-024/modules.d/95udev-rules/59-persistent-storage.rules --- dracut-024.orig/modules.d/95udev-rules/59-persistent-storage.rules 2012-10-16 18:31:06.000000000 +0400 +++ dracut-024/modules.d/95udev-rules/59-persistent-storage.rules 2012-11-01 00:47:48.567110623 +0400 @@ -3,8 +3,8 @@ # Also don't process disks that are slated to be a multipath device ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end" -KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid" -KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid" +KERNEL=="cciss[0-9]*", IMPORT BLKID +KERNEL=="nbd[0-9]*", IMPORT BLKID KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end" @@ -21,7 +21,7 @@ LABEL="md_ignore_state" IMPORT{program}="/sbin/mdadm --detail --export $tempnode" -IMPORT{builtin}="blkid" +IMPORT BLKID OPTIONS+="link_priority=100" OPTIONS+="watch" LABEL="md_end" @@ -34,7 +34,7 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="ps_end" ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="ps_end" ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="ps_end" -IMPORT{builtin}="blkid" +IMPORT BLKID LABEL="ps_end" diff -urN dracut-024.orig/modules.d/95udev-rules/61-persistent-storage.rules dracut-024/modules.d/95udev-rules/61-persistent-storage.rules --- dracut-024.orig/modules.d/95udev-rules/61-persistent-storage.rules 2012-10-16 18:31:06.000000000 +0400 +++ dracut-024/modules.d/95udev-rules/61-persistent-storage.rules 2012-11-01 00:47:48.569110555 +0400 @@ -12,7 +12,7 @@ LABEL="do_pss" # by-path (parent device path) -ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}" ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" diff -urN dracut-024.orig/modules.d/95udev-rules/module-setup.sh dracut-024/modules.d/95udev-rules/module-setup.sh --- dracut-024.orig/modules.d/95udev-rules/module-setup.sh 2012-10-16 18:31:06.000000000 +0400 +++ dracut-024/modules.d/95udev-rules/module-setup.sh 2012-11-01 00:47:48.572110455 +0400 @@ -74,5 +74,7 @@ inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh inst_libdir_file "libnss_files*" + + inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh" } diff -urN dracut-024.orig/modules.d/95udev-rules/udev-rules-prepare.sh dracut-024/modules.d/95udev-rules/udev-rules-prepare.sh --- dracut-024.orig/modules.d/95udev-rules/udev-rules-prepare.sh 1970-01-01 03:00:00.000000000 +0300 +++ dracut-024/modules.d/95udev-rules/udev-rules-prepare.sh 2012-11-01 00:47:48.574110389 +0400 @@ -0,0 +1,25 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +for f in /etc/udev/rules.d/*-persistent-storage.rules; do + [ -e "$f" ] || continue + while read line; do + if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then + if [ $UDEVVERSION -ge 174 ]; then + printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}" + else + printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}" + fi + elif [ "${line%%IMPORT BLKID}" != "$line" ]; then + if [ $UDEVVERSION -ge 176 ]; then + printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}" + else + printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}" + fi + else + echo "$line" + fi + done < "${f}" > "${f}.new" + mv "${f}.new" "$f" +done diff -urN dracut-024.orig/modules.d/99base/init.sh dracut-024/modules.d/99base/init.sh --- dracut-024.orig/modules.d/99base/init.sh 2012-10-16 18:31:06.000000000 +0400 +++ dracut-024/modules.d/99base/init.sh 2012-11-01 00:47:48.575110355 +0400 @@ -83,7 +83,7 @@ [ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs -UDEVVERSION=$(udevadm --version) +export UDEVVERSION=$(udevadm --version) if [ $UDEVVERSION -gt 166 ]; then # newer versions of udev use /run/udev/rules.d export UDEVRULESD=/run/udev/rules.d