diff --git a/0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch b/0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch
index 7e79db4..b8148e4 100644
--- a/0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch
+++ b/0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch
@@ -8,7 +8,7 @@ Subject: [PATCH] dracut-initramfs-restore: fix unpacking with early microcode
  1 file changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
-index f29c814..0dd1938 100644
+index f29c8146ed..0dd1938db7 100644
 --- a/dracut-initramfs-restore.sh
 +++ b/dracut-initramfs-restore.sh
 @@ -6,6 +6,10 @@ set -e
@@ -37,3 +37,6 @@ index f29c814..0dd1938 100644
      rm -f -- .need_shutdown
  else
      # something failed, so we clean up
+-- 
+1.9.3
+
diff --git a/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch b/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
deleted file mode 100644
index 8f4006e..0000000
--- a/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From e1ec3b48b3f63b30082bcfe7b0110ee24a989b67 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Fri, 23 May 2014 11:33:42 +0100
-Subject: [PATCH] kernel-modules: Fix storage module selection for
- sdhci/mmc/ahci
-
-Currently the block driver detection for generic initrd doesn't include
-the SD/MMC drivers so we fail to boot generic images on any device using
-those platforms as boot devices when using a generic initrd. Add logic
-to detect those modules. This primarily fixes embedded ARM devices but
-also likely intel tablets/dev boards and enterprise hypervisors that
-have the ability to boot from SD.
-
-Also the ahci_init_controller misses a number of drivers that use the
-libahci_platform module for the init so this fixes some missing achi
-moduless too.
-
-Finally it cleans up the ARM storage module hacks that the above now
-deals with in a more generic manner.
-
-Signed-off-by: <pbrobinson@gmail.com>
----
- modules.d/90kernel-modules/module-setup.sh | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
-index 2378663..5271438 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -6,7 +6,7 @@
- installkernel() {
-     if [[ -z $drivers ]]; then
-         block_module_filter() {
--            local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect'
-+            local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_pltfm_init'
-             # subfunctions inherit following FDs
-             local _merge=8 _side2=9
-             function bmf1() {
-@@ -51,9 +51,7 @@ installkernel() {
- 
-         if [[ "$(uname -p)" == arm* ]]; then
-             # arm specific modules
--            hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm \
--                omap_hsmmc panel-tfp410 sdhci_dove ahci_platform pata_imx sata_mv \
--                ehci-tegra mmc_block usb_storage
-+            hostonly='' instmods omapdrm panel-tfp410
-         fi
- 
-         # install virtual machine support
--- 
-1.9.3
-
diff --git a/0002-systemd-add-systemd-gpt-auto-generator.patch b/0002-systemd-add-systemd-gpt-auto-generator.patch
index 199d293..92bf5f5 100644
--- a/0002-systemd-add-systemd-gpt-auto-generator.patch
+++ b/0002-systemd-add-systemd-gpt-auto-generator.patch
@@ -8,7 +8,7 @@ Subject: [PATCH] systemd: add systemd-gpt-auto-generator
  1 file changed, 1 insertion(+)
 
 diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
-index c72aad4..e7bf73b 100755
+index c72aad4eec..e7bf73b9c9 100755
 --- a/modules.d/98systemd/module-setup.sh
 +++ b/modules.d/98systemd/module-setup.sh
 @@ -44,6 +44,7 @@ install() {
@@ -19,3 +19,6 @@ index c72aad4..e7bf73b 100755
          \
          $systemdsystemunitdir/cryptsetup.target \
          $systemdsystemunitdir/emergency.target \
+-- 
+1.9.3
+
diff --git a/0003-fcoe-wait-for-lldpad-to-be-ready.patch b/0003-fcoe-wait-for-lldpad-to-be-ready.patch
index 614caab..2330926 100644
--- a/0003-fcoe-wait-for-lldpad-to-be-ready.patch
+++ b/0003-fcoe-wait-for-lldpad-to-be-ready.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] fcoe: wait for lldpad to be ready
  2 files changed, 9 insertions(+), 3 deletions(-)
 
 diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
-index 511c554..dd45358 100755
+index 511c554a96..dd4535889f 100755
 --- a/modules.d/95fcoe/fcoe-up.sh
 +++ b/modules.d/95fcoe/fcoe-up.sh
 @@ -28,8 +28,14 @@ if [ "$dcb" = "dcb" ]; then
@@ -30,7 +30,7 @@ index 511c554..dd45358 100755
      sleep 1
      dcbtool sc "$netif" app:fcoe e:1 a:1 w:1
 diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
-index c502ba0..9a52c00 100755
+index c502ba003c..9a52c00837 100755
 --- a/modules.d/95fcoe/module-setup.sh
 +++ b/modules.d/95fcoe/module-setup.sh
 @@ -21,7 +21,7 @@ installkernel() {
@@ -42,3 +42,6 @@ index c502ba0..9a52c00 100755
  
      mkdir -m 0755 -p "$initdir/var/lib/lldpad"
  
+-- 
+1.9.3
+
diff --git a/0004-network-handle-ip-dhcp6-for-all-interfaces.patch b/0004-network-handle-ip-dhcp6-for-all-interfaces.patch
index 1b44804..24209ad 100644
--- a/0004-network-handle-ip-dhcp6-for-all-interfaces.patch
+++ b/0004-network-handle-ip-dhcp6-for-all-interfaces.patch
@@ -9,7 +9,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1064365
  1 file changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
-index 51b0d52..ede0188 100755
+index 51b0d52872..ede018832f 100755
 --- a/modules.d/40network/ifup.sh
 +++ b/modules.d/40network/ifup.sh
 @@ -364,7 +364,12 @@ fi
@@ -26,3 +26,6 @@ index 51b0d52..ede0188 100755
  fi
  
  exit 0
+-- 
+1.9.3
+
diff --git a/0005-lsinitrd.sh-prevent-construct.patch b/0005-lsinitrd.sh-prevent-construct.patch
index b2e21af..8c68b0e 100644
--- a/0005-lsinitrd.sh-prevent-construct.patch
+++ b/0005-lsinitrd.sh-prevent-construct.patch
@@ -21,7 +21,7 @@ foo < <$(bar)
  1 file changed, 29 insertions(+), 21 deletions(-)
 
 diff --git a/lsinitrd.sh b/lsinitrd.sh
-index 8dc9032..a697bc2 100755
+index 8dc9032378..a697bc2b75 100755
 --- a/lsinitrd.sh
 +++ b/lsinitrd.sh
 @@ -160,27 +160,35 @@ case $bin in
@@ -81,3 +81,6 @@ index 8dc9032..a697bc2 100755
  
  skipcpio()
  {
+-- 
+1.9.3
+
diff --git a/0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch b/0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch
index 5c22433..8da3b43 100644
--- a/0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch
+++ b/0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch
@@ -9,7 +9,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1064365
  1 file changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
-index 50e8932..ba05250 100755
+index 50e8932627..ba05250de9 100755
 --- a/modules.d/40network/dhclient-script.sh
 +++ b/modules.d/40network/dhclient-script.sh
 @@ -64,13 +64,17 @@ setup_interface6() {
@@ -33,3 +33,6 @@ index 50e8932..ba05250 100755
  
      [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf
      if  [ -n "$namesrv" ] ; then
+-- 
+1.9.3
+
diff --git a/0007-dm-add-dm-cache-modules.patch b/0007-dm-add-dm-cache-modules.patch
index d1254d7..dfcd1a1 100644
--- a/0007-dm-add-dm-cache-modules.patch
+++ b/0007-dm-add-dm-cache-modules.patch
@@ -9,7 +9,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1081435
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
-index 829c24b..2367588 100755
+index 829c24bde6..2367588967 100755
 --- a/modules.d/90dm/module-setup.sh
 +++ b/modules.d/90dm/module-setup.sh
 @@ -16,7 +16,7 @@ depends() {
@@ -21,3 +21,6 @@ index 829c24b..2367588 100755
  }
  
  # called by dracut
+-- 
+1.9.3
+
diff --git a/0008-fcoe-workaround-fcoe-timing-issues.patch b/0008-fcoe-workaround-fcoe-timing-issues.patch
index 5994a8d..a04dfa6 100644
--- a/0008-fcoe-workaround-fcoe-timing-issues.patch
+++ b/0008-fcoe-workaround-fcoe-timing-issues.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] fcoe: workaround fcoe timing issues
  2 files changed, 21 insertions(+), 4 deletions(-)
 
 diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
-index 80894ed..fa3af6d 100755
+index 80894ed2d5..fa3af6df0c 100755
 --- a/modules.d/95fcoe/fcoe-genrules.sh
 +++ b/modules.d/95fcoe/fcoe-genrules.sh
 @@ -13,4 +13,4 @@
@@ -19,7 +19,7 @@ index 80894ed..fa3af6d 100755
 -} > /etc/udev/rules.d/92-fcoe.rules
 +} >> /etc/udev/rules.d/92-fcoe.rules
 diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
-index dd45358..d8c73c8 100755
+index dd4535889f..d8c73c8147 100755
 --- a/modules.d/95fcoe/fcoe-up.sh
 +++ b/modules.d/95fcoe/fcoe-up.sh
 @@ -36,10 +36,27 @@ if [ "$dcb" = "dcb" ]; then
@@ -53,3 +53,6 @@ index dd45358..d8c73c8 100755
      fipvlan "$netif" -c -s
  elif [ "$netdriver" = "bnx2x" ]; then
      # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
+-- 
+1.9.3
+
diff --git a/0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch b/0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch
index 3704259..56690ae 100644
--- a/0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch
+++ b/0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch
@@ -18,7 +18,7 @@ Signed-off-by: WANG Chao <chaowang@redhat.com>
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/modules.d/95fstab-sys/mount-sys.sh b/modules.d/95fstab-sys/mount-sys.sh
-index 12711a0..a237810 100755
+index 12711a07dd..a23781012f 100755
 --- a/modules.d/95fstab-sys/mount-sys.sh
 +++ b/modules.d/95fstab-sys/mount-sys.sh
 @@ -27,7 +27,11 @@ fstab_mount() {
@@ -34,3 +34,6 @@ index 12711a0..a237810 100755
  
  # prefer $NEWROOT/etc/fstab.sys over local /etc/fstab.sys
  if [ -f $NEWROOT/etc/fstab.sys ]; then
+-- 
+1.9.3
+
diff --git a/0010-ifcfg-write-ifcfg.sh-turn-on-IPV6INIT-if-any-inet6-a.patch b/0010-ifcfg-write-ifcfg.sh-turn-on-IPV6INIT-if-any-inet6-a.patch
new file mode 100644
index 0000000..0d2d4b0
--- /dev/null
+++ b/0010-ifcfg-write-ifcfg.sh-turn-on-IPV6INIT-if-any-inet6-a.patch
@@ -0,0 +1,28 @@
+From d4dd3521bbdf8b66265af06778c6556d0f8aaf9a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Thu, 3 Apr 2014 08:53:09 +0200
+Subject: [PATCH] ifcfg/write-ifcfg.sh: turn on IPV6INIT, if any inet6 address
+ is found
+
+If "ip -6 addr" finds any inet6 address, assume IPV6INIT=yes for the
+ifcfg file.
+---
+ modules.d/45ifcfg/write-ifcfg.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index e2fa485053..486c69a3c7 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -122,7 +122,7 @@ for netup in /tmp/net.*.did-setup ; do
+         echo "UUID=\"$uuid\""
+         if [ -f /tmp/dhclient.$netif.lease ]; then
+             [ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
+-            strstr "$ip" '*:*:*' && echo "IPV6INIT=yes"
++            strstr "$(ip -6 addr show dev $netif)" 'inet6' && echo "IPV6INIT=yes"
+             if [ -f /tmp/net.$netif.has_ibft_config ]; then
+                 echo "BOOTPROTO=ibft"
+             else
+-- 
+1.9.3
+
diff --git a/0011-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch b/0011-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch
new file mode 100644
index 0000000..21a1ad6
--- /dev/null
+++ b/0011-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch
@@ -0,0 +1,30 @@
+From 12819a579900b9691e2bfaf14e76fbb025851530 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Thu, 3 Apr 2014 08:54:27 +0200
+Subject: [PATCH] lvm:module-setup.sh: check for existance of
+ 69-dm-lvm-metad.rules
+
+Before modifying 69-dm-lvm-metad.rules, we should check for the
+existance first. Otherwise this results in error messages on
+distributions (debian), which do not ship these rules.
+---
+ modules.d/90lvm/module-setup.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
+index 93a452e42d..5b810b9373 100755
+--- a/modules.d/90lvm/module-setup.sh
++++ b/modules.d/90lvm/module-setup.sh
+@@ -80,7 +80,8 @@ install() {
+     inst_rules 11-dm-lvm.rules 69-dm-lvm-metad.rules
+ 
+     # Do not run lvmetad update via pvscan in udev rule  - lvmetad is not running yet in dracut!
+-    if grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then
++    if [[ -f ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules ]] && \
++        grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then
+         sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
+         sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
+         sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
+-- 
+1.9.3
+
diff --git a/0012-Break-at-switch_root-only-for-bare-rd.break.patch b/0012-Break-at-switch_root-only-for-bare-rd.break.patch
new file mode 100644
index 0000000..36a9aa7
--- /dev/null
+++ b/0012-Break-at-switch_root-only-for-bare-rd.break.patch
@@ -0,0 +1,29 @@
+From ddfea6b54cfa8f8f6c970d970318568c8a8a4c78 Mon Sep 17 00:00:00 2001
+From: Chapman Flack <g2@anastigmatix.net>
+Date: Wed, 2 Apr 2014 21:57:00 -0400
+Subject: [PATCH] Break at switch_root only for bare rd.break
+
+Previously, any rd.break=breakpoint would cause a break at the
+given breakpoint and also at switch_root.
+---
+ modules.d/99base/init.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
+index 2364f4fccd..a1232eb5a4 100755
+--- a/modules.d/99base/init.sh
++++ b/modules.d/99base/init.sh
+@@ -353,7 +353,9 @@ wait_for_loginit
+ # remove helper symlink
+ [ -h /dev/root ] && rm -f -- /dev/root
+ 
+-getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switch_root"
++bv=$(getarg rd.break -d rdbreak) && [ -z "$bv" ] &&
++    emergency_shell -n switch_root "Break before switch_root"
++unset bv
+ info "Switching root"
+ 
+ 
+-- 
+1.9.3
+
diff --git a/0013-dracut-initqueue-service-runs-before-remote-fs-pre.t.patch b/0013-dracut-initqueue-service-runs-before-remote-fs-pre.t.patch
new file mode 100644
index 0000000..a8b0a72
--- /dev/null
+++ b/0013-dracut-initqueue-service-runs-before-remote-fs-pre.t.patch
@@ -0,0 +1,40 @@
+From b31250e7e6e6e104674dc304ba74965bb56074d6 Mon Sep 17 00:00:00 2001
+From: WANG Chao <chaowang@redhat.com>
+Date: Thu, 3 Apr 2014 15:49:26 +0800
+Subject: [PATCH] dracut-initqueue service runs before remote-fs-pre.target
+
+With the following commit, dracut doesn't mount anything from /etc/fstab
+
+commit e920bfb
+Author: WANG Chao <chaowang@redhat.com>
+Date:   Tue Apr 1 15:20:49 2014 +0800
+
+    fstab: do not mount and fsck from fstab if using systemd
+
+But systemd doesn't mount nfs at all, because no unit is pulling in
+remote-fs.target.
+
+dracut must pull in these remote fs mount and all these remote mounts
+should start only after network is up (ie. after dracut-initqueue).
+
+Signed-off-by: WANG Chao <chaowang@redhat.com>
+---
+ modules.d/98systemd/dracut-initqueue.service | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service
+index 03dcc4ebf5..1b9e701bea 100644
+--- a/modules.d/98systemd/dracut-initqueue.service
++++ b/modules.d/98systemd/dracut-initqueue.service
+@@ -11,6 +11,8 @@
+ Description=dracut initqueue hook
+ Documentation=man:dracut-initqueue.service(8)
+ DefaultDependencies=no
++Before=remote-fs-pre.target
++Wants=remote-fs-pre.target
+ After=systemd-udev-trigger.service
+ Wants=systemd-udev-trigger.service
+ ConditionPathExists=/etc/initrd-release
+-- 
+1.9.3
+
diff --git a/0014-fs-lib-always-install-fsck.-fs-if-present.patch b/0014-fs-lib-always-install-fsck.-fs-if-present.patch
new file mode 100644
index 0000000..fba5df8
--- /dev/null
+++ b/0014-fs-lib-always-install-fsck.-fs-if-present.patch
@@ -0,0 +1,43 @@
+From 100d575ec9ea4d4a31c5435c5684ae7eca0e0aff Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 4 Apr 2014 11:33:02 +0200
+Subject: [PATCH] fs-lib: always install fsck.$fs, if present
+
+---
+ modules.d/99fs-lib/module-setup.sh | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
+index 7979babd61..b6f85b15b4 100755
+--- a/modules.d/99fs-lib/module-setup.sh
++++ b/modules.d/99fs-lib/module-setup.sh
+@@ -17,10 +17,10 @@ echo_fs_helper() {
+     local dev=$1 fs=$2
+     case "$fs" in
+         xfs)
+-            echo -n " xfs_db xfs_repair xfs_check xfs_metadump "
++            echo -n " xfs_db xfs_repair xfs_check xfs_metadump"
+             ;;
+         ext?)
+-            echo -n " fsck.$fs e2fsck "
++            echo -n " e2fsck "
+             ;;
+         jfs)
+             echo -n " jfs_fsck "
+@@ -31,10 +31,10 @@ echo_fs_helper() {
+         btrfs)
+             echo -n " btrfsck "
+             ;;
+-        *)
+-            [[ -x fsck.$fs ]] && echo -n " fsck.$fs "
+-            ;;
+     esac
++
++    echo -n " fsck.$fs "
++    return 0
+ }
+ 
+ include_fs_helper_modules() {
+-- 
+1.9.3
+
diff --git a/0015-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch b/0015-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch
new file mode 100644
index 0000000..a0c0fbc
--- /dev/null
+++ b/0015-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch
@@ -0,0 +1,65 @@
+From fb0e5184a6506185998fd12d151f7d34d07c07b3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 4 Apr 2014 12:48:03 +0200
+Subject: [PATCH] ifcfg: do not bind persistent interface names to HWADDR
+
+---
+ modules.d/40network/net-lib.sh   | 27 +++++++++++++++++++++++++++
+ modules.d/45ifcfg/write-ifcfg.sh |  6 +++++-
+ 2 files changed, 32 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 7430e4ce18..5d4ae32cbb 100755
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -516,3 +516,30 @@ find_iface_with_link() {
+     done
+     return 1
+ }
++
++is_persistent_ethernet_name() {
++    [ -f /sys/class/net/$netif/addr_assign_type ] || return 1
++    [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1
++
++    case "$1" in
++        # udev persistent interface names
++        eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*)
++            ;;
++        eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*)
++            ;;
++        ens[0-9]|ens[0-9][0-9]|ens[0-9][0-9][0-9]*)
++            ;;
++        enp[0-9]s[0-9]*|enp[0-9][0-9]s[0-9]*|enp[0-9][0-9][0-9]*s[0-9]*)
++            ;;
++        enP*p[0-9]s[0-9]*|enP*p[0-9][0-9]s[0-9]*|enP*p[0-9][0-9][0-9]*s[0-9]*)
++            ;;
++        # biosdevname
++        em[0-9]|em[0-9][0-9]|em[0-9][0-9][0-9]*)
++            ;;
++        p[0-9]p[0-9]*|p[0-9][0-9]p[0-9]*|p[0-9][0-9][0-9]*p[0-9]*)
++            ;;
++        *)
++            return 1
++    esac
++    return 0
++}
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 486c69a3c7..2631fbe2ee 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -164,7 +164,11 @@ for netup in /tmp/net.*.did-setup ; do
+         {
+             [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
+             if ! print_s390 $netif; then
+-                [ -n "$macaddr" ] || echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
++                if [ -z "$macaddr" ] && \
++                    ! is_persistent_ethernet_name "$netif" && \
++                    [ -f /sys/class/net/$netif/address ]; then
++                    echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
++                fi
+             fi
+             echo "TYPE=Ethernet"
+             echo "NAME=\"$netif\""
+-- 
+1.9.3
+
diff --git a/0016-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch b/0016-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch
new file mode 100644
index 0000000..9cbbc58
--- /dev/null
+++ b/0016-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch
@@ -0,0 +1,42 @@
+From 2e094b20a6875fdb0a7ef8772e3d7688ad91c036 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 4 Apr 2014 12:52:39 +0200
+Subject: [PATCH] ifcfg: only bind to HWADDR, if addr_assign_type == 0
+
+/sys/class/net/$netif/addr_assign_type is != 0 for random MAC address
+interfaces
+---
+ modules.d/40network/net-lib.sh   | 3 ---
+ modules.d/45ifcfg/write-ifcfg.sh | 2 ++
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 5d4ae32cbb..d53e1a6ea9 100755
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -518,9 +518,6 @@ find_iface_with_link() {
+ }
+ 
+ is_persistent_ethernet_name() {
+-    [ -f /sys/class/net/$netif/addr_assign_type ] || return 1
+-    [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1
+-
+     case "$1" in
+         # udev persistent interface names
+         eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*)
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 2631fbe2ee..5dc351d584 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -166,6 +166,8 @@ for netup in /tmp/net.*.did-setup ; do
+             if ! print_s390 $netif; then
+                 if [ -z "$macaddr" ] && \
+                     ! is_persistent_ethernet_name "$netif" && \
++                    [ -f /sys/class/net/$netif/addr_assign_type ] && \
++                    [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] && \
+                     [ -f /sys/class/net/$netif/address ]; then
+                     echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
+                 fi
+-- 
+1.9.3
+
diff --git a/0017-i18n-parse-i18n.sh-fixed-typo-s-key-_key.patch b/0017-i18n-parse-i18n.sh-fixed-typo-s-key-_key.patch
new file mode 100644
index 0000000..685d9b9
--- /dev/null
+++ b/0017-i18n-parse-i18n.sh-fixed-typo-s-key-_key.patch
@@ -0,0 +1,26 @@
+From 2524cd25a0430812324a63f99c11c5e0c6927695 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Mon, 28 Apr 2014 12:47:45 +0200
+Subject: [PATCH] i18n/parse-i18n.sh: fixed typo s/$key/$_key
+
+Thanks xtraeme!
+---
+ modules.d/10i18n/parse-i18n.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/10i18n/parse-i18n.sh b/modules.d/10i18n/parse-i18n.sh
+index 135c57b5bc..8f256fa9b4 100755
+--- a/modules.d/10i18n/parse-i18n.sh
++++ b/modules.d/10i18n/parse-i18n.sh
+@@ -12,7 +12,7 @@ inst_key_val() {
+     _value="$(getarg $@)"
+     [ -z "${_value}" ] && _value=$_default
+     if [ -n "${_value}" ]; then
+-        printf '%s="%s"\n' $key ${_value} >> $_file
++        printf '%s="%s"\n' ${_key} ${_value} >> $_file
+     fi
+     unset _file
+     unset _value
+-- 
+1.9.3
+
diff --git a/0018-dracut-lib.sh-fixed-return-value-of-pidof.patch b/0018-dracut-lib.sh-fixed-return-value-of-pidof.patch
new file mode 100644
index 0000000..951e5b8
--- /dev/null
+++ b/0018-dracut-lib.sh-fixed-return-value-of-pidof.patch
@@ -0,0 +1,39 @@
+From a74176588b2219b1f8df2671e5f60f3d27222958 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 7 May 2014 13:33:14 +0200
+Subject: [PATCH] dracut-lib.sh: fixed return value of pidof()
+
+pidof always returned with 0, so any "while pidof" loop would not
+terminate.
+
+Thanks "Consus" for the hint!
+---
+ modules.d/99base/dracut-lib.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index e4d7da8edb..98ea451fc9 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -969,6 +969,7 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
+         local _cmd
+         local _exe
+         local _rl
++        local _ret=1
+         local i
+         _cmd="$1"
+         [ -z "$_cmd" ] && return 1
+@@ -983,8 +984,9 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
+             fi
+             i=${i%/exe}
+             echo ${i##/proc/}
++            _ret=0
+         done
+-        return 0
++        return $_ret
+     }
+ fi
+ 
+-- 
+1.9.3
+
diff --git a/0019-Do-not-log-to-kmsg-syslog-and-files-for-print-cmdlin.patch b/0019-Do-not-log-to-kmsg-syslog-and-files-for-print-cmdlin.patch
new file mode 100644
index 0000000..3c92aca
--- /dev/null
+++ b/0019-Do-not-log-to-kmsg-syslog-and-files-for-print-cmdlin.patch
@@ -0,0 +1,38 @@
+From 99801b6e39b19bd6c4dfe3c033cf2cfb8a38ccd1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 7 May 2014 14:54:56 +0200
+Subject: [PATCH] Do not log to kmsg/syslog and files for "--print-cmdline"
+
+---
+ dracut.sh | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/dracut.sh b/dracut.sh
+index c1ef4745c6..c4163bcfec 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -834,6 +834,13 @@ trap 'exit 1;' SIGINT
+ export DRACUT_KERNEL_LAZY="1"
+ export DRACUT_RESOLVE_LAZY="1"
+ 
++if [[ $print_cmdline ]]; then
++    stdloglvl=0
++    sysloglvl=0
++    fileloglvl=0
++    kmsgloglvl=0
++fi
++
+ if [[ -f $dracutbasedir/dracut-functions.sh ]]; then
+     . $dracutbasedir/dracut-functions.sh
+ else
+@@ -907,6 +914,7 @@ for ((i=0; i < ${#dracut_args[@]}; i++)); do
+         dracut_args[$i]="\"${dracut_args[$i]}\""
+         #" keep vim happy
+ done
++
+ dinfo "Executing: $0 ${dracut_args[@]}"
+ 
+ [[ $do_list = yes ]] && {
+-- 
+1.9.3
+
diff --git a/0020-resume-parse-resume.sh-correctly-write-timeout-hook.patch b/0020-resume-parse-resume.sh-correctly-write-timeout-hook.patch
new file mode 100644
index 0000000..47fa387
--- /dev/null
+++ b/0020-resume-parse-resume.sh-correctly-write-timeout-hook.patch
@@ -0,0 +1,30 @@
+From 0ff31640421c628f6405f667f1404b1d74ea396b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 7 May 2014 15:30:01 +0200
+Subject: [PATCH] resume/parse-resume.sh: correctly write timeout hook
+
+---
+ modules.d/95resume/parse-resume.sh | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh
+index d7b2d7f96a..6ab59c359a 100755
+--- a/modules.d/95resume/parse-resume.sh
++++ b/modules.d/95resume/parse-resume.sh
+@@ -70,9 +70,10 @@ if ! getarg noresume; then
+         printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm -f -- "$job" "%s/initqueue/timeout/resume.sh"; }\n' \
+             "$resume" "$resume" "$hookdir" >> $hookdir/initqueue/settled/resume.sh
+ 
+-        printf -- "%s" 'warn "Cancelling resume operation. Device not found.";'
+-        printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' \
+-            "$hookdir" >> $hookdir/initqueue/timeout/resume.sh
++        {
++            printf -- "%s" 'warn "Cancelling resume operation. Device not found.";'
++            printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' "$hookdir"
++        } >> $hookdir/initqueue/timeout/resume.sh
+ 
+         mv /lib/dracut/resume.sh /lib/dracut/hooks/pre-mount/10-resume.sh
+     else
+-- 
+1.9.3
+
diff --git a/0021-ifcfg-write-ifcfg.sh-IPV6INIT-yes-check-also-for-non.patch b/0021-ifcfg-write-ifcfg.sh-IPV6INIT-yes-check-also-for-non.patch
new file mode 100644
index 0000000..d32da01
--- /dev/null
+++ b/0021-ifcfg-write-ifcfg.sh-IPV6INIT-yes-check-also-for-non.patch
@@ -0,0 +1,27 @@
+From e094f77d93e2e68aeb3d4488c3f5990ddd47081b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Mon, 12 May 2014 13:53:38 +0200
+Subject: [PATCH] ifcfg/write-ifcfg.sh: "IPV6INIT=yes" check also for non-dhcp
+
+---
+ modules.d/45ifcfg/write-ifcfg.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 5dc351d584..457a9ac4ac 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -120,9 +120,9 @@ for netup in /tmp/net.*.did-setup ; do
+         echo "ONBOOT=yes"
+         echo "NETBOOT=yes"
+         echo "UUID=\"$uuid\""
++        strstr "$(ip -6 addr show dev $netif)" 'inet6' && echo "IPV6INIT=yes"
+         if [ -f /tmp/dhclient.$netif.lease ]; then
+             [ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
+-            strstr "$(ip -6 addr show dev $netif)" 'inet6' && echo "IPV6INIT=yes"
+             if [ -f /tmp/net.$netif.has_ibft_config ]; then
+                 echo "BOOTPROTO=ibft"
+             else
+-- 
+1.9.3
+
diff --git a/0022-cms-cmssetup.sh-convert-SUBCHANNELS-to-lowercase.patch b/0022-cms-cmssetup.sh-convert-SUBCHANNELS-to-lowercase.patch
new file mode 100644
index 0000000..602d41a
--- /dev/null
+++ b/0022-cms-cmssetup.sh-convert-SUBCHANNELS-to-lowercase.patch
@@ -0,0 +1,25 @@
+From 2bdc384b77d0a06227e8a893fbbd4f47d413d421 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Mon, 12 May 2014 14:36:08 +0200
+Subject: [PATCH] cms/cmssetup.sh: convert SUBCHANNELS to lowercase
+
+In udev rules, the channels need to be expressed in lower case.
+---
+ modules.d/80cms/cmssetup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh
+index 36955bc3b4..c9e1331466 100755
+--- a/modules.d/80cms/cmssetup.sh
++++ b/modules.d/80cms/cmssetup.sh
+@@ -144,6 +144,7 @@ function dasd_settle_all() {
+     processcmsfile()
+     {
+         source /tmp/cms.conf
++        SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
+ 
+         if [[ $NETTYPE ]]; then
+ 	    (
+-- 
+1.9.3
+
diff --git a/0023-mdraid-module-setup.sh-fixed-print-cmdline-for-empty.patch b/0023-mdraid-module-setup.sh-fixed-print-cmdline-for-empty.patch
new file mode 100644
index 0000000..a61afe4
--- /dev/null
+++ b/0023-mdraid-module-setup.sh-fixed-print-cmdline-for-empty.patch
@@ -0,0 +1,31 @@
+From c910bbb8d6678c01799a0bbe1b02f5182214c023 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 14 May 2014 16:38:49 +0200
+Subject: [PATCH] mdraid/module-setup.sh: fixed print-cmdline for empty UUID
+
+fixes
+
+/usr/lib/dracut/modules.d/90mdraid/module-setup.sh: line 60:
+_activated["${UUID}"]: bad array subscript
+
+Thanks to Jan ONDREJ for spotting this!
+---
+ modules.d/90mdraid/module-setup.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
+index ac745d1cef..81c94f2d36 100755
+--- a/modules.d/90mdraid/module-setup.sh
++++ b/modules.d/90mdraid/module-setup.sh
+@@ -54,6 +54,8 @@ cmdline() {
+             done
+         )
+ 
++        [[ -z "$UUID" ]] && continue
++
+         if ! [[ ${_activated[${UUID}]} ]]; then
+             printf "%s" " rd.md.uuid=${UUID}"
+             _activated["${UUID}"]=1
+-- 
+1.9.3
+
diff --git a/0024-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch b/0024-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch
new file mode 100644
index 0000000..55f1a10
--- /dev/null
+++ b/0024-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch
@@ -0,0 +1,26 @@
+From d04e4563ae917764eff9780c19db232993d8f957 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 16 May 2014 13:32:47 +0200
+Subject: [PATCH] ifcfg/write-ifcfg.sh: include net-lib.sh
+
+otherwise is_persistent_ethernet_name() is missing
+---
+ modules.d/45ifcfg/write-ifcfg.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 457a9ac4ac..7f997a2afd 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -3,6 +3,8 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ # NFS root might have reached here before /tmp/net.ifaces was written
++type is_persistent_ethernet_name >/dev/null 2>&1 || . /lib/net-lib.sh
++
+ udevadm settle --timeout=30
+ 
+ if [ -e /tmp/bridge.info ]; then
+-- 
+1.9.3
+
diff --git a/0025-nbd-nbdroot.sh-call-nbd-client-with-systemd-mark.patch b/0025-nbd-nbdroot.sh-call-nbd-client-with-systemd-mark.patch
new file mode 100644
index 0000000..b647e3d
--- /dev/null
+++ b/0025-nbd-nbdroot.sh-call-nbd-client-with-systemd-mark.patch
@@ -0,0 +1,28 @@
+From 6a8dec999380f3dcae608e2433f8179ddef08f8e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 16 May 2014 13:33:33 +0200
+Subject: [PATCH] nbd/nbdroot.sh: call nbd-client with "--systemd-mark"
+
+otherwise nbd-client will get killed by systemd
+---
+ modules.d/95nbd/nbdroot.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh
+index 32f346d3d9..8bfbebcbda 100755
+--- a/modules.d/95nbd/nbdroot.sh
++++ b/modules.d/95nbd/nbdroot.sh
+@@ -111,6 +111,10 @@ if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then
+     fi
+ fi
+ 
++if strstr "$(nbd-client --help 2>&1)" "systemd-mark"; then
++    preopts="--systemd-mark $preopts"
++fi
++
+ nbd-client $preopts "$nbdserver" $nbdport /dev/nbd0 $opts || exit 1
+ 
+ # NBD doesn't emit uevents when it gets connected, so kick it
+-- 
+1.9.3
+
diff --git a/0026-fcoe-uefi-parse-uefifcoe.sh-fixed-parameter-generati.patch b/0026-fcoe-uefi-parse-uefifcoe.sh-fixed-parameter-generati.patch
new file mode 100644
index 0000000..eec9038
--- /dev/null
+++ b/0026-fcoe-uefi-parse-uefifcoe.sh-fixed-parameter-generati.patch
@@ -0,0 +1,27 @@
+From dff1aefba4d8e3b756a989309c56a2b0f24a6b6f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Tue, 20 May 2014 11:22:26 +0200
+Subject: [PATCH] fcoe-uefi/parse-uefifcoe.sh: fixed parameter generation from
+ UEFI
+
+"fcoe=" was missing for the parameter specifying the interface
+---
+ modules.d/95fcoe-uefi/parse-uefifcoe.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/95fcoe-uefi/parse-uefifcoe.sh b/modules.d/95fcoe-uefi/parse-uefifcoe.sh
+index 0799cdd64f..7b8f1a6f67 100755
+--- a/modules.d/95fcoe-uefi/parse-uefifcoe.sh
++++ b/modules.d/95fcoe-uefi/parse-uefifcoe.sh
+@@ -26,7 +26,7 @@ print_fcoe_uefi_conf()
+         esac
+     fi
+     # fcoe=eth0:nodcb
+-    printf "%s\n" "$dev:nodcb"
++    printf "fcoe=%s\n" "$dev:nodcb"
+     return 0
+ }
+ 
+-- 
+1.9.3
+
diff --git a/0027-dracut-functions.sh-print_vars-fix-for-values-with-s.patch b/0027-dracut-functions.sh-print_vars-fix-for-values-with-s.patch
new file mode 100644
index 0000000..d583dac
--- /dev/null
+++ b/0027-dracut-functions.sh-print_vars-fix-for-values-with-s.patch
@@ -0,0 +1,38 @@
+From ba5b59498d225f237edb02bc6774308597ea8d8f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Tue, 20 May 2014 11:27:42 +0200
+Subject: [PATCH] dracut-functions.sh:print_vars() fix for values with spaces
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+for a variable with spaces, e.g.:
+EXT_KEYMAPS='backspace keypad euro2'
+
+The following would occur:
+print_vars: eval printf -v _value %s '$EXT_KEYMAPS'
+print_vars: printf -v _value %s backspace keypad euro2
+print_vars: [[ -n backspacekeypadeuro2 ]]
+print_vars: printf '%s=\"%s\"\n' EXT_KEYMAPS backspacekeypadeuro2
+
+Thanks to Sebastian Köln for the fix!
+---
+ dracut-functions.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 391b549b27..6754cc5e29 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -221,7 +221,7 @@ print_vars() {
+ 
+     for _var in "$@"
+     do
+-        eval printf -v _value "%s" "\$$_var"
++        eval printf -v _value "%s" \""\$$_var"\"
+         [[ ${_value} ]] && printf '%s="%s"\n' "$_var" "$_value"
+     done
+ }
+-- 
+1.9.3
+
diff --git a/0028-98systemd-fixup-rootfs-generator-installation-path.patch b/0028-98systemd-fixup-rootfs-generator-installation-path.patch
new file mode 100644
index 0000000..88687ee
--- /dev/null
+++ b/0028-98systemd-fixup-rootfs-generator-installation-path.patch
@@ -0,0 +1,31 @@
+From c0957b501218e5d1b8520da12e81c4659b867c2e Mon Sep 17 00:00:00 2001
+From: Hannes Reinecke <hare@suse.de>
+Date: Tue, 20 May 2014 11:20:10 +0200
+Subject: [PATCH] 98systemd: fixup rootfs-generator installation path
+
+The rootfs-generator was installed in the wrong path
+in the initrd, cause it never to be run.
+
+References: bnc#878714
+
+Signed-off-by: Hannes Reinecke <hare@suse.de>
+---
+ modules.d/98systemd/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index e7bf73b9c9..cf1b2e71f1 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -192,7 +192,7 @@ install() {
+     inst_script "$moddir/dracut-mount.sh" /bin/dracut-mount
+     inst_script "$moddir/dracut-pre-pivot.sh" /bin/dracut-pre-pivot
+ 
+-    inst_script "$moddir/rootfs-generator.sh" /lib/systemd/system-generators/dracut-rootfs-generator
++    inst_script "$moddir/rootfs-generator.sh" $systemdutildir/system-generators/dracut-rootfs-generator
+ 
+     inst_binary true
+     ln_r $(type -P true) "/usr/bin/loginctl"
+-- 
+1.9.3
+
diff --git a/0029-udev-rules-include-59-scsi-sg3_utils.rules.patch b/0029-udev-rules-include-59-scsi-sg3_utils.rules.patch
new file mode 100644
index 0000000..fdee8ff
--- /dev/null
+++ b/0029-udev-rules-include-59-scsi-sg3_utils.rules.patch
@@ -0,0 +1,33 @@
+From 3e4d4113564f300fd0bc7fecb409ffbcc590c985 Mon Sep 17 00:00:00 2001
+From: Julian Wolf <juwolf@suse.com>
+Date: Thu, 3 Apr 2014 14:55:19 +0200
+Subject: [PATCH] udev-rules: include 59-scsi-sg3_utils.rules
+
+Without the 59-scsi-sg3_utils.rules udev-rule a couple of devices are missing
+in /dev/disk/by-id.
+
+If the luks device is specified by-id in /etc/crypttab and rd.luks.uuid not
+passed as a commandline parameter during boot, systemd tries to start its
+crypto services which depend on those missing devices until it times out and
+exits to dracut rescue shell.
+
+Signed-off-by: Julian Wolf <juwolf@suse.com>
+---
+ modules.d/95udev-rules/module-setup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index 2d3671237c..fab4ffc960 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -32,6 +32,7 @@ install() {
+         60-pcmcia.rules \
+         50-udev.rules 95-late.rules \
+         50-firmware.rules \
++        59-scsi-sg3_utils.rules \
+         75-net-description.rules \
+         80-net-name-slot.rules 80-net-setup-link.rules \
+         "$moddir/59-persistent-storage.rules" \
+-- 
+1.9.3
+
diff --git a/0030-resume-module-setup.sh-filter-out-empty-resume-optio.patch b/0030-resume-module-setup.sh-filter-out-empty-resume-optio.patch
new file mode 100644
index 0000000..1f118f8
--- /dev/null
+++ b/0030-resume-module-setup.sh-filter-out-empty-resume-optio.patch
@@ -0,0 +1,37 @@
+From 4a3e812e0b6a3974bff0f0b1232d3ac95efe8902 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander@tsoy.me>
+Date: Fri, 16 May 2014 21:12:36 +0400
+Subject: [PATCH] resume/module-setup.sh: filter out empty resume= options in
+ cmdline()
+
+cmdline() prints empty "resume=" options for non-persistent swap
+devices, for example zram. Add a check for that.
+
+This patch also fixes printf formatting and removes unused variables.
+---
+ modules.d/95resume/module-setup.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
+index ceb785510f..b1b4684b76 100755
+--- a/modules.d/95resume/module-setup.sh
++++ b/modules.d/95resume/module-setup.sh
+@@ -17,12 +17,12 @@ check() {
+ 
+ # called by dracut
+ cmdline() {
+-    local _activated
+-    declare -A _activated
++    local _resume
+ 
+     for dev in "${!host_fs_types[@]}"; do
+         [[ ${host_fs_types[$dev]} =~ ^(swap|swsuspend|swsupend)$ ]] || continue
+-        printf "resume=%s " "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
++        _resume=$(shorten_persistent_dev "$(get_persistent_dev "$dev")")
++        [[ -n ${_resume} ]] && printf " resume=%s" "${_resume}"
+     done
+ }
+ 
+-- 
+1.9.3
+
diff --git a/0031-dracut-pre-pivot-pulls-in-remote-fs.target.patch b/0031-dracut-pre-pivot-pulls-in-remote-fs.target.patch
new file mode 100644
index 0000000..4bc6eb0
--- /dev/null
+++ b/0031-dracut-pre-pivot-pulls-in-remote-fs.target.patch
@@ -0,0 +1,31 @@
+From 4f8af0528de94c6c0e7d8613f257676593a9038b Mon Sep 17 00:00:00 2001
+From: WANG Chao <chaowang@redhat.com>
+Date: Fri, 4 Apr 2014 14:37:42 +0800
+Subject: [PATCH] dracut-pre-pivot pulls in remote-fs.target
+
+It turns out that commit f30b74e (dracut-initqueue service runs before
+remote-fs-pre.target) is partial fix for remote fs mounts. Because no
+one pulls in remote-fs.target, we can never start remote fs mounts.
+Now pull in remote-fs.target in dracut-pre-pivot.
+
+Signed-off-by: WANG Chao <chaowang@redhat.com>
+---
+ modules.d/98systemd/dracut-pre-pivot.service | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
+index 6db1f2c077..d7c7b1d785 100644
+--- a/modules.d/98systemd/dracut-pre-pivot.service
++++ b/modules.d/98systemd/dracut-pre-pivot.service
+@@ -13,6 +13,8 @@ Documentation=man:dracut-pre-pivot.service(8)
+ After=initrd.target initrd-parse-etc.service sysroot.mount
+ After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service
+ Before=initrd-cleanup.service
++Wants=remote-fs.target
++After=remote-fs.target
+ ConditionPathExists=/etc/initrd-release
+ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot
+ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cleanup
+-- 
+1.9.3
+
diff --git a/0032-dracut-functions.sh-require_binaries-clarify-message.patch b/0032-dracut-functions.sh-require_binaries-clarify-message.patch
new file mode 100644
index 0000000..b53b3ce
--- /dev/null
+++ b/0032-dracut-functions.sh-require_binaries-clarify-message.patch
@@ -0,0 +1,30 @@
+From e04eb8e31004f9edd81243b8c9cf1f8681f92ea0 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Tue, 20 May 2014 13:23:43 +0200
+Subject: [PATCH] dracut-functions.sh:require_binaries() clarify message
+
+The info message written by require_binaries() was a bit frighten to
+users. So just be a little bit more verbose.
+
+If you have ideas on how to improve the message for these "soft"
+dependency modules, please submit patches.
+---
+ dracut-functions.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 6754cc5e29..054f7b58ee 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -49,7 +49,7 @@ require_binaries() {
+ 
+     for cmd in "$@"; do
+         if ! find_binary "$cmd" &>/dev/null; then
+-            dinfo "$_module_name: Could not find command '$cmd'!"
++            dinfo "dracut module '${_module_name#[0-9][0-9]}' will not be installed, because command '$cmd' could not be found!"
+             ((_ret++))
+         fi
+     done
+-- 
+1.9.3
+
diff --git a/0033-kernel-modules-Fix-storage-module-selection-for-sdhc.patch b/0033-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
new file mode 100644
index 0000000..5a08eb8
--- /dev/null
+++ b/0033-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
@@ -0,0 +1,52 @@
+From 36c5c664275e795099b2930185d3d2af3cfe513d Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Fri, 23 May 2014 11:54:01 +0100
+Subject: [PATCH] kernel-modules: Fix storage module selection for
+ sdhci/mmc/ahci
+
+Currently the block driver detection for generic initrd doesn't include
+the SD/MMC drivers so we fail to boot generic images on any device using
+those platforms as boot devices when using a generic initrd. Add logic
+to detect those modules. This primarily fixes embedded ARM devices but
+also likely intel tablets/dev boards and enterprise hypervisors that
+have the ability to boot from SD.
+
+Also the ahci_init_controller misses a number of drivers that use the
+libahci_platform module for the init so this fixes some missing achi
+moduless too.
+
+Finally it cleans up the ARM storage module hacks that the above now
+deals with in a more generic manner.
+
+Signed-off-by: <pbrobinson@gmail.com>
+---
+ modules.d/90kernel-modules/module-setup.sh | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 23786632ad..5271438d18 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -6,7 +6,7 @@
+ installkernel() {
+     if [[ -z $drivers ]]; then
+         block_module_filter() {
+-            local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect'
++            local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_pltfm_init'
+             # subfunctions inherit following FDs
+             local _merge=8 _side2=9
+             function bmf1() {
+@@ -51,9 +51,7 @@ installkernel() {
+ 
+         if [[ "$(uname -p)" == arm* ]]; then
+             # arm specific modules
+-            hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm \
+-                omap_hsmmc panel-tfp410 sdhci_dove ahci_platform pata_imx sata_mv \
+-                ehci-tegra mmc_block usb_storage
++            hostonly='' instmods omapdrm panel-tfp410
+         fi
+ 
+         # install virtual machine support
+-- 
+1.9.3
+
diff --git a/0034-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch b/0034-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch
new file mode 100644
index 0000000..e32853c
--- /dev/null
+++ b/0034-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch
@@ -0,0 +1,51 @@
+From c771f395699e10a534c05bdb790843d74c4898c9 Mon Sep 17 00:00:00 2001
+From: Alex Harpin <development@landsofshadow.co.uk>
+Date: Tue, 6 May 2014 23:41:17 +0100
+Subject: [PATCH] bonding: use hwaddr of the slave rather than the master
+
+When a bonded interface is brought up, any slaves included in the bond
+have their hardware address set to that of the bond master.  Although
+this allows an interface to be brought up on start up, when the
+configuration file is imported into the booted system it prevents
+the bonded interface being successfully restarted.
+
+The fix involves obtaining the hardware address of the slaves before
+they are added to the bond and then using this value in the
+configuration file.
+---
+ modules.d/40network/ifup.sh      | 1 +
+ modules.d/45ifcfg/write-ifcfg.sh | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index ede018832f..fd84e4cd0f 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -188,6 +188,7 @@ if [ -e /tmp/bond.${netif}.info ]; then
+ 
+         for slave in $bondslaves ; do
+             ip link set $slave down
++            cat /sys/class/net/$slave/address > /tmp/net.${netif}.${slave}.hwaddr
+             echo "+$slave" > /sys/class/net/$bondname/bonding/slaves
+             linkup $slave
+         done
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 7f997a2afd..fb388bcb8e 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -206,7 +206,11 @@ for netup in /tmp/net.*.did-setup ; do
+                 echo "TYPE=Ethernet"
+                 echo "ONBOOT=yes"
+                 echo "NETBOOT=yes"
+-                echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
++                if [ -e /tmp/net.${netif}.${slave}.hwaddr ]; then
++                   echo "HWADDR=\"$(cat /tmp/net.${netif}.${slave}.hwaddr)\""
++                else
++                   echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
++                fi
+                 echo "SLAVE=yes"
+                 echo "MASTER=\"$netif\""
+                 echo "NAME=\"$slave\""
+-- 
+1.9.3
+
diff --git a/0035-network-ifup.sh-Don-t-try-to-modprobe-ipv6-if-alread.patch b/0035-network-ifup.sh-Don-t-try-to-modprobe-ipv6-if-alread.patch
new file mode 100644
index 0000000..f828e20
--- /dev/null
+++ b/0035-network-ifup.sh-Don-t-try-to-modprobe-ipv6-if-alread.patch
@@ -0,0 +1,29 @@
+From 47fe3982753c53a96103e32d70055da6dd354aeb Mon Sep 17 00:00:00 2001
+From: Vasiliy Tolstov <v.tolstov@selfip.ru>
+Date: Mon, 26 May 2014 15:28:43 +0400
+Subject: [PATCH] network/ifup.sh: Don't try to modprobe ipv6, if already
+ available
+
+Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
+
+[Edited-by: Harald Hoyer]
+Simplified logic.
+---
+ modules.d/40network/ifup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index fd84e4cd0f..79127f248d 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -106,6 +106,7 @@ do_dhcp() {
+ }
+ 
+ load_ipv6() {
++    [ -d /proc/sys/net/ipv6 ] && return
+     modprobe ipv6
+     i=0
+     while [ ! -d /proc/sys/net/ipv6 ]; do
+-- 
+1.9.3
+
diff --git a/0036-udev-rules-added-seat-rules.patch b/0036-udev-rules-added-seat-rules.patch
new file mode 100644
index 0000000..02912d6
--- /dev/null
+++ b/0036-udev-rules-added-seat-rules.patch
@@ -0,0 +1,25 @@
+From f24c7e8fce7ae839dc3553e6dd00820e2ea2d9a4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 4 Jun 2014 13:26:08 +0200
+Subject: [PATCH] udev-rules: added seat rules
+
+plymouth needs the seat rules, also without systemd
+---
+ modules.d/95udev-rules/module-setup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index fab4ffc960..76e86fa412 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -33,6 +33,7 @@ install() {
+         50-udev.rules 95-late.rules \
+         50-firmware.rules \
+         59-scsi-sg3_utils.rules \
++        71-seat.rules 73-seat-late.rules \
+         75-net-description.rules \
+         80-net-name-slot.rules 80-net-setup-link.rules \
+         "$moddir/59-persistent-storage.rules" \
+-- 
+1.9.3
+
diff --git a/0037-udev-rules-add-uaccess-rules.patch b/0037-udev-rules-add-uaccess-rules.patch
new file mode 100644
index 0000000..cefac10
--- /dev/null
+++ b/0037-udev-rules-add-uaccess-rules.patch
@@ -0,0 +1,26 @@
+From 3347eb20f21bdf0fe867950d46c13c52c913dfe6 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Thu, 5 Jun 2014 12:30:22 +0200
+Subject: [PATCH] udev-rules: add uaccess rules
+
+plymouth needs the seat rules, also without systemd
+---
+ modules.d/95udev-rules/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index 76e86fa412..4e75c0b807 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -33,7 +33,7 @@ install() {
+         50-udev.rules 95-late.rules \
+         50-firmware.rules \
+         59-scsi-sg3_utils.rules \
+-        71-seat.rules 73-seat-late.rules \
++        70-uaccess.rules 71-seat.rules 73-seat-late.rules \
+         75-net-description.rules \
+         80-net-name-slot.rules 80-net-setup-link.rules \
+         "$moddir/59-persistent-storage.rules" \
+-- 
+1.9.3
+
diff --git a/0038-iscsi-correctly-install-the-timeout-iscsiroot-dummy-.patch b/0038-iscsi-correctly-install-the-timeout-iscsiroot-dummy-.patch
new file mode 100644
index 0000000..d90ae1c
--- /dev/null
+++ b/0038-iscsi-correctly-install-the-timeout-iscsiroot-dummy-.patch
@@ -0,0 +1,26 @@
+From 16ef1e38570e25c097fcf64d1dddcaf4bf623e1e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 11 Jun 2014 14:55:11 +0200
+Subject: [PATCH] iscsi: correctly install the timeout iscsiroot dummy call
+
+initqueue parses $1 as the executable command
+---
+ modules.d/95iscsi/parse-iscsiroot.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
+index 4be9d56121..52a4805a59 100755
+--- a/modules.d/95iscsi/parse-iscsiroot.sh
++++ b/modules.d/95iscsi/parse-iscsiroot.sh
+@@ -64,7 +64,7 @@ if [ -n "$iscsi_firmware" ] ; then
+     netroot=${netroot:-iscsi:}
+     modprobe -q iscsi_boot_sysfs 2>/dev/null
+     modprobe -q iscsi_ibft
+-    initqueue --onetime --timeout "/sbin/iscsiroot dummy '$netroot' '$NEWROOT'"
++    initqueue --onetime --timeout /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'"
+ fi
+ 
+ # If it's not iscsi we don't continue
+-- 
+1.9.3
+
diff --git a/0039-iscsi-correctly-install-the-settled-iscsiroot-dummy-.patch b/0039-iscsi-correctly-install-the-settled-iscsiroot-dummy-.patch
new file mode 100644
index 0000000..17814f9
--- /dev/null
+++ b/0039-iscsi-correctly-install-the-settled-iscsiroot-dummy-.patch
@@ -0,0 +1,26 @@
+From a96a5ccec2833c98000ad78aee494257e91b9acd Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 11 Jun 2014 14:58:55 +0200
+Subject: [PATCH] iscsi: correctly install the settled iscsiroot dummy call
+
+initqueue parses $1 as the executable command
+---
+ modules.d/95iscsi/parse-iscsiroot.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
+index 52a4805a59..b48be38778 100755
+--- a/modules.d/95iscsi/parse-iscsiroot.sh
++++ b/modules.d/95iscsi/parse-iscsiroot.sh
+@@ -88,7 +88,7 @@ fi
+ 
+ if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then
+     if ! getargbool 1 rd.neednet >/dev/null || ! getarg "ip="; then
+-        initqueue --onetime --settled "/sbin/iscsiroot dummy '$netroot' '$NEWROOT'"
++        initqueue --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'"
+     fi
+ fi
+ 
+-- 
+1.9.3
+
diff --git a/0040-dracut.sh-add-libgcc_s-if-libpthread-is-installed.patch b/0040-dracut.sh-add-libgcc_s-if-libpthread-is-installed.patch
new file mode 100644
index 0000000..4520b3d
--- /dev/null
+++ b/0040-dracut.sh-add-libgcc_s-if-libpthread-is-installed.patch
@@ -0,0 +1,34 @@
+From c026ccef5b4b8d2eba98ea38a5c524441bbd3fe6 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 20 Jun 2014 11:19:49 +0200
+Subject: [PATCH] dracut.sh: add libgcc_s, if libpthread is installed
+
+workaround the fact, that pthread_cancel() wants to
+dlopen libgcc_s.so.1
+---
+ dracut.sh | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/dracut.sh b/dracut.sh
+index c4163bcfec..04bb3398a3 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1348,6 +1348,15 @@ if [[ $kernel_only != yes ]]; then
+         | xargs -r -0 $DRACUT_INSTALL ${initdir:+-D "$initdir"} -R ${DRACUT_FIPS_MODE:+-H} --
+         dinfo "*** Resolving executable dependencies done***"
+     fi
++
++    # libpthread workaround: pthread_cancel wants to dlopen libgcc_s.so
++    for _dir in $libdirs; do
++        for _f in "$_dir/libpthread.so"*; do
++            [[ -e "$_f" ]] || continue
++            inst_libdir_file "libgcc_s.so*"
++            break 2
++        done
++    done
+ fi
+ 
+ while pop include_src src && pop include_target tgt; do
+-- 
+1.9.3
+
diff --git a/0041-systemd-Optionally-include-efivarsfs-module.patch b/0041-systemd-Optionally-include-efivarsfs-module.patch
new file mode 100644
index 0000000..2f53f55
--- /dev/null
+++ b/0041-systemd-Optionally-include-efivarsfs-module.patch
@@ -0,0 +1,25 @@
+From ca7228c251f4ec32d2e5998376c411d54f5b05d4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
+Date: Mon, 16 Jun 2014 01:13:44 -0400
+Subject: [PATCH] systemd: Optionally, include efivarsfs module
+
+It is, however not an error if this module can't be found.
+---
+ modules.d/98systemd/module-setup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index cf1b2e71f1..dd82ecebe4 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -21,6 +21,7 @@ depends() {
+ 
+ installkernel() {
+     instmods autofs4 ipv6
++    instmods -s efivarfs
+ }
+ 
+ # called by dracut
+-- 
+1.9.3
+
diff --git a/0042-98systemd-also-install-systemd-journald-dev-log.sock.patch b/0042-98systemd-also-install-systemd-journald-dev-log.sock.patch
new file mode 100644
index 0000000..8112be3
--- /dev/null
+++ b/0042-98systemd-also-install-systemd-journald-dev-log.sock.patch
@@ -0,0 +1,26 @@
+From 58c4f5484f1ea7918f316e21dda43877968cef35 Mon Sep 17 00:00:00 2001
+From: Daniel Schaal <farbing@web.de>
+Date: Thu, 19 Jun 2014 11:38:25 +0200
+Subject: [PATCH] 98systemd: also install systemd-journald-dev-log.socket
+
+The /dev/log socket was moved to /run on systemd 214, install the
+newly added socket unit.
+---
+ modules.d/98systemd/module-setup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index dd82ecebe4..e2efc427c7 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -107,6 +107,7 @@ install() {
+         $systemdsystemunitdir/sockets.target.wants/systemd-udevd-control.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-udevd-kernel.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-journald.socket \
++        $systemdsystemunitdir/sockets.target.wants/systemd-journald-dev-log.socket \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udevd.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev-trigger.service \
+         $systemdsystemunitdir/sysinit.target.wants/kmod-static-nodes.service \
+-- 
+1.9.3
+
diff --git a/0043-lsinitrd.sh-don-t-choke-on-LZO-compressed-images.patch b/0043-lsinitrd.sh-don-t-choke-on-LZO-compressed-images.patch
new file mode 100644
index 0000000..f489437
--- /dev/null
+++ b/0043-lsinitrd.sh-don-t-choke-on-LZO-compressed-images.patch
@@ -0,0 +1,30 @@
+From 9552c2c3463c1baecb7e65ee6c6db436427599ac Mon Sep 17 00:00:00 2001
+From: Tobias Geerinckx <tobias.geerinckx@gmail.com>
+Date: Tue, 3 Jun 2014 04:59:34 +0200
+Subject: [PATCH] lsinitrd.sh: don't choke on LZO-compressed images
+
+lsinitrd (and hence dracut) currently fail to list the contents of any
+LZO-compressed image, and merely spit out misleading xzcat errors.
+
+I guess no-one actually uses them.
+---
+ lsinitrd.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index a697bc2b75..4ba8752c4b 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -180,6 +180,9 @@ CAT=$({
+             $'\x02\x21'*)
+                 echo "lz4 -d -c"
+                 ;;
++            $'\x89'LZO$'\0'*)
++                echo "lzop -d -c"
++                ;;
+             *)
+                 if echo "test"|xz|xzcat --single-stream >/dev/null 2>&1; then
+                     echo "xzcat --single-stream --"
+-- 
+1.9.3
+
diff --git a/dracut.spec b/dracut.spec
index 979a3ff..149fbc5 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -11,7 +11,7 @@
 
 Name: dracut
 Version: 037
-Release: 13.git20140402%{?dist}
+Release: 13.git20140628%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -30,16 +30,49 @@ URL: https://dracut.wiki.kernel.org/
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
-Patch1: 0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch
-Patch2: 0002-systemd-add-systemd-gpt-auto-generator.patch
-Patch3: 0003-fcoe-wait-for-lldpad-to-be-ready.patch
-Patch4: 0004-network-handle-ip-dhcp6-for-all-interfaces.patch
-Patch5: 0005-lsinitrd.sh-prevent-construct.patch
-Patch6: 0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch
-Patch7: 0007-dm-add-dm-cache-modules.patch
-Patch8: 0008-fcoe-workaround-fcoe-timing-issues.patch
-Patch9: 0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch
-Patch10: 0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
+Patch001: 0001-dracut-initramfs-restore-fix-unpacking-with-early-mi.patch
+Patch002: 0002-systemd-add-systemd-gpt-auto-generator.patch
+Patch003: 0003-fcoe-wait-for-lldpad-to-be-ready.patch
+Patch004: 0004-network-handle-ip-dhcp6-for-all-interfaces.patch
+Patch005: 0005-lsinitrd.sh-prevent-construct.patch
+Patch006: 0006-network-DCHPv6-set-valid_lft-and-preferred_lft.patch
+Patch007: 0007-dm-add-dm-cache-modules.patch
+Patch008: 0008-fcoe-workaround-fcoe-timing-issues.patch
+Patch009: 0009-fstab-do-not-mount-and-fsck-from-fstab-if-using-syst.patch
+Patch010: 0010-ifcfg-write-ifcfg.sh-turn-on-IPV6INIT-if-any-inet6-a.patch
+Patch011: 0011-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch
+Patch012: 0012-Break-at-switch_root-only-for-bare-rd.break.patch
+Patch013: 0013-dracut-initqueue-service-runs-before-remote-fs-pre.t.patch
+Patch014: 0014-fs-lib-always-install-fsck.-fs-if-present.patch
+Patch015: 0015-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch
+Patch016: 0016-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch
+Patch017: 0017-i18n-parse-i18n.sh-fixed-typo-s-key-_key.patch
+Patch018: 0018-dracut-lib.sh-fixed-return-value-of-pidof.patch
+Patch019: 0019-Do-not-log-to-kmsg-syslog-and-files-for-print-cmdlin.patch
+Patch020: 0020-resume-parse-resume.sh-correctly-write-timeout-hook.patch
+Patch021: 0021-ifcfg-write-ifcfg.sh-IPV6INIT-yes-check-also-for-non.patch
+Patch022: 0022-cms-cmssetup.sh-convert-SUBCHANNELS-to-lowercase.patch
+Patch023: 0023-mdraid-module-setup.sh-fixed-print-cmdline-for-empty.patch
+Patch024: 0024-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch
+Patch025: 0025-nbd-nbdroot.sh-call-nbd-client-with-systemd-mark.patch
+Patch026: 0026-fcoe-uefi-parse-uefifcoe.sh-fixed-parameter-generati.patch
+Patch027: 0027-dracut-functions.sh-print_vars-fix-for-values-with-s.patch
+Patch028: 0028-98systemd-fixup-rootfs-generator-installation-path.patch
+Patch029: 0029-udev-rules-include-59-scsi-sg3_utils.rules.patch
+Patch030: 0030-resume-module-setup.sh-filter-out-empty-resume-optio.patch
+Patch031: 0031-dracut-pre-pivot-pulls-in-remote-fs.target.patch
+Patch032: 0032-dracut-functions.sh-require_binaries-clarify-message.patch
+Patch033: 0033-kernel-modules-Fix-storage-module-selection-for-sdhc.patch
+Patch034: 0034-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch
+Patch035: 0035-network-ifup.sh-Don-t-try-to-modprobe-ipv6-if-alread.patch
+Patch036: 0036-udev-rules-added-seat-rules.patch
+Patch037: 0037-udev-rules-add-uaccess-rules.patch
+Patch038: 0038-iscsi-correctly-install-the-timeout-iscsiroot-dummy-.patch
+Patch039: 0039-iscsi-correctly-install-the-settled-iscsiroot-dummy-.patch
+Patch040: 0040-dracut.sh-add-libgcc_s-if-libpthread-is-installed.patch
+Patch041: 0041-systemd-Optionally-include-efivarsfs-module.patch
+Patch042: 0042-98systemd-also-install-systemd-journald-dev-log.sock.patch
+Patch043: 0043-lsinitrd.sh-don-t-choke-on-LZO-compressed-images.patch
 
 # Revert dangerous behaviour change which breaks boot for multiple reporters
 # https://bugzilla.redhat.com/show_bug.cgi?id=1084766
@@ -492,6 +525,10 @@ rm -rf -- $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Sat Jun 28 2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 13.git20140628
+- Pull all bugfixy commits from current git
+Resolves: rhbz#1112061
+
 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 037-13.git20140402
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild