Revert - 0.41 causes multipath failures

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dracut?expand=0&rev=71
This commit is contained in:
Dominique Leuenberger 2015-04-19 09:43:07 +00:00 committed by Git OBS Bridge
parent a74a7b3fdd
commit 67335c6a07
155 changed files with 6808 additions and 1129 deletions

View File

@ -0,0 +1,52 @@
From 827ec27a9c36755095dda899eff75cdae78b2120 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 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
--
2.2.0

View File

@ -13,11 +13,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/98systemd/rescue.service | 2 +- modules.d/98systemd/rescue.service | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-) 2 files changed, 2 insertions(+), 2 deletions(-)
Index: dracut-041/dracut.sh diff --git a/dracut.sh b/dracut.sh
=================================================================== index c4163bc..adf26ad 100755
--- dracut-041.orig/dracut.sh 2015-03-16 17:47:39.671230783 +0100 --- a/dracut.sh
+++ dracut-041/dracut.sh 2015-03-16 17:47:45.231540139 +0100 +++ b/dracut.sh
@@ -809,7 +809,7 @@ @@ -774,7 +774,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l [[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l [[ $lvmconf_l ]] && lvmconf=$lvmconf_l
[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
@ -26,11 +26,11 @@ Index: dracut-041/dracut.sh
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l" [[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp [[ $tmpdir ]] || tmpdir=/var/tmp
[[ $INITRD_COMPRESS ]] && compress=$INITRD_COMPRESS [[ $INITRD_COMPRESS ]] && compress=$INITRD_COMPRESS
Index: dracut-041/modules.d/98systemd/rescue.service diff --git a/modules.d/98systemd/rescue.service b/modules.d/98systemd/rescue.service
=================================================================== index edc2461..d80900f 100644
--- dracut-041.orig/modules.d/98systemd/rescue.service 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/98systemd/rescue.service
+++ dracut-041/modules.d/98systemd/rescue.service 2015-03-16 17:47:45.235540363 +0100 +++ b/modules.d/98systemd/rescue.service
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@ Environment=HOME=/
Environment=DRACUT_SYSTEMD=1 Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot Environment=NEWROOT=/sysroot
WorkingDirectory=/ WorkingDirectory=/
@ -39,3 +39,6 @@ Index: dracut-041/modules.d/98systemd/rescue.service
ExecStart=-/bin/sh -i -l ExecStart=-/bin/sh -i -l
ExecStopPost=-/bin/rm -f -- /.console_lock ExecStopPost=-/bin/rm -f -- /.console_lock
ExecStopPost=-/usr/bin/systemctl --fail --no-block default ExecStopPost=-/usr/bin/systemctl --fail --no-block default
--
1.8.4.5

View File

@ -0,0 +1,45 @@
From ab0a60b5a9c7c747400f458ae4a632b2d88fe2e1 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 27 Nov 2013 15:54:00 +0100
Subject: [PATCH] Check for plymouth lib directories
SUSE installs plymount files in /usr/lib, not /usr/libexec.
So check for both when including plymouth support.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/50plymouth/module-setup.sh | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
index b818324..86a68fe 100755
--- a/modules.d/50plymouth/module-setup.sh
+++ b/modules.d/50plymouth/module-setup.sh
@@ -15,12 +15,19 @@ depends() {
# called by dracut
install() {
- if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \
- || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
+ if [ -d /usr/libexec/plymouth ] ; then
+ _plymouth=/usr/libexec/plymouth;
+ elif [ -d /usr/lib/plymouth ] ; then
+ _plymouth=/usr/lib/plymouth
+ fi
+ if [ -n "$_plymouth" ] ; then
+ if grep -q nash ${_plymouth}/plymouth-populate-initrd \
+ || [ ! -x ${_plymouth}/plymouth-populate-initrd ]; then
. "$moddir"/plymouth-populate-initrd.sh
- else
- PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \
- /usr/libexec/plymouth/plymouth-populate-initrd -t "$initdir"
+ else
+ PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \
+ ${_plymouth}/plymouth-populate-initrd -t "$initdir"
+ fi
fi
inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
--
1.8.1.4

View File

@ -0,0 +1,34 @@
From 6e2410d3e9403b030125e8d7f523de341466d658 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Mon, 7 Apr 2014 16:23:49 +0200
Subject: [PATCH] mkinitrd-suse: do not update bootloader if no kernel was
found
When no kernel is found mkinitrd-suse should exit without updating the
bootloader.
References: bnc#858268
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
mkinitrd-suse.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index d20270a..b31ea36 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -291,7 +291,9 @@ while (($# > 0)); do
done
[[ $targets && $kernels ]] || default_kernel_images
-[[ $targets && $kernels ]] || (error "No kernel found in $boot_dir" && usage)
+if [[ ! $targets || ! $kernels ]];then
+ error "No kernel found in $boot_dir"
+fi
# We can have several targets/kernels, transform the list to an array
targets=( $targets )
--
1.8.1.4

View File

@ -0,0 +1,30 @@
From 3607fd4c8a14ec0a1222e7f7903f6f12648367ef Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 8 Apr 2014 09:06:43 +0200
Subject: [PATCH] Update dracut manpage for GRUB Legacy and GRUB2
Signed-off-by: sfalken@opensuse.org
---
dracut.usage.asc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dracut.usage.asc b/dracut.usage.asc
index 6979af6..0787ead 100644
--- a/dracut.usage.asc
+++ b/dracut.usage.asc
@@ -99,9 +99,9 @@ raid with encryption and LVM on top), as long as you specify the correct
filesystem LABEL or UUID on the kernel command line for your root device, dracut
will find it and boot from it.
-The kernel command line usually can be configured in _/boot/grub/grub.conf_ or
-_/boot/grub2/grub.cfg_, if grub is your bootloader and it also can be edited in
-the real boot process in the grub menu.
+The kernel command line usually can be configured in _/boot/grub/grub.conf_,
+for GRUB legacy, or _/boot/grub2/grub.cfg_, for GRUB2 if grub is your
+bootloader and it also can be edited in the real boot process in the grub menu.
The kernel command line can also be provided by the dhcp server with the
root-path option. See <<NetworkBoot>>.
--
1.8.1.4

View File

@ -20,12 +20,15 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
delete mode 100644 modules.d/40network/dhclient.conf delete mode 100644 modules.d/40network/dhclient.conf
delete mode 100755 modules.d/40network/kill-dhclient.sh delete mode 100755 modules.d/40network/kill-dhclient.sh
Index: dracut-041/modules.d/40network/dhclient-script.sh diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
=================================================================== deleted file mode 100755
--- dracut-041.orig/modules.d/40network/dhclient-script.sh 2015-03-17 12:02:54.894703848 +0100 index ba05250..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/40network/dhclient-script.sh
@@ -1,154 +0,0 @@ +++ /dev/null
@@ -1,156 +0,0 @@
-#!/bin/sh -#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
- -
-PATH=/usr/sbin:/usr/bin:/sbin:/bin -PATH=/usr/sbin:/usr/bin:/sbin:/bin
- -
@ -70,7 +73,7 @@ Index: dracut-041/modules.d/40network/dhclient-script.sh
- valid_lft ${lease_time} preferred_lft ${lease_time} \ - valid_lft ${lease_time} preferred_lft ${lease_time} \
- dev $netif - dev $netif
- -
- [ -n "$gw" ] && echo ip route replace default via $gw dev $netif > /tmp/net.$netif.gw - [ -n "$gw" ] && echo ip route add default via $gw dev $netif > /tmp/net.$netif.gw
- -
- [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf - [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf
- if [ -n "$namesrv" ] ; then - if [ -n "$namesrv" ] ; then
@ -179,19 +182,20 @@ Index: dracut-041/modules.d/40network/dhclient-script.sh
-esac -esac
- -
-exit 0 -exit 0
Index: dracut-041/modules.d/40network/dhclient.conf diff --git a/modules.d/40network/dhclient.conf b/modules.d/40network/dhclient.conf
=================================================================== deleted file mode 100644
--- dracut-041.orig/modules.d/40network/dhclient.conf 2015-01-31 12:54:52.000000000 +0100 index dbf5882..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/40network/dhclient.conf
+++ /dev/null
@@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
-request subnet-mask, broadcast-address, time-offset, routers, -request subnet-mask, broadcast-address, time-offset, routers,
- domain-name, domain-name-servers, domain-search, host-name, - domain-name, domain-name-servers, domain-search, host-name,
- root-path, interface-mtu; - root-path, interface-mtu;
Index: dracut-041/modules.d/40network/ifup.sh diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
=================================================================== index 7740be5..99d2ed4 100755
--- dracut-041.orig/modules.d/40network/ifup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/40network/ifup.sh
+++ dracut-041/modules.d/40network/ifup.sh 2015-03-17 12:27:22.361149708 +0100 +++ b/modules.d/40network/ifup.sh
@@ -86,21 +86,106 @@ @@ -88,21 +88,106 @@ else
[ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && exit 0 [ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && exit 0
fi fi
@ -303,7 +307,7 @@ Index: dracut-041/modules.d/40network/ifup.sh
} }
load_ipv6() { load_ipv6() {
@@ -226,8 +311,6 @@ @@ -226,8 +311,6 @@ if [ -e /tmp/team.info ]; then
fi fi
fi fi
@ -312,12 +316,15 @@ Index: dracut-041/modules.d/40network/ifup.sh
if [ -e /tmp/bridge.info ]; then if [ -e /tmp/bridge.info ]; then
. /tmp/bridge.info . /tmp/bridge.info
# start bridge if necessary # start bridge if necessary
Index: dracut-041/modules.d/40network/kill-dhclient.sh diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/40network/kill-dhclient.sh
=================================================================== deleted file mode 100755
--- dracut-041.orig/modules.d/40network/kill-dhclient.sh 2015-03-17 12:02:54.906704510 +0100 index 78060f5..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/40network/kill-dhclient.sh
@@ -1,15 +0,0 @@ +++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh -#!/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 /tmp/dhclient.*.pid; do -for f in /tmp/dhclient.*.pid; do
- [ -e $f ] || continue - [ -e $f ] || continue
@ -332,12 +339,13 @@ Index: dracut-041/modules.d/40network/kill-dhclient.sh
- read PID < $f; - read PID < $f;
- kill -9 $PID >/dev/null 2>&1 - kill -9 $PID >/dev/null 2>&1
-done -done
Index: dracut-041/modules.d/40network/module-setup.sh diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
=================================================================== index 1df4174..b54f873 100755
--- dracut-041.orig/modules.d/40network/module-setup.sh 2015-03-17 12:02:55.006710127 +0100 --- a/modules.d/40network/module-setup.sh
+++ dracut-041/modules.d/40network/module-setup.sh 2015-03-17 12:37:51.868466193 +0100 +++ b/modules.d/40network/module-setup.sh
@@ -1,10 +1,13 @@ @@ -2,11 +2,14 @@
#!/bin/bash # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+WICKEDD_DHCP_PATH="/usr/lib/wicked/bin" +WICKEDD_DHCP_PATH="/usr/lib/wicked/bin"
+WICKED_EXT_PATH="/etc/wicked/extensions" +WICKED_EXT_PATH="/etc/wicked/extensions"
@ -351,7 +359,7 @@ Index: dracut-041/modules.d/40network/module-setup.sh
return 255 return 255
} }
@@ -71,17 +74,18 @@ @@ -72,16 +75,18 @@ installkernel() {
# called by dracut # called by dracut
install() { install() {
local _arch _i _dir local _arch _i _dir
@ -369,12 +377,11 @@ Index: dracut-041/modules.d/40network/module-setup.sh
inst_script "$moddir/netroot.sh" "/sbin/netroot" inst_script "$moddir/netroot.sh" "/sbin/netroot"
- inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script" - inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh" inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
- inst_simple -H "/etc/dhclient.conf" - inst_simple "$moddir/dhclient.conf" "/etc/dhclient.conf"
- cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
inst_hook pre-udev 50 "$moddir/ifname-genrules.sh" inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
inst_hook pre-udev 60 "$moddir/net-genrules.sh" inst_hook pre-udev 60 "$moddir/net-genrules.sh"
inst_hook cmdline 91 "$moddir/dhcp-root.sh" inst_hook cmdline 91 "$moddir/dhcp-root.sh"
@@ -92,7 +96,6 @@ @@ -92,7 +97,6 @@ install() {
inst_hook cmdline 97 "$moddir/parse-bridge.sh" inst_hook cmdline 97 "$moddir/parse-bridge.sh"
inst_hook cmdline 98 "$moddir/parse-ip-opts.sh" inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
inst_hook cmdline 99 "$moddir/parse-ifname.sh" inst_hook cmdline 99 "$moddir/parse-ifname.sh"
@ -382,3 +389,6 @@ Index: dracut-041/modules.d/40network/module-setup.sh
_arch=$(uname -m) _arch=$(uname -m)
--
1.8.4.5

View File

@ -15,11 +15,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/module-setup.sh | 1 + modules.d/95zfcp_rules/module-setup.sh | 1 +
2 files changed, 3 insertions(+), 2 deletions(-) 2 files changed, 3 insertions(+), 2 deletions(-)
Index: dracut-041/modules.d/95dasd_rules/module-setup.sh diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
=================================================================== index 51c315d..451fc25 100755
--- dracut-041.orig/modules.d/95dasd_rules/module-setup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/95dasd_rules/module-setup.sh
+++ dracut-041/modules.d/95dasd_rules/module-setup.sh 2015-03-17 12:38:30.046605162 +0100 +++ b/modules.d/95dasd_rules/module-setup.sh
@@ -4,7 +4,7 @@ @@ -6,7 +6,7 @@
check() { check() {
local _arch=$(uname -m) local _arch=$(uname -m)
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
@ -28,7 +28,7 @@ Index: dracut-041/modules.d/95dasd_rules/module-setup.sh
return 0 return 0
} }
@@ -16,10 +16,10 @@ @@ -18,10 +18,10 @@ depends() {
# called by dracut # called by dracut
install() { install() {
@ -40,14 +40,17 @@ Index: dracut-041/modules.d/95dasd_rules/module-setup.sh
fi fi
inst_rules 59-dasd.rules inst_rules 59-dasd.rules
} }
Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
=================================================================== index d9879cb..849645c 100755
--- dracut-041.orig/modules.d/95zfcp_rules/module-setup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/95zfcp_rules/module-setup.sh
+++ dracut-041/modules.d/95zfcp_rules/module-setup.sh 2015-03-17 12:38:30.050605397 +0100 +++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -19,5 +19,6 @@ @@ -21,5 +21,6 @@ install() {
inst_hook cmdline 30 "$moddir/parse-zfcp.sh" inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
if [[ $hostonly ]] ; then if [[ $hostonly ]] ; then
inst_rules_wildcard 51-zfcp-*.rules inst_rules_wildcard 51-zfcp-*.rules
+ inst_rules_wildcard 41-s390x-zfcp-*.rules + inst_rules_wildcard 41-s390x-zfcp-*.rules
fi fi
} }
--
1.8.1.4

View File

@ -16,11 +16,11 @@ Modified-by: Thomas Rennigner <trenn@suse.de>
modules.d/45ifcfg/module-setup.sh | 8 +++++++- modules.d/45ifcfg/module-setup.sh | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-) 2 files changed, 8 insertions(+), 1 deletion(-)
Index: dracut-041/modules.d/40network/ifup.sh diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
=================================================================== index 99d2ed4..934c61e 100755
--- dracut-041.orig/modules.d/40network/ifup.sh 2015-03-17 12:38:28.586523363 +0100 --- a/modules.d/40network/ifup.sh
+++ dracut-041/modules.d/40network/ifup.sh 2015-03-17 12:38:48.851658757 +0100 +++ b/modules.d/40network/ifup.sh
@@ -184,6 +184,7 @@ @@ -186,6 +186,7 @@ do_dhcp() {
$dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} $dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
dhcp_apply $1 || return $? dhcp_apply $1 || return $?
@ -28,11 +28,11 @@ Index: dracut-041/modules.d/40network/ifup.sh
echo $netif > /tmp/setup_net_${netif}.ok echo $netif > /tmp/setup_net_${netif}.ok
return 0 return 0
} }
Index: dracut-041/modules.d/45ifcfg/module-setup.sh diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh
=================================================================== index c407f45..164a580 100755
--- dracut-041.orig/modules.d/45ifcfg/module-setup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/45ifcfg/module-setup.sh
+++ dracut-041/modules.d/45ifcfg/module-setup.sh 2015-03-17 12:38:48.851658757 +0100 +++ b/modules.d/45ifcfg/module-setup.sh
@@ -2,7 +2,13 @@ @@ -4,7 +4,13 @@
# called by dracut # called by dracut
check() { check() {
@ -47,3 +47,6 @@ Index: dracut-041/modules.d/45ifcfg/module-setup.sh
return 255 return 255
} }
--
1.8.4.5

View File

@ -0,0 +1,94 @@
From 942274be37437eefad4ebebae40af43d7bd336b6 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 8 Apr 2014 08:49:53 +0200
Subject: [PATCH] mkinitrd-suse: Fix whitespaces when adding drivers
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
mkinitrd-suse.sh | 49 +++++++++++++++++++++++++------------------------
1 file changed, 25 insertions(+), 24 deletions(-)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index b31ea36..1c2634f 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -70,10 +70,7 @@ usage () {
$cmd " -j device Journal device"
$cmd " -D interface Run dhcp on the specified interface."
$cmd " -I interface Configure the specified interface statically."
- $cmd " -a acpi_dsdt Attach compiled ACPI DSDT (Differentiated"
- $cmd " System Description Table) to initrd. This"
- $cmd " replaces the DSDT of the BIOS. Defaults to"
- $cmd " the ACPI_DSDT variable in /etc/sysconfig/kernel."
+ $cmd " -a acpi_dsdt Obsolete, do not use."
$cmd " -s size Add splash animation and bootscreen to initrd."
[[ $1 = '-n' ]] && exit 0
@@ -310,11 +307,10 @@ if [ -f /etc/sysconfig/kernel ] ; then
. /etc/sysconfig/kernel
fi
[[ $module_list ]] || module_list="${INITRD_MODULES}"
-basicmodules="$basicmodules ${module_list}"
[[ $domu_module_list ]] || domu_module_list="${DOMU_INITRD_MODULES}"
-[[ $acpi_dsdt ]] || acpi_dsdt="${ACPI_DSDT}"
+shopt -s extglob
-echo "Creating: target|kernel|dracut args|basicmodules "
+echo "Creating: target|kernel|dracut args "
for ((i=0 ; $i<${#targets[@]} ; i++)); do
if [[ $img_vers ]];then
@@ -324,28 +320,33 @@ for ((i=0 ; $i<${#targets[@]} ; i++)); do
fi
kernel="${kernels[$i]}"
+ if is_xen_kernel $kernel $rootfs ; then
+ modules_all="${module_list} ${domu_module_list}"
+ else
+ modules_all="${module_list}"
+ fi
+
+ # Remove leading and trailing spaces needs (set above): shopt -s extglob
+ modules_all=${modules_all%%+([[:space:]])}
+ modules_all=${modules_all##+([[:space:]])}
+
# Duplicate code: No way found how to redirect output based on $quiet
if [[ $quiet == 1 ]];then
- echo "$target|$kernel|$dracut_args|$basicmodules"
- if is_xen_kernel $kernel $rootfs ; then
- basicmodules="$basicmodules ${domu_module_list}"
- fi
- if [[ $basicmodules ]]; then
- $dracut_cmd $dracut_args --add-drivers "$basicmodules" "$target" \
- "$kernel" &>/dev/null
- else
+ echo "$target|$kernel|$dracut_args_all"
+ # Duplicate code: --add-drivers must not be called with empty string
+ # -> dracut bug workarounded ugly, because of complex whitespace
+ # expansion magics
+ if [ -n "${modules_all}" ];then
+ $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel" &>/dev/null
+ else
$dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null
- fi
+ fi
else
- if is_xen_kernel $kernel $rootfs ; then
- basicmodules="$basicmodules ${domu_module_list}"
- fi
- if [[ $basicmodules ]]; then
- $dracut_cmd $dracut_args --add-drivers "$basicmodules" "$target" \
- "$kernel"
- else
+ if [ -n "${modules_all}" ];then
+ $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel"
+ else
$dracut_cmd $dracut_args "$target" "$kernel"
- fi
+ fi
fi
done
--
1.8.1.4

View File

@ -17,11 +17,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/40network/net-genrules.sh | 3 +++ modules.d/40network/net-genrules.sh | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
Index: dracut-041/modules.d/40network/net-genrules.sh diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
=================================================================== index af2f09c..6ec9239 100755
--- dracut-041.orig/modules.d/40network/net-genrules.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/40network/net-genrules.sh
+++ dracut-041/modules.d/40network/net-genrules.sh 2015-03-17 12:38:55.044006007 +0100 +++ b/modules.d/40network/net-genrules.sh
@@ -96,6 +96,9 @@ @@ -98,6 +98,9 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
cond='ACTION=="add", SUBSYSTEM=="net"' cond='ACTION=="add", SUBSYSTEM=="net"'
# if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh # if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh
echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
@ -31,3 +31,6 @@ Index: dracut-041/modules.d/40network/net-genrules.sh
fi fi
# if you change the name of "90-net.rules", also change modules.d/80cms/cmssetup.sh # if you change the name of "90-net.rules", also change modules.d/80cms/cmssetup.sh
--
1.8.1.4

View File

@ -15,23 +15,19 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
create mode 100755 modules.d/00warpclock/module-setup.sh create mode 100755 modules.d/00warpclock/module-setup.sh
create mode 100755 modules.d/00warpclock/warpclock.sh create mode 100755 modules.d/00warpclock/warpclock.sh
Index: dracut-041/modules.d/00warpclock/module-setup.sh diff --git a/modules.d/00warpclock/module-setup.sh b/modules.d/00warpclock/module-setup.sh
=================================================================== new file mode 100755
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..4d18795
+++ dracut-041/modules.d/00warpclock/module-setup.sh 2015-03-24 15:18:51.564135423 +0100 --- /dev/null
@@ -0,0 +1,27 @@ +++ b/modules.d/00warpclock/module-setup.sh
@@ -0,0 +1,22 @@
+#!/bin/bash +#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh +# ex: ts=8 sw=4 sts=4 et filetype=sh
+ +
+# called by dracut +# called by dracut
+check() { +check() {
+ # hwclock does not exist on S390(x), bail out silently then + [ -e /etc/localtime -a -e /etc/adjtime ]
+ local _arch=$(uname -m)
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && return 1
+
+ [ -e /etc/localtime -a -e /etc/adjtime ] || return 1
+ require_binaries /sbin/hwclock || return 1
+} +}
+ +
+# called by dracut +# called by dracut
@ -47,10 +43,11 @@ Index: dracut-041/modules.d/00warpclock/module-setup.sh
+ inst_hook pre-trigger 00 "$moddir/warpclock.sh" + inst_hook pre-trigger 00 "$moddir/warpclock.sh"
+ inst /sbin/hwclock + inst /sbin/hwclock
+} +}
Index: dracut-041/modules.d/00warpclock/warpclock.sh diff --git a/modules.d/00warpclock/warpclock.sh b/modules.d/00warpclock/warpclock.sh
=================================================================== new file mode 100755
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..f64818c
+++ dracut-041/modules.d/00warpclock/warpclock.sh 2015-03-24 15:07:47.762852198 +0100 --- /dev/null
+++ b/modules.d/00warpclock/warpclock.sh
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
+#!/bin/sh +#!/bin/sh
+ +
@ -61,3 +58,6 @@ Index: dracut-041/modules.d/00warpclock/warpclock.sh
+ fi + fi
+ done < /etc/adjtime + done < /etc/adjtime
+fi +fi
--
1.8.1.4

View File

@ -0,0 +1,29 @@
From 577e9e8a0d5e060e14ac1caef28201bfa208275c Mon Sep 17 00:00:00 2001
From: Robert Milasan <rmilasan@suse.cz>
Date: Tue, 8 Apr 2014 08:54:42 +0200
Subject: [PATCH] 95udev-rules: add persistent network rule
Add support for 70-persistent-net.rules in dracut.
References: bnc#868375
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
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 fab4ffc..41985df 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 \
+ 70-persistent-net.rules \
59-scsi-sg3_utils.rules \
75-net-description.rules \
80-net-name-slot.rules 80-net-setup-link.rules \
--
1.8.4.5

View File

@ -0,0 +1,32 @@
From e7fce3b5ce42ffe1184d5d23e5ed02325af243bb Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Wed, 9 Apr 2014 14:10:57 +0200
Subject: [PATCH] systemd always tries to load autofs4
During boot systemd tries to load autofs4, but dracut will only
add it if it's loaded by the time dracut is run.
Modify dracut to always load autofs4.
References: bnc#869411
Signed-off-by: Thomas Renninger <trenn@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 cf1b2e7..4516b9a 100755
--- a/modules.d/98systemd/module-setup.sh
+++ b/modules.d/98systemd/module-setup.sh
@@ -20,7 +20,7 @@ depends() {
}
installkernel() {
- instmods autofs4 ipv6
+ hostonly='' instmods autofs4 ipv6
}
# called by dracut
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From 8e920171da42a1c4371db94e4d4fb75f3f261d66 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.de>
Date: Wed, 9 Apr 2014 14:14:03 +0200
Subject: [PATCH] Fixup mdraid setup
This sed script to edit 64-md-raid-assemble.rules needs to
be adjusted for latest mdadm
References: bnc#866660
Signed-off-by: NeilBrown <neilb@suse.de>
---
modules.d/90mdraid/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 81c94f2..4963537 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -88,7 +88,7 @@ install() {
for rule in 64-md-raid.rules 64-md-raid-assembly.rules; do
rule_path="${initdir}${udevdir}/rules.d/${rule}"
[ -f "${rule_path}" ] && sed -i -r \
- -e '/RUN\+?="[[:alpha:]/]*mdadm[[:blank:]]+(--incremental|-I)[[:blank:]]+(\$env\{DEVNAME\}|\$tempnode|\$devnode)/d' \
+ -e '/(RUN|IMPORT\{program\})\+?="[[:alpha:]/]*mdadm[[:blank:]]+(--incremental|-I)[[:blank:]]+(--export )?(\$env\{DEVNAME\}|\$tempnode|\$devnode)/d' \
"${rule_path}"
done
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From fdd30d0b8d336c29489d8cd7b768e16e3c88c014 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 8 Apr 2014 09:51:14 +0200
Subject: [PATCH] 95udev-rules: Add 59-scsi-sg_utils.rules
Add udev rules from sg3_utils to provide persistent device links.
References: bnc#872478
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95udev-rules/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 41985df..e5c0a7a 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -27,7 +27,8 @@ install() {
exit 1
fi
- inst_rules 50-udev-default.rules 60-persistent-storage.rules \
+ inst_rules 50-udev-default.rules 59-scsi-sg3_utils.rules \
+ 60-persistent-storage.rules \
61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
60-pcmcia.rules \
50-udev.rules 95-late.rules \
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From 8b76d2e8d7f2dbc6e6020c5f030a697d8f9005f9 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 9 Apr 2014 08:07:39 +0200
Subject: [PATCH] 90multipath: add 67-kpartx-compat.rules
Dracut needs to install the kpartx compability rules, otherwise
random failures might occur during boot.
References: bnc#872662
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index b60cc60..c2bbdb4 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -102,6 +102,7 @@ install() {
inst_hook cleanup 80 "$moddir/multipathd-needshutdown.sh"
- inst_rules 40-multipath.rules 62-multipath.rules 65-multipath.rules 66-kpartx.rules
+ inst_rules 40-multipath.rules 62-multipath.rules 65-multipath.rules \
+ 66-kpartx.rules 67-kpartx-compat.rules
}
--
1.8.1.4

View File

@ -0,0 +1,61 @@
From db1065791dbcad5325e4c2732dc70d0334decc25 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 8 Apr 2014 10:04:41 +0200
Subject: [PATCH] 90multipath: install dracut-specific service file
The multipathd package might install a service and a socket
file. Using the original service file from the installed
system without the socket file triggers a bug in systemd,
causing systemd to crash.
As we don't actually need to socket file in the initrd we
should be installing our own service file which does not
reference the socket file at all.
References: bnc#871610
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 3 +--
modules.d/90multipath/multipathd.service | 15 +++++++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
create mode 100644 modules.d/90multipath/multipathd.service
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index c2bbdb4..9715851 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -91,8 +91,7 @@ install() {
inst_libdir_file "libmultipath*" "multipath/*"
if dracut_module_included "systemd"; then
- inst_multiple \
- $systemdsystemunitdir/multipathd.service
+ inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants"
ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service"
else
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
new file mode 100644
index 0000000..e9318f5
--- /dev/null
+++ b/modules.d/90multipath/multipathd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Device-Mapper Multipath Device Controller
+Before=iscsi.service iscsid.service lvm2-activation-early.service
+DefaultDependencies=no
+Conflicts=shutdown.target
+
+[Service]
+Type=forking
+ExecStartPre=/sbin/modprobe dm-multipath
+ExecStart=/sbin/multipathd
+ExecReload=/sbin/multipathd reconfigure
+ExecStop=/sbin/multipathd shutdown
+
+[Install]
+WantedBy=sysinit.target
--
1.8.4.5

View File

@ -0,0 +1,33 @@
From 6ae2f2f1d27ffde3bc70eeaa3334fda8f178adf7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 11 Apr 2014 13:00:58 +0200
Subject: [PATCH] 95udev-rules: Include correct sg3_utils rules
sg3_utils now provides two rules 55-scsi-sg3_id.rules and
58-scsi-sg3_symlink.rules, which need to be included instead
of the older 59-scsi-sg3_utils.rules.
References: bnc#873151
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95udev-rules/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index e5c0a7a..059ad0d 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -27,7 +27,8 @@ install() {
exit 1
fi
- inst_rules 50-udev-default.rules 59-scsi-sg3_utils.rules \
+ inst_rules 50-udev-default.rules \
+ 55-scsi-sg3_id.rules 58-scsi-sg3_symlink.rules \
60-persistent-storage.rules \
61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
60-pcmcia.rules \
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From 78dc7fe3690051c714e37067f3d9d13ed7aac976 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 11 Apr 2014 13:02:56 +0200
Subject: [PATCH] 90multipath: install correct multipath rules
The multipath rule got renamed to 56-multipath.rules, and
the 6*-multipath.rules were never provided by SLES.
References: bnc#873151
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 9715851..508241e 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -101,7 +101,7 @@ install() {
inst_hook cleanup 80 "$moddir/multipathd-needshutdown.sh"
- inst_rules 40-multipath.rules 62-multipath.rules 65-multipath.rules \
+ inst_rules 56-multipath.rules \
66-kpartx.rules 67-kpartx-compat.rules
}
--
1.8.1.4

View File

@ -0,0 +1,47 @@
From 096545d4d6a2c5bc142b4b924986307607d27469 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 5 May 2014 08:32:16 +0200
Subject: [PATCH] 95iscsi: Autodetect iSCSI firmware
Some iSCSI initiator present firmware information in
/sys/firmware/ibft or /sys/firmware/iscsi_bootX
Whenever we detect one of those directories we should assume
that the iSCSI devices should be activated.
Signed-off-by: Pavel Wieczorkiewicz <pwieczorkiewicz@suse.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 1b0f292..97e6e81 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -39,6 +39,22 @@ depends() {
installkernel() {
local _arch=$(uname -m)
+ install_ibft() {
+ # When iBFT / iscsi_boot is detected:
+ # - mark network as mandatory
+ # - specify firmware booting cmdline parameter
+
+ for d in /sys/firmware/* ; do
+ if [ -d ${d}/initiator ] ; then
+ echo "rd.neednet=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ echo "rd.iscsi.firmware=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ fi
+ done
+ }
+
+ # Detect iBFT and perform mandatory steps
+ install_ibft
+
instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
iscsi_module_filter() {
--
1.8.4.5

View File

@ -0,0 +1,51 @@
From 4a01af95296882e364499728329a1f5bff05cc93 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 16 Apr 2014 09:35:28 +0200
Subject: [PATCH] 90multipath: Fixup service file for booting
'Type=forking' caused systemd to immediately terminate the
entire process, and not creating any device maps.
So we should be using 'Type=simple' here.
References: bnc#873686
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 4 ++--
modules.d/90multipath/multipathd.service | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 508241e..0149df9 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -92,8 +92,8 @@ install() {
if dracut_module_included "systemd"; then
inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
- mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants"
- ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service"
+ mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
+ ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/multipathd.service"
else
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook cleanup 02 "$moddir/multipathd-stop.sh"
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
index e9318f5..44a7b80 100644
--- a/modules.d/90multipath/multipathd.service
+++ b/modules.d/90multipath/multipathd.service
@@ -5,9 +5,9 @@ DefaultDependencies=no
Conflicts=shutdown.target
[Service]
-Type=forking
+Type=simple
ExecStartPre=/sbin/modprobe dm-multipath
-ExecStart=/sbin/multipathd
+ExecStart=/sbin/multipathd -s -d
ExecReload=/sbin/multipathd reconfigure
ExecStop=/sbin/multipathd shutdown
--
1.8.4.5

View File

@ -0,0 +1,52 @@
From 410700b1b3a4c0e6c092ce453d1f7ca5aaa8c6af Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Mon, 5 May 2014 08:38:44 +0200
Subject: [PATCH] mkinitrd-suse.sh: Use '--hostonly' and '--hostonly-cmdline'
correctly
LVM and other systems might not be working properly as the
--hostonly-cmdline flag has to be active by default.
References: bnc#874000,bnc#874905,bnc#874363
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
mkinitrd-suse.8.asc | 4 +++-
mkinitrd-suse.sh | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
index 9eb8fc9..a181b75 100644
--- a/mkinitrd-suse.8.asc
+++ b/mkinitrd-suse.8.asc
@@ -76,7 +76,9 @@ OPTIONS
**-A**::
Create a so called "monster initrd" which includes all available
- features and modules.
+ features and modules. This calls dracut with --no-hostonly and
+ --no-hostonly-cmdline parameters internally, instead of the default
+ --hostonly and --hostonly-cmdline.
**-v, --verbose**::
increase verbosity level
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index 1c2634f..c02062d 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -297,7 +297,11 @@ targets=( $targets )
[[ $kernels ]] && kernels=( $kernels )
[[ $logfile ]] && dracut_args="${dracut_args} --logfile $logfile"
-[[ $host_only == 1 ]] && dracut_args="${dracut_args} --hostonly"
+if [[ $host_only == 1 ]];then
+ dracut_args="${dracut_args} --hostonly --hostonly-cmdline"
+else
+ dracut_args="${dracut_args} --no-hostonly --no-hostonly-cmdline"
+fi
[[ $force == 1 ]] && dracut_args="${dracut_args} --force"
[[ $dracut_cmdline ]] && dracut_args="${dracut_args} --kernel-cmdline ${dracut_cmdline}"
[ -z "$(type -p update-bootloader)" ] && skip_update_bootloader=1
--
1.8.4.5

View File

@ -0,0 +1,37 @@
From 05c2671153524a3487a674fb8798556eaf8bdcaa Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 5 May 2014 08:48:35 +0200
Subject: [PATCH] 95iscsi: Set correct iscsi_started value for iSCSI firmware
When iSCSI firmware booting is selected we should not rely on
'netroot' or 'iscsiroot' variables to be set.
References: bnc#873448
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/parse-iscsiroot.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
index 4be9d56..9651a20 100755
--- a/modules.d/95iscsi/parse-iscsiroot.sh
+++ b/modules.d/95iscsi/parse-iscsiroot.sh
@@ -92,8 +92,12 @@ if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; the
fi
fi
-netroot_enc=$(str_replace "$netroot" '/' '\2f')
-echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
+if [ -n "$iscsi_firmware" ] ; then
+ echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh
+else
+ netroot_enc=$(str_replace "$netroot" '/' '\2f')
+ echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
+fi
# Done, all good!
rootok=1
--
1.8.4.5

View File

@ -0,0 +1,48 @@
From 08f0ec43bed63ccd72b1ea9d20c36d3fe1d91a2e Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Tue, 27 May 2014 14:58:54 +0200
Subject: [PATCH] dracut: Do not stop installing drivers if one fails
--add-drivers and --filesystems kernel drivers are added via:
instmods -c
The check option makes the function return if one driver could not get
installed without trying to install further drivers which is bad.
The user is still informed ($_silent is by default no), but all modules
passed to instmods are tried to be loaded, even if one fails.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut-functions.sh | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index ac22b7e..5b3b1fb 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1689,18 +1689,16 @@ instmods() {
if (($# == 0)); then # filenames from stdin
while read _mod; do
inst1mod "${_mod%.ko*}" || {
- if [[ "$_check" == "yes" ]]; then
- [[ "$_silent" == "no" ]] && dfatal "Failed to install module $_mod"
- return 1
+ if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
+ dfatal "Failed to install module $_mod"
fi
}
done
fi
while (($# > 0)); do # filenames as arguments
inst1mod ${1%.ko*} || {
- if [[ "$_check" == "yes" ]]; then
- [[ "$_silent" == "no" ]] && dfatal "Failed to install module $1"
- return 1
+ if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
+ dfatal "Failed to install module $1"
fi
}
shift
--
1.8.4.5

View File

@ -0,0 +1,112 @@
From 35997a262493d31af8cd06a93612cf341df3f0cb Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Tue, 27 May 2014 14:59:39 +0200
Subject: [PATCH] Introduce --force-drivers parameter and force_drivers=+
config option
Which will not only add listed drivers, but also enforce that they are tried
to be loaded at early boot time.
This is needed if drivers which are not autoloaded (e.g. loop and a lot others)
shall get loaded via initramfs.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut.8.asc | 13 +++++++++++++
dracut.sh | 21 +++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/dracut.8.asc b/dracut.8.asc
index 14ce26b..5ff0e82 100644
--- a/dracut.8.asc
+++ b/dracut.8.asc
@@ -136,6 +136,19 @@ example:
----
===============================
+**--force-drivers** _<list of kernel modules>_::
+ See add-drivers above. But in this case it is ensured that the drivers
+ are tried to be loaded early via modprobe.
++
+[NOTE]
+===============================
+If [LIST] has multiple arguments, then you have to put these in quotes. For
+example:
+----
+# dracut --force-drivers "kmodule1 kmodule2" ...
+----
+===============================
+
**--omit-drivers** _<list of kernel modules>_::
specify a space-separated list of kernel modules not to add to the
initramfs.
diff --git a/dracut.sh b/dracut.sh
index adf26ad..9898cdf 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -81,6 +81,10 @@ Creates initial ramdisk images for preloading modules
exclusively include in the initramfs.
--add-drivers [LIST] Specify a space-separated list of kernel
modules to add to the initramfs.
+ --force-drivers [LIST] Specify a space-separated list of kernel
+ modules to add to the initramfs and make sure they
+ are tried to be loaded via modprobe same as passing
+ rd.driver.pre=DRIVER kernel parameter.
--omit-drivers [LIST] Specify a space-separated list of kernel
modules not to add to the initramfs.
--filesystems [LIST] Specify a space-separated list of kernel filesystem
@@ -299,6 +303,7 @@ rearrange_params()
--long add: \
--long force-add: \
--long add-drivers: \
+ --long force-drivers: \
--long omit-drivers: \
--long modules: \
--long omit: \
@@ -463,6 +468,7 @@ while :; do
-a|--add) push add_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
--force-add) push force_add_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
--add-drivers) push add_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
+ --force-drivers) push force_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
--omit-drivers) push omit_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
-m|--modules) push dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
-o|--omit) push omit_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;;
@@ -887,6 +893,13 @@ if (( ${#add_drivers_l[@]} )); then
fi
add_drivers=${add_drivers/-/_}
+if (( ${#force_drivers_l[@]} )); then
+ while pop force_drivers_l val; do
+ force_drivers+=" $val "
+ done
+fi
+force_drivers=${force_drivers/-/_}
+
if (( ${#omit_drivers_l[@]} )); then
while pop omit_drivers_l val; do
omit_drivers+=" $val "
@@ -903,6 +916,7 @@ fi
omit_drivers_corrected=""
for d in $omit_drivers; do
[[ " $drivers $add_drivers " == *\ $d\ * ]] && continue
+ [[ " $drivers $force_drivers " == *\ $d\ * ]] && continue
omit_drivers_corrected+="$d|"
done
omit_drivers="${omit_drivers_corrected%|}"
@@ -1295,6 +1309,13 @@ if [[ $no_kernel != yes ]]; then
if [[ $add_drivers ]]; then
hostonly='' instmods -c $add_drivers
fi
+ if [[ $force_drivers ]]; then
+ hostonly='' instmods -c $force_drivers
+ rm -f $initdir/etc/cmdline.d/20-force_driver.conf
+ for mod in $force_drivers; do
+ echo "rd.driver.pre=$mod" >>$initdir/etc/cmdline.d/20-force_drivers.conf
+ done
+ fi
if [[ $filesystems ]]; then
hostonly='' instmods -c $filesystems
fi
--
1.8.4.5

View File

@ -0,0 +1,80 @@
From 2a0e23ad75de80c7cc280b005e2cd5f4a67a31de Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 13 May 2014 09:05:38 +0200
Subject: [PATCH] 95fcoe: Store current configuration in dracut cmdline
When running with --hostonly-cmdline we should be storing
the current configuration in /etc/cmdline.d so that dracut
will be configure the system automatically.
References: bnc#877288
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/module-setup.sh | 43 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 9a52c00..ef4a38f 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -2,6 +2,45 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+get_vlan_parent() {
+ local link=$1
+
+ [ -d $link ] || return
+ read iflink < $link/iflink
+ for if in /sys/class/net/* ; do
+ read idx < $if/ifindex
+ if [ $idx -eq $iflink ] ; then
+ echo ${if##*/}
+ fi
+ done
+}
+
+# called by dracut
+cmdline() {
+
+ for c in /sys/bus/fcoe/devices/ctlr_* ; do
+ [ -L $c ] || continue
+ read enabled < $c/enabled
+ [ $enabled -eq 0 ] && continue
+ d=$(cd -P $c; echo $PWD)
+ i=${d%/*}
+ read mac < ${i}/address
+ s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ if [ -z "$s" ] ; then
+ p=$(get_vlan_parent ${i})
+ if [ "$p" ] ; then
+ s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ fi
+ fi
+ if [ "$s" = "on" ] ; then
+ dcb="dcb"
+ else
+ dcb="nodcb"
+ fi
+ echo "fcoe=${mac}:${dcb}"
+ done
+}
+
# called by dracut
check() {
require_binaries dcbtool fipvlan lldpad ip readlink || return 1
@@ -25,6 +64,10 @@ install() {
mkdir -m 0755 -p "$initdir/var/lib/lldpad"
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ cmdline >> "${initdir}/etc/cmdline.d/95fcoe.conf"
+ echo >> "${initdir}/etc/cmdline.d/95fcoe.conf"
+ fi
inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
--
1.8.4.5

View File

@ -0,0 +1,38 @@
From d2b5184bf73bbce848fb3aca10ac7e33f6b65a27 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 13 May 2014 11:01:29 +0200
Subject: [PATCH] 95fcoe: update fcoe interface check
The 'create' sysfs entry has been removed for newer fcoe modules,
so just check if the module directory exists.
References: bnc#877288
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/parse-fcoe.sh | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh
index dc40c82..8e08303 100755
--- a/modules.d/95fcoe/parse-fcoe.sh
+++ b/modules.d/95fcoe/parse-fcoe.sh
@@ -22,14 +22,11 @@
# BRCM: Later, should check whether bnx2x is loaded first before loading bnx2fc so do not load bnx2fc when there are no Broadcom adapters
-[ -e /sys/module/fcoe/parameters/create ] || modprobe -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
+[ -d /sys/module/fcoe ] || modprobe -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
modprobe bnx2fc >/dev/null 2>&1
udevadm settle --timeout=30
-# FCoE actually supported?
-[ -e /sys/module/fcoe/parameters/create ] || modprobe fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
-
parse_fcoe_opts() {
local IFS=:
set $fcoe
--
1.8.4.5

View File

@ -0,0 +1,78 @@
From e4c44afc0f05514f2eed4efaea76d7b9bc239493 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 14 May 2014 08:04:22 +0200
Subject: [PATCH] 95fcoe: start lldpad separately
lldpad is a system-wide process, which must be started only once.
So we should be separate it from fcoe-up, as it might be called
several times.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/fcoe-up.sh | 8 --------
modules.d/95fcoe/lldpad.sh | 14 ++++++++++++++
modules.d/95fcoe/module-setup.sh | 1 +
3 files changed, 15 insertions(+), 8 deletions(-)
create mode 100644 modules.d/95fcoe/lldpad.sh
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index d8c73c8..9884713 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -24,10 +24,6 @@ netdriver=$(readlink -f /sys/class/net/$netif/device/driver)
netdriver=${netdriver##*/}
if [ "$dcb" = "dcb" ]; then
- # Note lldpad will stay running after switchroot, the system initscripts
- # are to kill it and start a new lldpad to take over. Data is transfered
- # between the 2 using a shm segment
- lldpad -d
# wait for lldpad to be ready
i=0
while [ $i -lt 60 ]; do
@@ -37,10 +33,6 @@ if [ "$dcb" = "dcb" ]; then
i=$(($i+1))
done
- # on some systems lldpad needs some time
- # sleep until we find a better solution
- sleep 30
-
while [ $i -lt 60 ]; do
dcbtool sc "$netif" dcb on && break
info "Retrying to turn dcb on"
diff --git a/modules.d/95fcoe/lldpad.sh b/modules.d/95fcoe/lldpad.sh
new file mode 100644
index 0000000..d06a3bd
--- /dev/null
+++ b/modules.d/95fcoe/lldpad.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# Note lldpad will stay running after switchroot, the system initscripts
+# are to kill it and start a new lldpad to take over. Data is transfered
+# between the 2 using a shm segment
+lldpad -d
+# wait for lldpad to be ready
+i=0
+while [ $i -lt 60 ]; do
+ lldptool -p && break
+ info "Waiting for lldpad to be ready"
+ sleep 1
+ i=$(($i+1))
+done
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index ef4a38f..9af8c71 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -71,6 +71,7 @@ install() {
inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
+ inst_hook pre-trigger 03 "$moddir/lldpad.sh"
inst_hook cmdline 99 "$moddir/parse-fcoe.sh"
dracut_need_initqueue
}
--
1.8.4.5

View File

@ -0,0 +1,80 @@
From ee275da9883bb5a3f10191f6a034d90dd6ba5770 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Tue, 27 May 2014 15:03:46 +0200
Subject: [PATCH] Remove --force parameter from mkinitrd
When calling 'mkinitrd' we're setting the '--force' parameter
to dracut anyway, so it doesn't make any sense to have it
as a separate parameter.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
mkinitrd-suse.8.asc | 3 ---
mkinitrd-suse.sh | 9 ++-------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
index a181b75..cdb8e3a 100644
--- a/mkinitrd-suse.8.asc
+++ b/mkinitrd-suse.8.asc
@@ -87,9 +87,6 @@ OPTIONS
Disable logging to _/var/log/YaST2/mkinitrd.log_. This is useful for
testing if you dont want to clutter the system log.
-**--force**::
- overwrite existing initramfs file.
-
**--help**::
print a help message and exit.
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index c02062d..7fc787e 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -23,7 +23,6 @@
boot_dir="/boot"
quiet=0
host_only=1
-force=0
logfile=/var/log/YaST2/mkinitrd.log
dracut_cmd=dracut
@@ -203,8 +202,6 @@ default_kernel_images() {
for initrd_image in $initrd_images;do
targets="$targets $initrd_image"
done
- host_only=1
- force=1
}
while (($# > 0)); do
@@ -217,8 +214,6 @@ while (($# > 0)); do
for kernel_image in $kernel_images;do
kernels="$kernels ${kernel_image#*-}"
done
- host_only=1
- force=1
;;
-i) read_arg initrd_images "$@" || shift $?
for initrd_image in $initrd_images;do
@@ -274,7 +269,6 @@ while (($# > 0)); do
--version|-R)
echo "mkinitrd: dracut compatibility wrapper"
exit 0;;
- --force) force=1;;
--quiet|-q) quiet=1;;
*) if [[ ! $targets ]]; then
targets=$1
@@ -302,7 +296,8 @@ if [[ $host_only == 1 ]];then
else
dracut_args="${dracut_args} --no-hostonly --no-hostonly-cmdline"
fi
-[[ $force == 1 ]] && dracut_args="${dracut_args} --force"
+dracut_args="${dracut_args} --force"
+
[[ $dracut_cmdline ]] && dracut_args="${dracut_args} --kernel-cmdline ${dracut_cmdline}"
[ -z "$(type -p update-bootloader)" ] && skip_update_bootloader=1
--
1.8.4.5

View File

@ -0,0 +1,38 @@
From 2029fc819675979761968b85526e8b3824f9b97b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 19 May 2014 12:25:01 +0200
Subject: [PATCH] 95fcoe: skip VLAN devices in fcoe-up
DCB & fipvlan can only be called on real devices, not VLAN
ones. So skip any VLAN devices which might been added to the
list of network interfaces.
References: bnc#878583
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/fcoe-up.sh | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index 9884713..d362f0e 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -18,6 +18,14 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh
netif=$1
dcb=$2
+iflink=$(cat /sys/class/net/$netif/iflink)
+ifindex=$(cat /sys/class/net/$netif/ifindex)
+if [ "$iflink" != "$ifindex" ] ; then
+ # Skip VLAN devices
+ exit 0
+fi
+
+ip link set dev $netif up
linkup "$netif"
netdriver=$(readlink -f /sys/class/net/$netif/device/driver)
--
1.7.12.4

View File

@ -0,0 +1,82 @@
From c736a3871f583c60f21215a5e69026e8f0bd6bff Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:36:48 +0200
Subject: [PATCH] mkinitd-suse: remove --hostonly and --hostonly-cmdline
Should be set via configuration files, not in the script itself.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
mkinitrd-suse.sh | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index 7fc787e..1750b62 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -22,7 +22,6 @@
boot_dir="/boot"
quiet=0
-host_only=1
logfile=/var/log/YaST2/mkinitrd.log
dracut_cmd=dracut
@@ -255,7 +254,7 @@ while (($# > 0)); do
dracut_cmdline="${dracut_cmdline} ip=$(ipconfig $static_if)":
;;
-a) read_arg acpi_dsdt "$@" || shift $?
- echo "mkinitrd: custom DSDT not yet supported"
+ echo "Obsolete -a param, use acpi_table_dir= and acpi_override= variables in /etc/dracut.conf.d/"
exit 1
;;
-s) read_arg boot_splash "$@" || shift $?
@@ -291,11 +290,6 @@ targets=( $targets )
[[ $kernels ]] && kernels=( $kernels )
[[ $logfile ]] && dracut_args="${dracut_args} --logfile $logfile"
-if [[ $host_only == 1 ]];then
- dracut_args="${dracut_args} --hostonly --hostonly-cmdline"
-else
- dracut_args="${dracut_args} --no-hostonly --no-hostonly-cmdline"
-fi
dracut_args="${dracut_args} --force"
[[ $dracut_cmdline ]] && dracut_args="${dracut_args} --kernel-cmdline ${dracut_cmdline}"
@@ -309,7 +303,6 @@ fi
[[ $domu_module_list ]] || domu_module_list="${DOMU_INITRD_MODULES}"
shopt -s extglob
-echo "Creating: target|kernel|dracut args "
for ((i=0 ; $i<${#targets[@]} ; i++)); do
if [[ $img_vers ]];then
@@ -329,20 +322,21 @@ for ((i=0 ; $i<${#targets[@]} ; i++)); do
modules_all=${modules_all%%+([[:space:]])}
modules_all=${modules_all##+([[:space:]])}
+ echo "Creating initrd: $target"
+
# Duplicate code: No way found how to redirect output based on $quiet
if [[ $quiet == 1 ]];then
- echo "$target|$kernel|$dracut_args_all"
- # Duplicate code: --add-drivers must not be called with empty string
+ # Duplicate code: --force-drivers must not be called with empty string
# -> dracut bug workarounded ugly, because of complex whitespace
# expansion magics
if [ -n "${modules_all}" ];then
- $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel" &>/dev/null
+ $dracut_cmd $dracut_args --force-drivers "${modules_all}" "$target" "$kernel" &>/dev/null
else
$dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null
fi
else
if [ -n "${modules_all}" ];then
- $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel"
+ $dracut_cmd $dracut_args --force-drivers "${modules_all}" "$target" "$kernel"
else
$dracut_cmd $dracut_args "$target" "$kernel"
fi
--
1.8.4.5

View File

@ -0,0 +1,35 @@
From a2fb3509fc14d1ce2689878b6e63756a39531dc5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:39:55 +0200
Subject: [PATCH] Enhance suse.conf example with SUSE-specific settings
SUSE is using specific settings for dracut, so add them
to the suse.conf.example file.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut.conf.d/suse.conf.example | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/dracut.conf.d/suse.conf.example b/dracut.conf.d/suse.conf.example
index 1e7f80e..818b59f 100644
--- a/dracut.conf.d/suse.conf.example
+++ b/dracut.conf.d/suse.conf.example
@@ -1,3 +1,14 @@
+# SUSE specifc dracut settings
+#
+# SUSE by default always builds a as small as possible initrd for performance
+# and resource reasons.
+# If you like to build a generic initrd which works on other platforms than
+# on the one dracut/mkinitrd got called comment out below setting(s).
+hostonly="yes"
+hostonly_cmdline="yes"
+
+compress="pixz -6"
+
i18n_vars="/etc/sysconfig/language:RC_LANG-LANG,RC_LC_ALL-LC_ALL /etc/sysconfig/console:CONSOLE_UNICODEMAP-FONT_UNIMAP,CONSOLE_FONT-FONT,CONSOLE_SCREENMAP-FONT_MAP /etc/sysconfig/keyboard:KEYTABLE-KEYMAP"
omit_drivers+=" i2o_scsi"
--
1.8.4.5

View File

@ -0,0 +1,26 @@
From 1bfb0415eaee805fc5b5685f5e291904f4d5effa Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:41:43 +0200
Subject: [PATCH] 40network: always add network module
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/40network/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index b54f873..5d3c26e 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -11,7 +11,7 @@ check() {
require_binaries ip arping $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1
- return 255
+ return 0
}
# called by dracut
--
1.8.4.5

View File

@ -0,0 +1,27 @@
From 753046ce937389b99431870c531dcc862323d660 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:43:16 +0200
Subject: [PATCH] Add 'find' to debug binaries
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/95debug/module-setup.sh | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/modules.d/95debug/module-setup.sh b/modules.d/95debug/module-setup.sh
index 88de833..1891fa8 100755
--- a/modules.d/95debug/module-setup.sh
+++ b/modules.d/95debug/module-setup.sh
@@ -16,8 +16,7 @@ depends() {
# called by dracut
install() {
inst_multiple -o ps grep more cat rm strace free showmount \
- ping netstat rpcinfo vi scp ping6 ssh \
+ ping netstat rpcinfo vi scp ping6 ssh find \
fsck fsck.ext2 fsck.ext4 fsck.ext3 fsck.ext4dev fsck.vfat e2fsck
-
}
--
1.8.4.5

View File

@ -0,0 +1,28 @@
From f15b93bd58f157a4c8f3aa5fe5a03ee0494f262c Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:44:05 +0200
Subject: [PATCH] 40network: add missing _arch variable declaration
The module_setup.sh script was missing an '_arch' declaration,
causing network not to be installed on s390.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/40network/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 5d3c26e..7e7f087 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -22,6 +22,7 @@ depends() {
# called by dracut
installkernel() {
# Include wired net drivers, excluding wireless
+ local _arch=$(uname -m)
net_module_filter() {
local _net_drivers='eth_type_trans|register_virtio_device|usbnet_open'
--
1.8.4.5

View File

@ -0,0 +1,59 @@
From 6ecab258710d158a7a628f699449ac1c2c918208 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:45:36 +0200
Subject: [PATCH] dracut: Do not wait for swap device
There should be no difference between hostonly and non-hostonly mode;
systemd should take care of bringing up the swap device whenever it's
accessible.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut.sh | 31 -------------------------------
1 file changed, 31 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 9898cdf..79a6840 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1044,37 +1044,6 @@ if [[ $hostonly ]]; then
push host_devs "$_dev"
done
- if [[ -f /proc/swaps ]] && [[ -f /etc/fstab ]]; then
- while read dev type rest; do
- [[ -b $dev ]] || continue
- [[ "$type" == "partition" ]] || continue
-
- while read _d _m _t _o _r; do
- [[ "$_d" == \#* ]] && continue
- [[ $_d ]] || continue
- [[ $_t != "swap" ]] && continue
- [[ $_m != "swap" ]] && [[ $_m != "none" ]] && continue
- [[ "$_o" == *noauto* ]] && continue
- _d=$(expand_persistent_dev "$_d")
- [[ "$_d" -ef "$dev" ]] || continue
-
- if [[ -f /etc/crypttab ]]; then
- while read _mapper _a _p _o; do
- [[ $_mapper = \#* ]] && continue
- [[ "$_d" -ef /dev/mapper/"$_mapper" ]] || continue
- [[ "$_o" ]] || _o="$_p"
- # skip entries with password files
- [[ "$_p" == /* ]] && [[ -f $_p ]] && continue 2
- # skip mkswap swap
- [[ $_o == *swap* ]] && continue 2
- done < /etc/crypttab
- fi
-
- push host_devs "$(readlink -f "$dev")"
- break
- done < /etc/fstab
- done < /proc/swaps
- fi
# record all host modaliases
declare -A host_modalias
find /sys/devices/ -name uevent -print > "$initdir/.modalias"
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From e7d92a233044614bc6eed412abd05dc99432a455 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:46:55 +0200
Subject: [PATCH] 95resume: skip module for s390(x)
s390(x) kernels do not support suspend, so there is no need
to include this module.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/95resume/module-setup.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
index b1b4684..7f3cf24 100755
--- a/modules.d/95resume/module-setup.sh
+++ b/modules.d/95resume/module-setup.sh
@@ -4,6 +4,10 @@
# called by dracut
check() {
+ local _arch=$(uname -m)
+ # No suspend support on s390(x)
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && return 1
+
# No point trying to support resume, if no swap partition exist
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in "${host_fs_types[@]}"; do
--
1.8.4.5

View File

@ -16,11 +16,11 @@ Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.de>
modules.d/40network/net-genrules.sh | 2 +- modules.d/40network/net-genrules.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-041/modules.d/40network/net-genrules.sh diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
=================================================================== index 6ec9239..2fd8c6b 100755
--- dracut-041.orig/modules.d/40network/net-genrules.sh 2015-03-24 15:07:37.138255549 +0100 --- a/modules.d/40network/net-genrules.sh
+++ dracut-041/modules.d/40network/net-genrules.sh 2015-03-24 15:09:13.415662323 +0100 +++ b/modules.d/40network/net-genrules.sh
@@ -95,8 +95,8 @@ @@ -97,8 +97,8 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
else else
cond='ACTION=="add", SUBSYSTEM=="net"' cond='ACTION=="add", SUBSYSTEM=="net"'
# if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh # if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh
@ -30,3 +30,6 @@ Index: dracut-041/modules.d/40network/net-genrules.sh
echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh
fi fi
fi fi
--
1.8.4.5

View File

@ -0,0 +1,40 @@
From a857924cc5eaf57b1f8c6ae469fefa4ee03cf6cf Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 27 May 2014 12:07:35 +0200
Subject: [PATCH] 95iscsi: Use 'ip=ibft' for ibft autoconfiguration
For iBFT autoconfiguration we should be setting 'ip=ibft'
instead of rd.neednet. This should instruct dracut to only
enable the iBFT interfaces and leave the rest alone.
References: bnc#879038
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 97e6e81..634c72e 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -41,12 +41,14 @@ installkernel() {
install_ibft() {
# When iBFT / iscsi_boot is detected:
- # - mark network as mandatory
+ # - Use 'ip=ibft' to set up iBFT network interface
# - specify firmware booting cmdline parameter
for d in /sys/firmware/* ; do
if [ -d ${d}/initiator ] ; then
- echo "rd.neednet=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ if [ ${d##*/} = "ibft" ] ; then
+ echo "ip=ibft" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ fi
echo "rd.iscsi.firmware=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
fi
done
--
1.8.4.5

View File

@ -0,0 +1,46 @@
From 55817d44cd85733072d61e20ed6c790f8252b00f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 27 May 2014 13:30:17 +0200
Subject: [PATCH] 95iscsi: strip one set of quotes when calling initqueue
initqueue will process the arguments, assuming the first non-option
argument to be the program to be executed. Putting the entire
commandline into this argument confuses both, initqueue and the
program in question.
References: bnc#879038
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/parse-iscsiroot.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
index 9651a20..3a572f7 100755
--- a/modules.d/95iscsi/parse-iscsiroot.sh
+++ b/modules.d/95iscsi/parse-iscsiroot.sh
@@ -61,10 +61,10 @@ fi
# iscsi_firmware does not need argument checking
if [ -n "$iscsi_firmware" ] ; then
- netroot=${netroot:-iscsi:}
+ [ -z "$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
@@ -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.8.4.5

View File

@ -0,0 +1,24 @@
From 9a27c641994d83947057a7dc4dcf8886c0764091 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Mon, 2 Jun 2014 14:50:14 +0200
Subject: [PATCH] mkinitrd-suse: add 'update bootloader' message
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
mkinitrd-suse.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index 1750b62..bf10a9d 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -346,5 +346,6 @@ done
if [ "$skip_update_bootloader" ] ; then
echo 2>&1 "Did not refresh the bootloader. You might need to refresh it manually."
else
+ echo "Update bootloader..."
update-bootloader --refresh
fi
--
1.8.4.5

View File

@ -0,0 +1,32 @@
From fad493626ae0d6118d4efc164151d4fe8937682b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 2 Jun 2014 14:52:23 +0200
Subject: [PATCH] 99base: Add chown binary
nvidia driver needs this via modprobe script.
Needs to do change the group after a device node got created.
Add chown instead of chgrp which can also change the owner of a file.
Ask Stefand Dirsch <sndirsch@suse.de> for details.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/99base/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
index 13fbee2..359db22 100755
--- a/modules.d/99base/module-setup.sh
+++ b/modules.d/99base/module-setup.sh
@@ -17,7 +17,7 @@ depends() {
install() {
local _d
- inst_multiple mount mknod mkdir sleep chroot \
+ inst_multiple mount mknod mkdir sleep chroot chown \
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
inst $(command -v modprobe) /sbin/modprobe
--
1.8.4.5

View File

@ -13,11 +13,11 @@ Signed-off-by: Marcus Meissner <meissner@suse.de>
modules.d/01fips/module-setup.sh | 12 +++++++++--- modules.d/01fips/module-setup.sh | 12 +++++++++---
2 files changed, 21 insertions(+), 3 deletions(-) 2 files changed, 21 insertions(+), 3 deletions(-)
Index: dracut-041/modules.d/01fips/fips.sh diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
=================================================================== index 7fa48f1..07bd1da 100755
--- dracut-041.orig/modules.d/01fips/fips.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/01fips/fips.sh
+++ dracut-041/modules.d/01fips/fips.sh 2015-03-17 12:57:54.755887866 +0100 +++ b/modules.d/01fips/fips.sh
@@ -98,6 +98,18 @@ @@ -100,6 +100,18 @@ do_fips()
_found=1 _found=1
break break
done </proc/crypto done </proc/crypto
@ -36,13 +36,13 @@ Index: dracut-041/modules.d/01fips/fips.sh
[ "$_found" = "0" ] && return 1 [ "$_found" = "0" ] && return 1
fi fi
fi fi
Index: dracut-041/modules.d/01fips/module-setup.sh diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
=================================================================== index a4081dc..aa56fcf 100755
--- dracut-041.orig/modules.d/01fips/module-setup.sh 2015-03-17 12:57:54.439870155 +0100 --- a/modules.d/01fips/module-setup.sh
+++ dracut-041/modules.d/01fips/module-setup.sh 2015-03-17 12:57:54.755887866 +0100 +++ b/modules.d/01fips/module-setup.sh
@@ -16,8 +16,12 @@ @@ -18,8 +18,12 @@ installkernel() {
_fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 blowfish camellia cast6 cbc ccm " _fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 blowfish camellia cast6 cbc ccm "
_fipsmodules+="chainiv crc32c crct10dif_generic cryptomgr crypto_null ctr cts deflate des des3_ede dm-crypt dm-mod drbg " _fipsmodules+="chainiv crc32c crct10dif_generic cryptomgr crypto_null ctr cts deflate des des3_ede dm-crypt dm-mod "
_fipsmodules+="ecb eseqiv fcrypt gcm ghash_generic hmac khazad lzo md4 md5 michael_mic rmd128 " _fipsmodules+="ecb eseqiv fcrypt gcm ghash_generic hmac khazad lzo md4 md5 michael_mic rmd128 "
- _fipsmodules+="rmd160 rmd256 rmd320 rot13 salsa20 seed seqiv serpent sha1 sha224 sha256 sha256_generic " - _fipsmodules+="rmd160 rmd256 rmd320 rot13 salsa20 seed seqiv serpent sha1 sha224 sha256 sha256_generic "
- _fipsmodules+="sha384 sha512 sha512_generic tcrypt tea tnepres twofish wp256 wp384 wp512 xeta xtea xts zlib" - _fipsmodules+="sha384 sha512 sha512_generic tcrypt tea tnepres twofish wp256 wp384 wp512 xeta xtea xts zlib"
@ -55,9 +55,9 @@ Index: dracut-041/modules.d/01fips/module-setup.sh
mkdir -m 0755 -p "${initdir}/etc/modprobe.d" mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
@@ -43,7 +47,9 @@ @@ -44,7 +48,9 @@ install() {
libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \ libsoftokn3.chk libfreebl3.so libfreebl3.chk \
libfreeblpriv3.so libfreeblpriv3.chk libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10
- inst_multiple -o prelink - inst_multiple -o prelink
+ # we do not use prelink at SUSE + # we do not use prelink at SUSE
@ -66,3 +66,6 @@ Index: dracut-041/modules.d/01fips/module-setup.sh
inst_simple /etc/system-fips inst_simple /etc/system-fips
} }
--
1.8.4.5

View File

@ -0,0 +1,82 @@
From b4d9257babaea468c8ea8510350c30df509e2184 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 30 May 2014 10:34:03 +0200
Subject: [PATCH] 95iscsi: update commandline printing
dracut has a separate callout 'cmdline' which should be used
for printing out the generated commandline.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 40 +++++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 634c72e..52fac5c 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -2,6 +2,21 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+install_ibft() {
+ # When iBFT / iscsi_boot is detected:
+ # - Use 'ip=ibft' to set up iBFT network interface
+ # - specify firmware booting cmdline parameter
+
+ for d in /sys/firmware/* ; do
+ if [ -d ${d}/initiator ] ; then
+ if [ ${d##*/} = "ibft" ] ; then
+ echo -n "ip=ibft "
+ fi
+ echo -n "rd.iscsi.firmware=1"
+ fi
+ done
+}
+
# called by dracut
check() {
local _rootdev
@@ -39,23 +54,11 @@ depends() {
installkernel() {
local _arch=$(uname -m)
- install_ibft() {
- # When iBFT / iscsi_boot is detected:
- # - Use 'ip=ibft' to set up iBFT network interface
- # - specify firmware booting cmdline parameter
-
- for d in /sys/firmware/* ; do
- if [ -d ${d}/initiator ] ; then
- if [ ${d##*/} = "ibft" ] ; then
- echo "ip=ibft" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
- fi
- echo "rd.iscsi.firmware=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
- fi
- done
- }
-
# Detect iBFT and perform mandatory steps
- install_ibft
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ install_ibft > "${initdir}/etc/cmdline.d/95iscsi.conf"
+ echo >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ fi
instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
@@ -97,6 +100,11 @@ installkernel() {
}
# called by dracut
+cmdline() {
+ install_ibft
+}
+
+# called by dracut
install() {
inst_multiple umount iscsistart hostname iscsi-iname
inst_multiple -o iscsiuio
--
1.8.4.5

View File

@ -0,0 +1,38 @@
From bdf48e8e59056ccd44b3df2f53d298a74cabfab7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 30 May 2014 11:00:59 +0200
Subject: [PATCH] 95fcoe: Only install fcoe module if required
When called with '--hostonly' we need to check if
any FCoE controllers are present. Otherwise we don't
need to include the module.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/module-setup.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 9af8c71..7abfb01 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -43,7 +43,16 @@ cmdline() {
# called by dracut
check() {
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for c in /sys/bus/fcoe/devices/ctlr_* ; do
+ [ -L $c ] || continue
+ break;
+ done
+ return 255
+ }
+
require_binaries dcbtool fipvlan lldpad ip readlink || return 1
+
return 0
}
--
1.8.4.5

View File

@ -1,69 +1,24 @@
From 3e263f6bfa21d9b5b102dfa73d0bdf2c17de41dc Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de> From: Hannes Reinecke <hare@suse.de>
Date: Wed, 4 Jun 2014 13:27:41 +0200
81cio_ignore: handle cio_ignore commandline Subject: [PATCH] 81cio_ignore: handle cio_ignore commandline
References: bnc#874902 References: bnc#874902
Incorporates following on-top patches/fixes:
----------------------------
Subject: 81cio_ignore: skip module if cio_ignore is not active
When cio_ignore is not active we should skip the entire module
during boot; otherwise it'll lead to adverse effects.
References: bnc#882685
----------------------------
Subject: 81cio_ignore: rewrite module
Rewrite cio_ignore module to rely on the dracut commandline
parameter 'rd.cio_accept', which takes a comma-separated list
of CCW IDs. Each of those IDs are being removed from the
list of devices from cio_ignore.
The default values for rd.cio_accept are taken from
/boot/zipl/active_devices.txt.
References: bnc#882685
-----------------------------
Subject: More empty cmdline fixes
This fixes up some more modules which might print out empty
commandline files.
Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Thomas Renninger <trenn@suse.de>
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc ---
index e51fd1b..0e3e5a0 100644 modules.d/81cio_ignore/module-setup.sh | 39 ++++++++++++++++++++++++++++++++++
--- a/dracut.cmdline.7.asc modules.d/81cio_ignore/parse-zipl.sh | 29 +++++++++++++++++++++++++
+++ b/dracut.cmdline.7.asc 2 files changed, 68 insertions(+)
@@ -857,6 +857,21 @@ NOTE: There must be enough free RAM available to hold the complete image. create mode 100644 modules.d/81cio_ignore/module-setup.sh
This method is very suitable for diskless boots. create mode 100644 modules.d/81cio_ignore/parse-zipl.sh
+CIO_IGNORE
+~~~~~~~~~~
+**rd.cio_accept=**__<device-ids>__::
+ Remove the devices listed in <device-ids> from the default
+ cio_ignore kernel command-line settings.
+ <device-ids> is a list of comma-separated CCW device ids.
+ The default for this value is taken from the
+ _/boot/zipl/active_devices.txt_ file.
++
+[listing]
+.Example
+--
+rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
+--
+
Plymouth Boot Splash
~~~~~~~~~~~~~~~~~~~~
**plymouth.enable=0**::
diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
new file mode 100644 new file mode 100644
index 0000000..37b414b index 0000000..a812649
--- /dev/null --- /dev/null
+++ b/modules.d/81cio_ignore/module-setup.sh +++ b/modules.d/81cio_ignore/module-setup.sh
@@ -0,0 +1,40 @@ @@ -0,0 +1,39 @@
+#!/bin/bash +#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh +# ex: ts=8 sw=4 sts=4 et filetype=sh
@ -76,59 +31,68 @@ index 0000000..37b414b
+ return 0 + return 0
+} +}
+ +
+cmdline() { +find_mount() {
+ local cio_accept + local dev mnt etc wanted_dev
+ wanted_dev="$(readlink -e -q $1)"
+ while read dev mnt etc; do
+ [ "$mnt" = "$wanted_dev" ] && echo "$dev" && return 0
+ done < /proc/mounts
+ return 1
+}
+ +
+ if [ -e /boot/zipl/active_devices.txt ] ; then +cmdline() {
+ while read dev etc ; do + local zipl_dasd
+ [ "$dev" = "#" -o "$dev" = "" ] && continue; + zipl_dasd=`find_mount /boot/zipl`
+ if [ -z "$cio_accept" ] ; then + printf " rd.zipl_dasd=%s\n" "$zipl_dasd "
+ cio_accept="$dev"
+ else
+ cio_accept="${cio_accept},${dev}"
+ fi
+ done < /boot/zipl/active_devices.txt
+ fi
+ if [ -n "$cio_accept" ] ; then
+ echo "rd.cio_accept=${cio_accept}"
+ fi
+} +}
+ +
+# called by dracut +# called by dracut
+install() { +install() {
+ if [[ $hostonly_cmdline == "yes" ]];then + if [[ $hostonly_cmdline == "yes" ]];then
+ local _cio_accept=$(cmdline) + echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
+ [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept" >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
+ fi + fi
+ +
+ inst_hook cmdline 20 "$moddir/parse-cio_accept.sh" + inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
+ inst_multiple cio_ignore + inst_multiple cio_ignore mount umount mkdir
+} +}
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh +installkernel() {
+ instmods ext4
+}
diff --git a/modules.d/81cio_ignore/parse-zipl.sh b/modules.d/81cio_ignore/parse-zipl.sh
new file mode 100644 new file mode 100644
index 0000000..4f899d2 index 0000000..5f7aa58
--- /dev/null --- /dev/null
+++ b/modules.d/81cio_ignore/parse-cio_accept.sh +++ b/modules.d/81cio_ignore/parse-zipl.sh
@@ -0,0 +1,22 @@ @@ -0,0 +1,29 @@
+#!/bin/sh +#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh +# ex: ts=8 sw=4 sts=4 et filetype=sh
+ +
+CIO_IGNORE=$(getarg cio_ignore) +ZIPL_DEV="$(getarg rd.zipl_dasd)"
+CIO_ACCEPT=$(getarg rd.cio_accept) +ZIPL_DIR=/tmp/zipl
+CIO_REMOVE_LIST=$ZIPL_DIR/active_devices.txt
+ +
+if [ -z $CIO_IGNORE ] ; then +if [ -n $ZIPL_DEV ];then
+ info "cio_ignored disabled on commandline" + info "Waiting for zipl device $ZIPL_DEV"
+ return + wait_for_dev -n "$ZIPL_DEV"
+#
+# mount device and read devices
+#
+ [ -d $ZIPL_DIR ] || mkdir $ZIPL_DIR
+ mount -t ext2 -o ro $ZIPL_DEV $ZIPL_DIR
+ if [ -f $CIO_REMOVE_LIST ] ; then
+#
+# File exist
+#
+ while read dev etc; do
+ [ "$dev" = "#" -o "$dev" = "" ] && continue
+ cio_ignore --remove $dev
+ done < $CIO_REMOVE_LIST
+ fi + fi
+if [ -n "$CIO_ACCEPT" ] ; then + umount $ZIPL_DIR
+ OLDIFS="$IFS" +else
+ IFS=, + warn "No rd.zipl_dasd boot parameter found"
+ set -- $CIO_ACCEPT
+ while (($# > 0)) ; do
+ info "Enabling device $1"
+ cio_ignore --remove $1
+ shift
+ done
+ IFS="$OLDIFS"
+fi +fi
--
1.8.4.5

View File

@ -12,18 +12,23 @@ Signed-off-by: Marcus Meissner <meissner@suse.de>
modules.d/01fips/module-setup.sh | 6 +++++- modules.d/01fips/module-setup.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-) 1 file changed, 5 insertions(+), 1 deletion(-)
Index: dracut-041/modules.d/01fips/module-setup.sh diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
=================================================================== index aa56fcf..d6907a3 100755
--- dracut-041.orig/modules.d/01fips/module-setup.sh 2015-03-17 13:00:19.375997364 +0100 --- a/modules.d/01fips/module-setup.sh
+++ dracut-041/modules.d/01fips/module-setup.sh 2015-03-17 13:02:40.739924966 +0100 +++ b/modules.d/01fips/module-setup.sh
@@ -45,6 +45,10 @@ @@ -46,7 +46,11 @@ install() {
inst_libdir_file libsoftokn3.so libsoftokn3.so \ inst_libdir_file libsoftokn3.so libsoftokn3.so \
libsoftokn3.chk libfreebl3.so libfreebl3.chk \ libsoftokn3.chk libfreebl3.so libfreebl3.chk \
libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \ - libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10
+ libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \
+ .libcrypto.so.1.0.0.hmac .libssl.so.1.0.0.hmac \ + .libcrypto.so.1.0.0.hmac .libssl.so.1.0.0.hmac \
+ .libcryptsetup.so.4.5.0.hmac .libcryptsetup.so.4.hmac \ + .libcryptsetup.so.4.5.0.hmac .libcryptsetup.so.4.hmac \
+ .libgcrypt.so.20.hmac \ + .libgcrypt.so.20.hmac \
+ .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac + .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac
libfreeblpriv3.so libfreeblpriv3.chk
# we do not use prelink at SUSE # we do not use prelink at SUSE
#inst_multiple -o prelink
--
1.8.4.5

View File

@ -25,11 +25,11 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
dracut.sh | 5 +++++ dracut.sh | 5 +++++
3 files changed, 37 insertions(+) 3 files changed, 37 insertions(+)
Index: dracut-041/dracut-functions.sh diff --git a/dracut-functions.sh b/dracut-functions.sh
=================================================================== index 5b3b1fb..1e0779a 100755
--- dracut-041.orig/dracut-functions.sh 2015-03-17 13:03:05.977340283 +0100 --- a/dracut-functions.sh
+++ dracut-041/dracut-functions.sh 2015-03-17 13:04:36.570421062 +0100 +++ b/dracut-functions.sh
@@ -1436,6 +1436,17 @@ @@ -1400,6 +1400,17 @@ for_each_module_dir() {
done done
} }
@ -47,7 +47,7 @@ Index: dracut-041/dracut-functions.sh
# Install a single kernel module along with any firmware it may require. # Install a single kernel module along with any firmware it may require.
# $1 = full path to kernel module to install # $1 = full path to kernel module to install
install_kmod_with_fw() { install_kmod_with_fw() {
@@ -1498,6 +1509,10 @@ @@ -1462,6 +1473,10 @@ install_kmod_with_fw() {
fi fi
fi fi
done done
@ -58,7 +58,7 @@ Index: dracut-041/dracut-functions.sh
return 0 return 0
} }
@@ -1544,6 +1559,12 @@ @@ -1508,6 +1523,12 @@ dracut_kernel_post() {
inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $? inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $?
done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
fi fi
@ -71,13 +71,13 @@ Index: dracut-041/dracut-functions.sh
) & ) &
_pid=$(jobs -p | while read a ; do printf ":$a";done) _pid=$(jobs -p | while read a ; do printf ":$a";done)
_pid=${_pid##*:} _pid=${_pid##*:}
Index: dracut-041/dracut.8.asc diff --git a/dracut.8.asc b/dracut.8.asc
=================================================================== index 5ff0e82..39cbb98 100644
--- dracut-041.orig/dracut.8.asc 2015-03-17 13:03:05.985340731 +0100 --- a/dracut.8.asc
+++ dracut-041/dracut.8.asc 2015-03-17 13:04:36.574421286 +0100 +++ b/dracut.8.asc
@@ -465,6 +465,17 @@ @@ -456,6 +456,17 @@ will not be able to boot.
**--loginstall _<DIR>_:: Regenerate all initramfs images at the default location with the kernel
Log all files installed from the host to _<DIR>_. versions found on the system. Additional parameters are passed through.
+**--check-supported**:: +**--check-supported**::
+ The kernel may be configured to check whether a module is + The kernel may be configured to check whether a module is
@ -93,33 +93,36 @@ Index: dracut-041/dracut.8.asc
FILES FILES
----- -----
_/var/log/dracut.log_:: _/var/log/dracut.log_::
Index: dracut-041/dracut.sh diff --git a/dracut.sh b/dracut.sh
=================================================================== index 79a6840..a58e134 100755
--- dracut-041.orig/dracut.sh 2015-03-17 13:04:36.578421510 +0100 --- a/dracut.sh
+++ dracut-041/dracut.sh 2015-03-17 13:05:51.022596862 +0100 +++ b/dracut.sh
@@ -193,6 +193,9 @@ @@ -193,6 +193,9 @@ Creates initial ramdisk images for preloading modules
--printsize Print out the module install size --printsize Print out the module install size
--sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module)
--logfile [FILE] Logfile to use (overrides configuration setting) --logfile [FILE] Logfile to use (overrides configuration setting)
+ --check-supported Check to ensure that modules are marked supported when + --check-supported Check to ensure that modules are marked supported when
+ using a kernel that is configured to check the + using a kernel that is configured to check the
+ support status of a module before loading. + support status of a module before loading.
--reproducible Create reproducible images
--loginstall [DIR] Log all files installed from the host to [DIR]
@@ -387,6 +390,7 @@ If [LIST] has multiple arguments, then you have to put these in quotes.
@@ -374,6 +377,7 @@ rearrange_params()
--long noimageifnotneeded \ --long noimageifnotneeded \
--long early-microcode \ --long early-microcode \
--long no-early-microcode \ --long no-early-microcode \
+ --long check-supported \ + --long check-supported \
--long reproducible \
--long loginstall: \
-- "$@") -- "$@")
@@ -576,6 +580,7 @@
if (( $? != 0 )); then
@@ -557,6 +561,7 @@ while :; do
--printsize) printsize="yes";; --printsize) printsize="yes";;
--regenerate-all) regenerate_all="yes";; --regenerate-all) regenerate_all="yes";;
--noimageifnotneeded) noimageifnotneeded="yes";; --noimageifnotneeded) noimageifnotneeded="yes";;
+ --check-supported) check_supported="yes" ;; + --check-supported) check_supported="yes" ;;
--reproducible) reproducible_l="yes";;
--) shift; break;; --) shift; break;;
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From 3dc545f7525dd340edbc0dfa88ee331d77b23dee Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 11 Jun 2014 10:13:13 +0200
Subject: 95iscsi: Install libgcc_s library
iscsiuio is using pthread, which requires libgcc_s for
pthread_cancel to work.
Without this library iscsiuio will crash with SIGABRT.
References: bnc#881692
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 52fac5c..41785e1 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -108,6 +108,7 @@ cmdline() {
install() {
inst_multiple umount iscsistart hostname iscsi-iname
inst_multiple -o iscsiuio
+ inst_libdir_file 'libgcc_s.so*'
inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
--
1.8.4.5

View File

@ -0,0 +1,29 @@
From 5663e58535567b1566f17b316fab77b467de21e0 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 11 Jun 2014 10:16:46 +0200
Subject: 90multipath: Install libgcc_s library
multipathd is using pthreads, which require libgcc_s for
pthread_cancel to work. Without it multipathd might crash
with SIGABRT.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 0149df9..7b20709 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -89,6 +89,7 @@ install() {
inst $(command -v partx) /sbin/partx
inst_libdir_file "libmultipath*" "multipath/*"
+ inst_libdir_file 'libgcc_s.so*'
if dracut_module_included "systemd"; then
inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
--
1.8.4.5

View File

@ -0,0 +1,30 @@
From 390605b9be082a2b5ed0ecee6a60ceadf6e7b788 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 12 Jun 2014 11:45:09 +0200
Subject: 90kernel-modules: install scsi_dh_alua
Install the missing scsi_dh_alua module, too.
References: bnc#871617
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 2378663..7ee73ad 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -43,7 +43,7 @@ installkernel() {
uhci-hcd \
xhci-hcd
- instmods yenta_socket scsi_dh_rdac scsi_dh_emc \
+ instmods yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
hid-logitech-dj hid-microsoft firewire-ohci \
pcmcia usb_storage nvme hid-hyperv hv-vmbus \
--
1.8.4.5

View File

@ -0,0 +1,69 @@
From 4c9b6f84183857781f93fba3ae75cbce2e0dcbd3 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 13 Jun 2014 12:30:11 +0200
Subject: 95iscsi: Fixup bnx2i offload booting
bnx2i is using a separate iSCSI offload engine with a separate
MAC address. As a result, the iBFT information is displaying
a MAC address which does not relate to any MAC address from
the network interfaces.
In addition, the iSCSI offload engine works independently on
the NIC, so we do not need to enable the NIC for iSCSI offload
to work.
This patch modifies the automatic iBFT detection to not set
the 'ip=ibft' flag when bnx2i offload is detected.
References: bnc#855747
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 41785e1..e94e913 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -2,14 +2,38 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+get_ibft_mod() {
+ local ibft_mac=$1
+ # Return the iSCSI offload module for a given MAC address
+ iscsiadm -m iface | while read iface_name iface_desc ; do
+ IFS=$','
+ set -- $iface_desc
+ if [ "$ibft_mac" = "$2" ] ; then
+ echo $1
+ return 0
+ fi
+ unset IFS
+ done
+}
+
install_ibft() {
# When iBFT / iscsi_boot is detected:
# - Use 'ip=ibft' to set up iBFT network interface
+ # Note: bnx2i is using a different MAC address of iSCSI offloading
+ # so the 'ip=ibft' parameter must not be set
# - specify firmware booting cmdline parameter
for d in /sys/firmware/* ; do
+ if [ -d ${d}/ethernet0 ] ; then
+ read ibft_mac < ${d}/ethernet0/mac
+ ibft_mod=$(get_ibft_mod $ibft_mac)
+ fi
+ if [ -z "$ibft_mod" ] && [ -d ${d}/ethernet1 ] ; then
+ read ibft_mac < ${d}/ethernet1/mac
+ ibft_mod=$(get_ibft_mod $ibft_mac)
+ fi
if [ -d ${d}/initiator ] ; then
- if [ ${d##*/} = "ibft" ] ; then
+ if [ ${d##*/} = "ibft" ] && [ "$ibft_mod" != "bnx2i" ] ; then
echo -n "ip=ibft "
fi
echo -n "rd.iscsi.firmware=1"
--
1.8.4.5

View File

@ -16,13 +16,13 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/40network/ifup.sh | 22 ++++++++-------------- modules.d/40network/ifup.sh | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-) 1 file changed, 8 insertions(+), 14 deletions(-)
Index: dracut-041/modules.d/40network/ifup.sh diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
=================================================================== index 934c61e..494017b 100755
--- dracut-041.orig/modules.d/40network/ifup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/40network/ifup.sh
+++ dracut-041/modules.d/40network/ifup.sh 2015-03-24 15:07:37.946300922 +0100 +++ b/modules.d/40network/ifup.sh
@@ -338,21 +338,15 @@ @@ -420,21 +420,15 @@ for p in $(getargs ip=); do
do_static ;;
esac esac
done
- > /tmp/net.${netif}.up - > /tmp/net.${netif}.up
+ if [ $? -eq 0 ]; then + if [ $? -eq 0 ]; then
@ -50,3 +50,6 @@ Index: dracut-041/modules.d/40network/ifup.sh
exit 0 exit 0
done done
--
1.8.4.5

View File

@ -0,0 +1,32 @@
From c6cadbd3ea9abf5dd92172c27e1f06611d5a0185 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 16 Jun 2014 14:08:38 +0200
Subject: 95fcoe: check() always returns 255
There is a typo in the 'check' function in module_setup.sh, causing
it always to return 255.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95fcoe/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 7abfb01..57d5c1e 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -46,9 +46,9 @@ check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
for c in /sys/bus/fcoe/devices/ctlr_* ; do
[ -L $c ] || continue
- break;
+ fcoe_ctlr=$c
done
- return 255
+ [ -z "$fcoe_ctlr" ] && return 255
}
require_binaries dcbtool fipvlan lldpad ip readlink || return 1
--
1.8.4.5

View File

@ -14,11 +14,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95fcoe-uefi/module-setup.sh | 3 +++ modules.d/95fcoe-uefi/module-setup.sh | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
Index: dracut-041/modules.d/95fcoe-uefi/module-setup.sh diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh
=================================================================== index 0fb06e2..f5277f4 100755
--- dracut-041.orig/modules.d/95fcoe-uefi/module-setup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/95fcoe-uefi/module-setup.sh
+++ dracut-041/modules.d/95fcoe-uefi/module-setup.sh 2015-03-24 15:07:41.762515236 +0100 +++ b/modules.d/95fcoe-uefi/module-setup.sh
@@ -2,6 +2,9 @@ @@ -4,6 +4,9 @@
# called by dracut # called by dracut
check() { check() {
@ -28,3 +28,6 @@ Index: dracut-041/modules.d/95fcoe-uefi/module-setup.sh
require_binaries dcbtool fipvlan lldpad ip readlink || return 1 require_binaries dcbtool fipvlan lldpad ip readlink || return 1
return 0 return 0
} }
--
1.8.4.5

View File

@ -0,0 +1,115 @@
From d5bbccaaff904eb0dbbd2e5407278e69436e559b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 17 Jun 2014 11:09:59 +0200
Subject: 81cio_ignore: skip module if cio_ignore is not active
When cio_ignore is not active we should skip the entire module
during boot; otherwise it'll lead to adverse effects.
References: bnc#882685
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/81cio_ignore/module-setup.sh | 45 ++++++++++++++++++++--------------
modules.d/81cio_ignore/parse-zipl.sh | 11 ++++++---
2 files changed, 34 insertions(+), 22 deletions(-)
diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
index a812649..52cb188 100644
--- a/modules.d/81cio_ignore/module-setup.sh
+++ b/modules.d/81cio_ignore/module-setup.sh
@@ -5,35 +5,44 @@
# called by dracut
check() {
# do not add this module by default
- local arch=$(uname -m)
- [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
- return 0
+ local arch=$(uname -m)
+ [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
+ return 0
}
find_mount() {
- local dev mnt etc wanted_dev
- wanted_dev="$(readlink -e -q $1)"
- while read dev mnt etc; do
- [ "$mnt" = "$wanted_dev" ] && echo "$dev" && return 0
- done < /proc/mounts
- return 1
+ local dev mnt etc wanted_dev zipl_dev
+ wanted_dev="$(readlink -e -q $1)"
+ while read dev mnt etc; do
+ [ "$mnt" = "$wanted_dev" ] && zipl_dev="$dev" && break
+ done < /etc/fstab
+ if [ -z "$zipl_dev" ] ; then
+ return 1
+ fi
+ if [ -e ${wanted_dev}/active_devices.txt ] ; then
+ echo "$zipl_dev"
+ return 0
+ fi
+ return 1
}
cmdline() {
- local zipl_dasd
- zipl_dasd=`find_mount /boot/zipl`
- printf " rd.zipl_dasd=%s\n" "$zipl_dasd "
+ local zipl_dasd
+ zipl_dasd=`find_mount /boot/zipl`
+ if [ -n "$zipl_dasd" ] ; then
+ printf " rd.zipl_dasd=%s " $zipl_dasd
+ fi
}
# called by dracut
install() {
- if [[ $hostonly_cmdline == "yes" ]];then
- echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
- fi
+ if [[ $hostonly_cmdline == "yes" ]];then
+ echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
+ fi
- inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
- inst_multiple cio_ignore mount umount mkdir
+ inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
+ inst_multiple cio_ignore mount umount mkdir
}
installkernel() {
- instmods ext4
+ instmods ext4
}
diff --git a/modules.d/81cio_ignore/parse-zipl.sh b/modules.d/81cio_ignore/parse-zipl.sh
index 5f7aa58..9d68c52 100644
--- a/modules.d/81cio_ignore/parse-zipl.sh
+++ b/modules.d/81cio_ignore/parse-zipl.sh
@@ -2,17 +2,20 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-ZIPL_DEV="$(getarg rd.zipl_dasd)"
-ZIPL_DIR=/tmp/zipl
+ZIPL_DEV=$(getarg rd.zipl_dasd)
+ZIPL_DIR=/boot/zipl
CIO_REMOVE_LIST=$ZIPL_DIR/active_devices.txt
-if [ -n $ZIPL_DEV ];then
+if ! getarg cio_ignore ; then
+ return
+fi
+if [ -n "$ZIPL_DEV" ];then
info "Waiting for zipl device $ZIPL_DEV"
wait_for_dev -n "$ZIPL_DEV"
#
# mount device and read devices
#
- [ -d $ZIPL_DIR ] || mkdir $ZIPL_DIR
+ [ -d $ZIPL_DIR ] || mkdir -p $ZIPL_DIR
mount -t ext2 -o ro $ZIPL_DEV $ZIPL_DIR
if [ -f $CIO_REMOVE_LIST ] ; then
#
--
1.8.4.5

View File

@ -0,0 +1,180 @@
From 137090516e1c48ef134209c2ed4f625799691090 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 17 Jun 2014 16:45:06 +0200
Subject: 81cio_ignore: rewrite module
Rewrite cio_ignore module to rely on the dracut commandline
parameter 'rd.cio_accept', which takes a comma-separated list
of CCW IDs. Each of those IDs are being removed from the
list of devices from cio_ignore.
The default values for rd.cio_accept are taken from
/boot/zipl/active_devices.txt.
References: bnc#882685
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.cmdline.7.asc | 15 +++++++++++
modules.d/81cio_ignore/module-setup.sh | 43 ++++++++++++------------------
modules.d/81cio_ignore/parse-cio_accept.sh | 21 +++++++++++++++
modules.d/81cio_ignore/parse-zipl.sh | 32 ----------------------
4 files changed, 53 insertions(+), 58 deletions(-)
create mode 100644 modules.d/81cio_ignore/parse-cio_accept.sh
delete mode 100644 modules.d/81cio_ignore/parse-zipl.sh
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 985285b..bd8e4ce 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -711,6 +711,21 @@ rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
--
+CIO_IGNORE
+~~~~~~~~~~
+**rd.cio_accept=**__<device-ids>__::
+ Remove the devices listed in <device-ids> from the default
+ cio_ignore kernel command-line settings.
+ <device-ids> is a list of comma-separated CCW device ids.
+ The default for this value is taken from the
+ _/boot/zipl/active_devices.txt_ file.
++
+[listing]
+.Example
+--
+rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
+--
+
Plymouth Boot Splash
~~~~~~~~~~~~~~~~~~~~
**plymouth.enable=0**::
diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
index 52cb188..42ae2f9 100644
--- a/modules.d/81cio_ignore/module-setup.sh
+++ b/modules.d/81cio_ignore/module-setup.sh
@@ -10,39 +10,30 @@ check() {
return 0
}
-find_mount() {
- local dev mnt etc wanted_dev zipl_dev
- wanted_dev="$(readlink -e -q $1)"
- while read dev mnt etc; do
- [ "$mnt" = "$wanted_dev" ] && zipl_dev="$dev" && break
- done < /etc/fstab
- if [ -z "$zipl_dev" ] ; then
- return 1
- fi
- if [ -e ${wanted_dev}/active_devices.txt ] ; then
- echo "$zipl_dev"
- return 0
- fi
- return 1
-}
-
cmdline() {
- local zipl_dasd
- zipl_dasd=`find_mount /boot/zipl`
- if [ -n "$zipl_dasd" ] ; then
- printf " rd.zipl_dasd=%s " $zipl_dasd
+ local cio_accept
+
+ if [ -e /boot/zipl/active_devices.txt ] ; then
+ while read dev etc ; do
+ [ "$dev" = "#" -o "$dev" = "" ] && continue;
+ if [ -z "$cio_accept" ] ; then
+ cio_accept="$dev"
+ else
+ cio_accept="${cio_accept},${dev}"
+ fi
+ done < /boot/zipl/active_devices.txt
+ fi
+ if [ -n "$cio_accept" ] ; then
+ echo "rd.cio_accept=${cio_accept}"
fi
}
# called by dracut
install() {
if [[ $hostonly_cmdline == "yes" ]];then
- echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
+ cmdline >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
fi
- inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
- inst_multiple cio_ignore mount umount mkdir
-}
-installkernel() {
- instmods ext4
+ inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
+ inst_multiple cio_ignore
}
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh
new file mode 100644
index 0000000..fec8a92
--- /dev/null
+++ b/modules.d/81cio_ignore/parse-cio_accept.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+CIO_IGNORE=$(getarg cio_ignore)
+CIO_ACCEPT=$(getarg rd.cio_accept)
+
+if [ -z $CIO_IGNORE ] ; then
+ info "cio_ignored disabled on commandline"
+ return
+fi
+if [ -n "$CIO_ACCEPT" ] ; then
+ IFS=,
+ set -- $CIO_ACCEPT
+ while (($# > 0)) ; do
+ info "Enabling device $1"
+ cio_ignore --remove $1
+ shift
+ done
+ unset IFS
+fi
diff --git a/modules.d/81cio_ignore/parse-zipl.sh b/modules.d/81cio_ignore/parse-zipl.sh
deleted file mode 100644
index 9d68c52..0000000
--- a/modules.d/81cio_ignore/parse-zipl.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-ZIPL_DEV=$(getarg rd.zipl_dasd)
-ZIPL_DIR=/boot/zipl
-CIO_REMOVE_LIST=$ZIPL_DIR/active_devices.txt
-
-if ! getarg cio_ignore ; then
- return
-fi
-if [ -n "$ZIPL_DEV" ];then
- info "Waiting for zipl device $ZIPL_DEV"
- wait_for_dev -n "$ZIPL_DEV"
-#
-# mount device and read devices
-#
- [ -d $ZIPL_DIR ] || mkdir -p $ZIPL_DIR
- mount -t ext2 -o ro $ZIPL_DEV $ZIPL_DIR
- if [ -f $CIO_REMOVE_LIST ] ; then
-#
-# File exist
-#
- while read dev etc; do
- [ "$dev" = "#" -o "$dev" = "" ] && continue
- cio_ignore --remove $dev
- done < $CIO_REMOVE_LIST
- fi
- umount $ZIPL_DIR
-else
- warn "No rd.zipl_dasd boot parameter found"
-fi
--
1.7.12.4

View File

@ -0,0 +1,32 @@
From f483c78483992a7778751f9a01bbf09feb2b5bbe Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Wed, 18 Jun 2014 01:57:29 +0200
Subject: Fix non-export of journal dev boot options.
cmdline_journal does not contain linefeeds anymore, so read
silently skipped it altogether.
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
---
modules.d/95rootfs-block/module-setup.sh | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index b209ab6..5f1b826 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -45,9 +45,8 @@ cmdline() {
# called by dracut
install() {
if [[ $hostonly_cmdline == "yes" ]]; then
- cmdline_journal | while read journaldev; do
- [[ $journaldev ]] && printf "%s\n" "$journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf"
- done
+ local _journaldev=$(cmdline_journal)
+ [[ $_journaldev ]] && printf "%s\n" "$_journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf"
fi
inst_multiple umount
--
1.8.4.5

View File

@ -0,0 +1,50 @@
From df582ab4c05fc417ce9b6b8a8bed4e259041013b Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Wed, 18 Jun 2014 02:00:28 +0200
Subject: Also export root= boot param for hostonly-cmdline case.
If there's a root fallback, at least attempt to have it falling
back to the last root filesystem this system ran off of.
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
---
modules.d/95rootfs-block/module-setup.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index 5f1b826..b868d0b 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -31,14 +31,18 @@ cmdline_journal() {
return 0
}
-# called by dracut
-cmdline() {
+cmdline_rootfs() {
local dev=/dev/block/$(find_root_block_device)
if [ -e $dev ]; then
printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
printf " rootflags=%s" "$(find_mp_fsopts /)"
printf " rootfstype=%s" "$(find_mp_fstype /)"
fi
+}
+
+# called by dracut
+cmdline() {
+ cmdline_rootfs
cmdline_journal
}
@@ -47,6 +51,8 @@ install() {
if [[ $hostonly_cmdline == "yes" ]]; then
local _journaldev=$(cmdline_journal)
[[ $_journaldev ]] && printf "%s\n" "$_journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf"
+ local _rootdev=$(cmdline_rootfs)
+ [[ $_rootdev ]] && printf "%s\n" "$_rootdev" >> "${initdir}/etc/cmdline.d/95root-dev.conf"
fi
inst_multiple umount
--
1.8.4.5

View File

@ -0,0 +1,96 @@
From 706f28a7bc193455fcd0656f70adaee442f12ff8 Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Wed, 18 Jun 2014 02:09:38 +0200
Subject: Don't create lots of empty cmdline files for hostonly-cmdline case
This aligns other places piping cmdline() output to cmdline.d files
with the earlier fix for 95rootfs-block.
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
---
modules.d/90crypt/module-setup.sh | 4 ++--
modules.d/90dmraid/module-setup.sh | 4 ++--
modules.d/90lvm/module-setup.sh | 4 ++--
modules.d/90mdraid/module-setup.sh | 4 ++--
modules.d/95resume/module-setup.sh | 5 ++---
5 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 5707404..e423a95 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -52,8 +52,8 @@ cmdline() {
install() {
if [[ $hostonly_cmdline == "yes" ]]; then
- cmdline >> "${initdir}/etc/cmdline.d/90crypt.conf"
- echo >> "${initdir}/etc/cmdline.d/90crypt.conf"
+ local _cryptconf=$(cmdline)
+ [[ $_cryptconf ]] && printf "%s\n" "$_cryptconf" >> "${initdir}/etc/cmdline.d/90crypt.conf"
fi
inst_multiple cryptsetup rmdir readlink umount
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
index aebb28d..3769dd0 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -66,8 +66,8 @@ install() {
local _i
if [[ $hostonly_cmdline == "yes" ]]; then
- cmdline >> "${initdir}/etc/cmdline.d/90dmraid.conf"
- echo >> "${initdir}/etc/cmdline.d/90dmraid.conf"
+ local _raidconf=$(cmdline)
+ [[ $_raidconf ]] && printf "%s\n" "$_raidconf" >> "${initdir}/etc/cmdline.d/90dmraid.conf"
fi
inst_multiple dmraid
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index 5b810b9..2a5b392 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -51,8 +51,8 @@ install() {
inst lvm
if [[ $hostonly_cmdline == "yes" ]]; then
- cmdline >> "${initdir}/etc/cmdline.d/90lvm.conf"
- echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ local _lvmconf=$(cmdline)
+ [[ $_lvmconf ]] && printf "%s\n" "$_lvmconf" >> "${initdir}/etc/cmdline.d/90lvm.conf"
fi
inst_rules "$moddir/64-lvm.rules"
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 4963537..da464b8 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -73,8 +73,8 @@ install() {
inst $(command -v mdadm) /sbin/mdadm
if [[ $hostonly_cmdline == "yes" ]]; then
- cmdline >> "${initdir}/etc/cmdline.d/90mdraid.conf"
- echo >> "${initdir}/etc/cmdline.d/90mdraid.conf"
+ local _raidconf=$(cmdline)
+ [[ $_raidconf ]] && printf "%s\n" "$_raidconf" >> "${initdir}/etc/cmdline.d/90mdraid.conf"
fi
# <mdadm-3.3 udev rule
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
index 7f3cf24..b1044ed 100755
--- a/modules.d/95resume/module-setup.sh
+++ b/modules.d/95resume/module-setup.sh
@@ -33,9 +33,8 @@ cmdline() {
# called by dracut
install() {
local _bin
-
- cmdline >> "${initdir}/etc/cmdline.d/95resume.conf"
- echo >> "${initdir}/etc/cmdline.d/95resume.conf"
+ local _resumeconf=$(cmdline)
+ [[ $_resumeconf ]] && printf "%s\n" "$_resumeconf" >> "${initdir}/etc/cmdline.d/95resume.conf"
# Optional uswsusp support
for _bin in /usr/sbin/resume /usr/lib/suspend/resume /usr/lib/uswsusp/resume
--
1.8.4.5

View File

@ -0,0 +1,80 @@
From c323ff844931d7b9d171d3c11f8c3152c346a62a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 18 Jun 2014 09:59:22 +0200
Subject: More empty cmdline fixes
This fixes up some more modules which might print out empty
commandline files.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/81cio_ignore/module-setup.sh | 5 +++--
modules.d/95fcoe/module-setup.sh | 4 ++--
modules.d/95iscsi/module-setup.sh | 13 +++++++------
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
index 42ae2f9..37b414b 100644
--- a/modules.d/81cio_ignore/module-setup.sh
+++ b/modules.d/81cio_ignore/module-setup.sh
@@ -30,8 +30,9 @@ cmdline() {
# called by dracut
install() {
- if [[ $hostonly_cmdline == "yes" ]];then
- cmdline >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _cio_accept=$(cmdline)
+ [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept" >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
fi
inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 57d5c1e..9ca4c67 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -74,8 +74,8 @@ install() {
mkdir -m 0755 -p "$initdir/var/lib/lldpad"
if [[ $hostonly_cmdline == "yes" ]] ; then
- cmdline >> "${initdir}/etc/cmdline.d/95fcoe.conf"
- echo >> "${initdir}/etc/cmdline.d/95fcoe.conf"
+ local _fcoeconf=$(cmdline)
+ [[ $_fcoeconf ]] && printf "%s\n" "$_fcoeconf" >> "${initdir}/etc/cmdline.d/95fcoe.conf"
fi
inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index e94e913..b90e298 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -78,12 +78,6 @@ depends() {
installkernel() {
local _arch=$(uname -m)
- # Detect iBFT and perform mandatory steps
- if [[ $hostonly_cmdline == "yes" ]] ; then
- install_ibft > "${initdir}/etc/cmdline.d/95iscsi.conf"
- echo >> "${initdir}/etc/cmdline.d/95iscsi.conf"
- fi
-
instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
iscsi_module_filter() {
@@ -133,6 +127,13 @@ install() {
inst_multiple umount iscsistart hostname iscsi-iname
inst_multiple -o iscsiuio
inst_libdir_file 'libgcc_s.so*'
+
+ # Detect iBFT and perform mandatory steps
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _ibftconf=$(install_ibft)
+ [[ $_ibftconf ]] && printf "%s\n" "$_ibftconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ fi
+
inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
--
1.8.4.5

View File

@ -11,11 +11,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/parse-dasd.sh | 37 ++++++++++++++++++++++++++++++++++++ modules.d/95dasd_rules/parse-dasd.sh | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+) 1 file changed, 37 insertions(+)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index 9389c44..a0ba1ff 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:13:29.674054260 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:13:36.566441368 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -52,3 +52,40 @@ @@ -54,3 +54,40 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
fi fi
) )
done done
@ -56,3 +56,6 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
+ done + done
+ ) + )
+done +done
--
1.8.4.5

View File

@ -13,11 +13,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/parse-zfcp.sh | 3 +++ modules.d/95zfcp_rules/parse-zfcp.sh | 3 +++
2 files changed, 6 insertions(+) 2 files changed, 6 insertions(+)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index a0ba1ff..94a4b30 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:13:36.566441368 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:13:39.238591451 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -36,6 +36,9 @@ @@ -38,6 +38,9 @@ ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv" ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv"
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1" ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF EOF
@ -27,11 +27,11 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
} }
for dasd_arg in $(getargs root=) $(getargs resume=); do for dasd_arg in $(getargs root=) $(getargs resume=); do
Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
=================================================================== index 24dbdd3..8538ae3 100755
--- dracut-041.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-24 15:13:26.593881271 +0100 --- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-24 15:13:39.238591451 +0100 +++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -35,6 +35,9 @@ @@ -37,6 +37,9 @@ EOF
ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun" ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun"
EOF EOF
fi fi
@ -41,3 +41,6 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
} }
for zfcp_arg in $(getargs rd.zfcp); do for zfcp_arg in $(getargs rd.zfcp); do
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From 3d4030e354b12686cb91d41a1ec8bc00df37ea5f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 18 Jun 2014 17:48:16 +0200
Subject: 90multipath: add missing 11-dm-mpath.rules file
The 11-dm-mpath.rules file had been missing, causing
blacklisting to not work properly.
References: bnc#883149
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 7b20709..22ff580 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -102,7 +102,7 @@ install() {
inst_hook cleanup 80 "$moddir/multipathd-needshutdown.sh"
- inst_rules 56-multipath.rules \
+ inst_rules 11-dm-mpath.rules 56-multipath.rules \
66-kpartx.rules 67-kpartx-compat.rules
}
--
1.8.4.5

View File

@ -0,0 +1,227 @@
From 3ad963984b30a990c1ac94c81deb410322daafb6 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 23 Jun 2014 14:06:47 +0200
Subject: Restore original IFS value
Whenever the IFS setting is modified it needs to be restored to
its original value. Otherwise it'll lead to unexpected results.
References: bnc#883770
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/81cio_ignore/parse-cio_accept.sh | 3 ++-
modules.d/90kernel-modules/insmodpost.sh | 2 +-
modules.d/90kernel-modules/parse-kernel.sh | 4 ++++
modules.d/95dasd/parse-dasd.sh | 2 +-
modules.d/95dasd_rules/parse-dasd.sh | 8 +++++---
modules.d/95iscsi/module-setup.sh | 6 ++++--
modules.d/95zfcp/parse-zfcp.sh | 2 +-
modules.d/95zfcp_rules/parse-zfcp.sh | 4 +++-
modules.d/98systemd/dracut-pre-udev.sh | 4 ++--
9 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh
index fec8a92..4f899d2 100644
--- a/modules.d/81cio_ignore/parse-cio_accept.sh
+++ b/modules.d/81cio_ignore/parse-cio_accept.sh
@@ -10,6 +10,7 @@ if [ -z $CIO_IGNORE ] ; then
return
fi
if [ -n "$CIO_ACCEPT" ] ; then
+ OLDIFS="$IFS"
IFS=,
set -- $CIO_ACCEPT
while (($# > 0)) ; do
@@ -17,5 +18,5 @@ if [ -n "$CIO_ACCEPT" ] ; then
cio_ignore --remove $1
shift
done
- unset IFS
+ IFS="$OLDIFS"
fi
diff --git a/modules.d/90kernel-modules/insmodpost.sh b/modules.d/90kernel-modules/insmodpost.sh
index d2b8723..141f091 100755
--- a/modules.d/90kernel-modules/insmodpost.sh
+++ b/modules.d/90kernel-modules/insmodpost.sh
@@ -6,7 +6,7 @@
for modlist in $(getargs rd.driver.post -d rdinsmodpost=); do
(
- IFS=,
+ local IFS=,
for m in $modlist; do
modprobe $m
done
diff --git a/modules.d/90kernel-modules/parse-kernel.sh b/modules.d/90kernel-modules/parse-kernel.sh
index fa891bf..e012e52 100755
--- a/modules.d/90kernel-modules/parse-kernel.sh
+++ b/modules.d/90kernel-modules/parse-kernel.sh
@@ -13,10 +13,12 @@ fi
for i in $(getargs rd.driver.pre -d rdloaddriver=); do
(
+ OLDIFS="$IFS"
IFS=,
for p in $i; do
modprobe $p 2>&1 | vinfo
done
+ IFS="$OLDIFS"
)
done
@@ -25,10 +27,12 @@ done
for i in $(getargs rd.driver.blacklist -d rdblacklist=); do
(
+ OLDIFS="$IFS"
IFS=,
for p in $i; do
echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf
done
+ IFS="$OLDIFS"
)
done
diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh
index 1aa1455..aba720b 100755
--- a/modules.d/95dasd/parse-dasd.sh
+++ b/modules.d/95dasd/parse-dasd.sh
@@ -3,7 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
(
- IFS=","
+ local IFS=","
set -- $dasd_arg
echo "$@" | normalize_dasd_arg >> /etc/dasd.conf
)
diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
index 94a4b30..02b4aea 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -51,8 +51,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
break;
esac
if [ -n "$ccw_arg" ] ; then
+ OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
+ IFS="$OLDIFS"
create_udev_rule $2
fi
)
@@ -60,9 +62,8 @@ done
for dasd_arg in $(getargs rd.dasd=); do
(
- IFS=","
+ local IFS=","
set -- $dasd_arg
- unset IFS
while (($# > 0)); do
case $1 in
autodetect|probeonly)
@@ -70,13 +71,14 @@ for dasd_arg in $(getargs rd.dasd=); do
;;
*-*)
range=$1
+ OLDIFS="$IFS"
IFS="-"
set -- $range
start=${1#0.0.}
shift
end=${1#0.0.}
shift
- unset IFS
+ IFS="$OLDIFS"
for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
create_udev_rule $(printf "0.0.%04d" "$dev")
done
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index b90e298..cfa6f39 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -3,16 +3,18 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
get_ibft_mod() {
- local ibft_mac=$1
+ local ibft_mac=$1 IFS
# Return the iSCSI offload module for a given MAC address
iscsiadm -m iface | while read iface_name iface_desc ; do
+ OLDIFS="$IFS"
IFS=$','
set -- $iface_desc
+ IFS="$OLDIFS"
if [ "$ibft_mac" = "$2" ] ; then
echo $1
return 0
fi
- unset IFS
+
done
}
diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh
index 9b22d93..1d21472 100755
--- a/modules.d/95zfcp/parse-zfcp.sh
+++ b/modules.d/95zfcp/parse-zfcp.sh
@@ -6,7 +6,7 @@ getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf
for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
(
- IFS=","
+ local IFS=","
set $zfcp_arg
echo "$@" >> /etc/zfcp.conf
)
diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
index 8538ae3..56152da 100755
--- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -44,7 +44,7 @@ EOF
for zfcp_arg in $(getargs rd.zfcp); do
(
- IFS=","
+ local IFS=","
set $zfcp_arg
create_udev_rule $1 $2 $3
)
@@ -58,8 +58,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do
break;
esac
if [ -n "$ccw_arg" ] ; then
+ OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
+ IFS="$OLDIFS"
wwpn=${4%:*}
lun=${4#*:}
create_udev_rule $2 $wwpn $lun
diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh
index 638da40..77977d2 100755
--- a/modules.d/98systemd/dracut-pre-udev.sh
+++ b/modules.d/98systemd/dracut-pre-udev.sh
@@ -26,7 +26,7 @@ fi
for i in $(getargs rd.driver.pre -d rdloaddriver=); do
(
- IFS=,
+ local IFS=,
for p in $i; do
modprobe $p 2>&1 | vinfo
done
@@ -38,7 +38,7 @@ done
for i in $(getargs rd.driver.blacklist -d rdblacklist=); do
(
- IFS=,
+ local IFS=,
for p in $i; do
echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf
done
--
1.8.4.5

View File

@ -12,11 +12,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/parse-dasd.sh | 15 ++++++++------- modules.d/95dasd_rules/parse-dasd.sh | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-) 1 file changed, 8 insertions(+), 7 deletions(-)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index 02b4aea..43ca87a 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-17 13:19:07.747002492 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-17 13:19:29.908237657 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -29,6 +29,10 @@ @@ -31,6 +31,10 @@ create_udev_rule() {
esac esac
[ -z "${_drv}" ] && return 0 [ -z "${_drv}" ] && return 0
@ -27,7 +27,7 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
[ -e ${_rule} ] && return 0 [ -e ${_rule} ] && return 0
cat > $_rule <<EOF cat > $_rule <<EOF
@@ -36,9 +40,6 @@ @@ -38,9 +42,6 @@ ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv" ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv"
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1" ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF EOF
@ -37,7 +37,7 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
} }
for dasd_arg in $(getargs root=) $(getargs resume=); do for dasd_arg in $(getargs root=) $(getargs resume=); do
@@ -46,7 +47,7 @@ @@ -48,7 +49,7 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
case $dasd_arg in case $dasd_arg in
/dev/disk/by-path/ccw-*) /dev/disk/by-path/ccw-*)
ccw_arg=${dasd_arg##*/} ccw_arg=${dasd_arg##*/}
@ -45,11 +45,11 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
+ ;; + ;;
esac esac
if [ -n "$ccw_arg" ] ; then if [ -n "$ccw_arg" ] ; then
IFS="-" OLDIFS="$IFS"
@@ -75,8 +76,8 @@ @@ -79,8 +80,8 @@ for dasd_arg in $(getargs rd.dasd=); do
end=${1#0.0.} end=${1#0.0.}
shift shift
unset IFS IFS="$OLDIFS"
- for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do - for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
- create_udev_rule $(printf "0.0.%04d" "$dev") - create_udev_rule $(printf "0.0.%04d" "$dev")
+ for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do + for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
@ -57,7 +57,7 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
done done
;; ;;
*) *)
@@ -85,7 +86,7 @@ @@ -89,7 +90,7 @@ for dasd_arg in $(getargs rd.dasd=); do
ro=1 ro=1
fi fi
dev=${dev#0.0.} dev=${dev#0.0.}
@ -66,3 +66,6 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
shift shift
;; ;;
esac esac
--
1.8.4.5

View File

@ -14,12 +14,12 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/module-setup.sh | 33 +++++++++++++++++++++++++++++++++ modules.d/95dasd_rules/module-setup.sh | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+) 1 file changed, 33 insertions(+)
Index: dracut-041/modules.d/95dasd_rules/module-setup.sh diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
=================================================================== index 451fc25..e4736a2 100755
--- dracut-041.orig/modules.d/95dasd_rules/module-setup.sh 2015-03-17 13:19:49.341320467 +0100 --- a/modules.d/95dasd_rules/module-setup.sh
+++ dracut-041/modules.d/95dasd_rules/module-setup.sh 2015-03-17 13:19:49.873350116 +0100 +++ b/modules.d/95dasd_rules/module-setup.sh
@@ -1,10 +1,39 @@ @@ -3,10 +3,39 @@
#!/bin/bash # ex: ts=8 sw=4 sts=4 et filetype=sh
# called by dracut # called by dracut
+cmdline() { +cmdline() {
@ -58,7 +58,7 @@ Index: dracut-041/modules.d/95dasd_rules/module-setup.sh
return 0 return 0
} }
@@ -17,6 +46,10 @@ @@ -19,6 +48,10 @@ depends() {
# called by dracut # called by dracut
install() { install() {
inst_hook cmdline 30 "$moddir/parse-dasd.sh" inst_hook cmdline 30 "$moddir/parse-dasd.sh"
@ -69,3 +69,6 @@ Index: dracut-041/modules.d/95dasd_rules/module-setup.sh
if [[ $hostonly ]] ; then if [[ $hostonly ]] ; then
inst_rules_wildcard 51-dasd-*.rules inst_rules_wildcard 51-dasd-*.rules
inst_rules_wildcard 41-s390x-dasd-*.rules inst_rules_wildcard 41-s390x-dasd-*.rules
--
1.8.4.5

View File

@ -12,11 +12,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +- modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-041/modules.d/95dasd_mod/parse-dasd-mod.sh diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh
=================================================================== index 0236d12..0b8adef 100755
--- dracut-041.orig/modules.d/95dasd_mod/parse-dasd-mod.sh 2015-03-24 15:14:11.284391294 +0100 --- a/modules.d/95dasd_mod/parse-dasd-mod.sh
+++ dracut-041/modules.d/95dasd_mod/parse-dasd-mod.sh 2015-03-24 15:14:27.173283690 +0100 +++ b/modules.d/95dasd_mod/parse-dasd-mod.sh
@@ -7,7 +7,7 @@ @@ -9,7 +9,7 @@ done
mod_args="${mod_args#*,}" mod_args="${mod_args#*,}"
@ -25,3 +25,6 @@ Index: dracut-041/modules.d/95dasd_mod/parse-dasd-mod.sh
[ -d /etc/modprobe.d ] || mkdir -m 0755 -p /etc/modprobe.d [ -d /etc/modprobe.d ] || mkdir -m 0755 -p /etc/modprobe.d
echo "options dasd_mod dasd=$mod_args" >> /etc/modprobe.d/dasd_mod.conf echo "options dasd_mod dasd=$mod_args" >> /etc/modprobe.d/dasd_mod.conf
fi fi
--
1.8.4.5

View File

@ -0,0 +1,32 @@
From 354e32e863a19d3539c3bf1b6affc98630b0003d Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 26 Jun 2014 10:44:42 +0200
Subject: 00warpclock: check for /sbin/hwclock
We need to check if /sbin/hwclock exists to avoid error messages
when running dracut.
References: bnc#884513
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/00warpclock/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/00warpclock/module-setup.sh b/modules.d/00warpclock/module-setup.sh
index 4d18795..5aec4eb 100755
--- a/modules.d/00warpclock/module-setup.sh
+++ b/modules.d/00warpclock/module-setup.sh
@@ -4,7 +4,8 @@
# called by dracut
check() {
- [ -e /etc/localtime -a -e /etc/adjtime ]
+ [ -e /etc/localtime -a -e /etc/adjtime ] || return 1
+ require_binaries /sbin/hwclock || return 1
}
# called by dracut
--
1.8.4.5

View File

@ -11,11 +11,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/parse-zfcp.sh | 11 +++++------ modules.d/95zfcp_rules/parse-zfcp.sh | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-) 1 file changed, 5 insertions(+), 6 deletions(-)
Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
=================================================================== index 56152da..bb5cd3a 100755
--- dracut-041.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-17 13:20:19.735014330 +0100 --- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-17 13:20:19.835019903 +0100 +++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -5,9 +5,7 @@ @@ -7,9 +7,7 @@ create_udev_rule() {
local wwpn=$2 local wwpn=$2
local lun=$3 local lun=$3
local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
@ -25,7 +25,7 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
if [ -e /sys/bus/ccw/devices/${ccw} ] ; then if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
@@ -20,6 +18,10 @@ @@ -22,6 +20,10 @@ create_udev_rule() {
return 0; return 0;
fi fi
@ -36,7 +36,7 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
[ -e ${_rule} ] && return 0 [ -e ${_rule} ] && return 0
if [ ! -f "$_rule" ] ; then if [ ! -f "$_rule" ] ; then
@@ -35,9 +37,6 @@ @@ -37,9 +39,6 @@ EOF
ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun" ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun"
EOF EOF
fi fi
@ -46,7 +46,7 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
} }
for zfcp_arg in $(getargs rd.zfcp); do for zfcp_arg in $(getargs rd.zfcp); do
@@ -53,7 +52,7 @@ @@ -55,7 +54,7 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do
case $zfcp_arg in case $zfcp_arg in
/dev/disk/by-path/ccw-*) /dev/disk/by-path/ccw-*)
ccw_arg=${zfcp_arg##*/} ccw_arg=${zfcp_arg##*/}
@ -54,4 +54,7 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
+ ;; + ;;
esac esac
if [ -n "$ccw_arg" ] ; then if [ -n "$ccw_arg" ] ; then
IFS="-" OLDIFS="$IFS"
--
1.8.4.5

View File

@ -0,0 +1,61 @@
From 21e4cbee5d852108880cedc9edc619cdd9b296a5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 26 Jun 2014 13:41:56 +0200
Subject: 95rootfs-block: Correctly terminate commandline parameter
95rootfs-block would not terminate the commandline parameter with
a space or newline, instead it'll rely on the main routine from
dracut.sh to do this.
Which will cause unexpected problems for any modules called
after this.
So terminate the commandline parameters correctly here and remove
the newline from dracut.sh.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.sh | 1 -
modules.d/95rootfs-block/module-setup.sh | 8 ++++----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index a58e134..40006e7 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1166,7 +1166,6 @@ if [[ $print_cmdline ]]; then
module_cmdline "$_d_mod"
done
unset moddir
- printf "\n"
exit 0
fi
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index b868d0b..a620786 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -24,7 +24,7 @@ cmdline_journal() {
fi
if [ -n "$journaldev" ]; then
- printf " root.journaldev=%s" "$journaldev"
+ echo "root.journaldev=${journaldev}"
fi
done
fi
@@ -34,9 +34,9 @@ cmdline_journal() {
cmdline_rootfs() {
local dev=/dev/block/$(find_root_block_device)
if [ -e $dev ]; then
- printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
- printf " rootflags=%s" "$(find_mp_fsopts /)"
- printf " rootfstype=%s" "$(find_mp_fstype /)"
+ printf "root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
+ printf "rootflags=%s" "$(find_mp_fsopts /)"
+ printf "rootfstype=%s\n" "$(find_mp_fstype /)"
fi
}
--
1.8.4.5

View File

@ -11,12 +11,12 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/module-setup.sh | 39 +++++++++++++++++++++++++++++++++- modules.d/95zfcp_rules/module-setup.sh | 39 +++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-) 1 file changed, 38 insertions(+), 1 deletion(-)
Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
=================================================================== index 849645c..3f80754 100755
--- dracut-041.orig/modules.d/95zfcp_rules/module-setup.sh 2015-03-17 13:20:39.928139743 +0100 --- a/modules.d/95zfcp_rules/module-setup.sh
+++ dracut-041/modules.d/95zfcp_rules/module-setup.sh 2015-03-17 13:20:40.528173186 +0100 +++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -1,10 +1,40 @@ @@ -3,10 +3,40 @@
#!/bin/bash # ex: ts=8 sw=4 sts=4 et filetype=sh
# called by dracut # called by dracut
+cmdline() { +cmdline() {
@ -57,7 +57,7 @@ Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh
return 0 return 0
} }
@@ -17,6 +47,13 @@ @@ -19,6 +49,13 @@ depends() {
install() { install() {
inst_multiple /usr/lib/udev/collect inst_multiple /usr/lib/udev/collect
inst_hook cmdline 30 "$moddir/parse-zfcp.sh" inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
@ -71,3 +71,6 @@ Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh
if [[ $hostonly ]] ; then if [[ $hostonly ]] ; then
inst_rules_wildcard 51-zfcp-*.rules inst_rules_wildcard 51-zfcp-*.rules
inst_rules_wildcard 41-s390x-zfcp-*.rules inst_rules_wildcard 41-s390x-zfcp-*.rules
--
1.8.4.5

View File

@ -11,11 +11,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/parse-zfcp.sh | 18 ++++++++++++++++-- modules.d/95zfcp_rules/parse-zfcp.sh | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-) 1 file changed, 16 insertions(+), 2 deletions(-)
Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
=================================================================== index bb5cd3a..05c1ed0 100755
--- dracut-041.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-17 13:21:03.397447784 +0100 --- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-17 13:29:52.590839805 +0100 +++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -39,6 +39,17 @@ @@ -41,6 +41,17 @@ EOF
fi fi
} }
@ -32,8 +32,8 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
+ +
for zfcp_arg in $(getargs rd.zfcp); do for zfcp_arg in $(getargs rd.zfcp); do
( (
IFS="," local IFS=","
@@ -49,6 +60,9 @@ @@ -51,6 +62,9 @@ done
for zfcp_arg in $(getargs root=) $(getargs resume=); do for zfcp_arg in $(getargs root=) $(getargs resume=); do
( (
@ -43,10 +43,10 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
case $zfcp_arg in case $zfcp_arg in
/dev/disk/by-path/ccw-*) /dev/disk/by-path/ccw-*)
ccw_arg=${zfcp_arg##*/} ccw_arg=${zfcp_arg##*/}
@@ -57,8 +71,8 @@ @@ -61,8 +75,8 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do
if [ -n "$ccw_arg" ] ; then
IFS="-" IFS="-"
set -- $ccw_arg set -- $ccw_arg
IFS="$OLDIFS"
- wwpn=${4%:*} - wwpn=${4%:*}
- lun=${4#*:} - lun=${4#*:}
+ _wwpn=${4%:*} + _wwpn=${4%:*}
@ -54,3 +54,6 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
create_udev_rule $2 $wwpn $lun create_udev_rule $2 $wwpn $lun
fi fi
) )
--
1.8.4.5

View File

@ -11,11 +11,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/parse-dasd.sh | 9 +++++++++ modules.d/95dasd_rules/parse-dasd.sh | 9 +++++++++
1 file changed, 9 insertions(+) 1 file changed, 9 insertions(+)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index 43ca87a..7b6a3d2 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:10.763731992 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:19.484221789 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -42,6 +42,15 @@ @@ -44,6 +44,15 @@ ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF EOF
} }
@ -31,3 +31,6 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
for dasd_arg in $(getargs root=) $(getargs resume=); do for dasd_arg in $(getargs root=) $(getargs resume=); do
( (
case $dasd_arg in case $dasd_arg in
--
1.8.4.5

View File

@ -19,11 +19,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
create mode 100644 modules.d/91zipl/module-setup.sh create mode 100644 modules.d/91zipl/module-setup.sh
create mode 100644 modules.d/91zipl/parse-zipl.sh create mode 100644 modules.d/91zipl/parse-zipl.sh
Index: dracut-041/dracut.cmdline.7.asc diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
=================================================================== index 0f1ef82..c7508ca 100644
--- dracut-041.orig/dracut.cmdline.7.asc 2015-03-24 15:15:10.423712894 +0100 --- a/dracut.cmdline.7.asc
+++ dracut-041/dracut.cmdline.7.asc 2015-03-24 15:15:22.356383108 +0100 +++ b/dracut.cmdline.7.asc
@@ -872,6 +872,20 @@ @@ -726,6 +726,20 @@ CIO_IGNORE
rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802 rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
-- --
@ -44,10 +44,11 @@ Index: dracut-041/dracut.cmdline.7.asc
Plymouth Boot Splash Plymouth Boot Splash
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
**plymouth.enable=0**:: **plymouth.enable=0**::
Index: dracut-041/modules.d/91zipl/install_zipl_cmdline.sh diff --git a/modules.d/91zipl/install_zipl_cmdline.sh b/modules.d/91zipl/install_zipl_cmdline.sh
=================================================================== new file mode 100644
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..8b454b8
+++ dracut-041/modules.d/91zipl/install_zipl_cmdline.sh 2015-03-24 15:15:22.356383108 +0100 --- /dev/null
+++ b/modules.d/91zipl/install_zipl_cmdline.sh
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
+#!/bin/bash +#!/bin/bash
+ +
@ -82,10 +83,11 @@ Index: dracut-041/modules.d/91zipl/install_zipl_cmdline.sh
+> /tmp/install.zipl.cmdline-done +> /tmp/install.zipl.cmdline-done
+ +
+exit 0 +exit 0
Index: dracut-041/modules.d/91zipl/module-setup.sh diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
=================================================================== new file mode 100644
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..a8d95c5
+++ dracut-041/modules.d/91zipl/module-setup.sh 2015-03-24 15:15:22.356383108 +0100 --- /dev/null
+++ b/modules.d/91zipl/module-setup.sh
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
+#!/bin/bash +#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
@ -132,10 +134,11 @@ Index: dracut-041/modules.d/91zipl/module-setup.sh
+ fi + fi
+ dracut_need_initqueue + dracut_need_initqueue
+} +}
Index: dracut-041/modules.d/91zipl/parse-zipl.sh diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
=================================================================== new file mode 100644
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..f8c2ca4
+++ dracut-041/modules.d/91zipl/parse-zipl.sh 2015-03-24 15:15:22.356383108 +0100 --- /dev/null
+++ b/modules.d/91zipl/parse-zipl.sh
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
+#!/bin/sh +#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
@ -178,3 +181,6 @@ Index: dracut-041/modules.d/91zipl/parse-zipl.sh
+ fi + fi
+ wait_for_dev -n "$zipl_arg" + wait_for_dev -n "$zipl_arg"
+fi +fi
--
1.8.4.5

View File

@ -13,11 +13,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/40network/ifup.sh | 2 ++ modules.d/40network/ifup.sh | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
Index: dracut-041/modules.d/40network/ifup.sh diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
=================================================================== index 494017b..6f279a4 100755
--- dracut-041.orig/modules.d/40network/ifup.sh 2015-03-24 15:15:10.003689302 +0100 --- a/modules.d/40network/ifup.sh
+++ dracut-041/modules.d/40network/ifup.sh 2015-03-24 15:15:25.332550269 +0100 +++ b/modules.d/40network/ifup.sh
@@ -18,6 +18,8 @@ @@ -20,6 +20,8 @@ netif=$1
use_bridge='false' use_bridge='false'
use_vlan='false' use_vlan='false'
@ -26,3 +26,6 @@ Index: dracut-041/modules.d/40network/ifup.sh
# enslave this interface to bond? # enslave this interface to bond?
for i in /tmp/bond.*.info; do for i in /tmp/bond.*.info; do
[ -e "$i" ] || continue [ -e "$i" ] || continue
--
1.8.4.5

View File

@ -17,10 +17,11 @@ Signed-off-by: Thomas Renninger <trenn@suse.de>
delete mode 100755 modules.d/02caps/caps.sh delete mode 100755 modules.d/02caps/caps.sh
delete mode 100755 modules.d/02caps/module-setup.sh delete mode 100755 modules.d/02caps/module-setup.sh
Index: dracut-041/modules.d/02caps/README diff --git a/modules.d/02caps/README b/modules.d/02caps/README
=================================================================== deleted file mode 100644
--- dracut-041.orig/modules.d/02caps/README 2015-01-31 12:54:52.000000000 +0100 index 34e0f02..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/02caps/README
+++ /dev/null
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
-This adds the following parameters: -This adds the following parameters:
-rd.caps=1 -rd.caps=1
@ -55,12 +56,15 @@ Index: dracut-041/modules.d/02caps/README
- jbd mbcache sd_mod crc_t10dif sr_mod cdrom ata_generic pata_acpi ata_piix - jbd mbcache sd_mod crc_t10dif sr_mod cdrom ata_generic pata_acpi ata_piix
- dm_mod" \ - dm_mod" \
- /boot/initramfs-caps.img - /boot/initramfs-caps.img
Index: dracut-041/modules.d/02caps/caps.sh diff --git a/modules.d/02caps/caps.sh b/modules.d/02caps/caps.sh
=================================================================== deleted file mode 100755
--- dracut-041.orig/modules.d/02caps/caps.sh 2015-03-17 13:30:53.230199929 +0100 index 6a8fe5d..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/02caps/caps.sh
@@ -1,34 +0,0 @@ +++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash -#!/bin/bash
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
- -
-capsmode=$(getarg rd.caps) -capsmode=$(getarg rd.caps)
- -
@ -94,12 +98,15 @@ Index: dracut-041/modules.d/02caps/caps.sh
- info "Will drop capabilities $CAPS_INIT_DROP from init." - info "Will drop capabilities $CAPS_INIT_DROP from init."
-fi -fi
- -
Index: dracut-041/modules.d/02caps/module-setup.sh diff --git a/modules.d/02caps/module-setup.sh b/modules.d/02caps/module-setup.sh
=================================================================== deleted file mode 100755
--- dracut-041.orig/modules.d/02caps/module-setup.sh 2015-03-17 13:30:53.238200386 +0100 index 46e35a0..0000000
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 --- a/modules.d/02caps/module-setup.sh
@@ -1,24 +0,0 @@ +++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash -#!/bin/bash
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
- -
-# called by dracut -# called by dracut
-check() { -check() {
@ -123,3 +130,6 @@ Index: dracut-041/modules.d/02caps/module-setup.sh
- fi - fi
-} -}
- -
--
1.8.4.5

View File

@ -12,11 +12,11 @@ Signed-off-by: Thomas Renninger <trenn@suse.de>
modules.d/97biosdevname/module-setup.sh | 3 ++- modules.d/97biosdevname/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
Index: dracut-041/modules.d/97biosdevname/module-setup.sh diff --git a/modules.d/97biosdevname/module-setup.sh b/modules.d/97biosdevname/module-setup.sh
=================================================================== index e285a7f..41ee39f 100755
--- dracut-041.orig/modules.d/97biosdevname/module-setup.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/97biosdevname/module-setup.sh
+++ dracut-041/modules.d/97biosdevname/module-setup.sh 2015-03-24 15:15:31.680906812 +0100 +++ b/modules.d/97biosdevname/module-setup.sh
@@ -3,7 +3,8 @@ @@ -5,7 +5,8 @@
# called by dracut # called by dracut
check() { check() {
[[ "$mount_needs" ]] && return 1 [[ "$mount_needs" ]] && return 1
@ -26,3 +26,6 @@ Index: dracut-041/modules.d/97biosdevname/module-setup.sh
return 0 return 0
} }
--
1.8.4.5

View File

@ -0,0 +1,40 @@
From e4e24c1e841f91987561c1970148872214bbaaf8 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Tue, 1 Jul 2014 13:54:04 +0200
Subject: dracut: nbd: Only complain of missing binary in hostonly mode if
rootfs is on nbd
In not hostonly mode, require_binaries will still complain.
If in hostonly mode and the module is explicitly added via -a nbd, then
install() section will still complain later:
dracut-install: ERROR: installing 'nbd-client'
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/95nbd/module-setup.sh | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/modules.d/95nbd/module-setup.sh b/modules.d/95nbd/module-setup.sh
index e62f290..dc5102e 100755
--- a/modules.d/95nbd/module-setup.sh
+++ b/modules.d/95nbd/module-setup.sh
@@ -5,8 +5,6 @@
# called by dracut
check() {
local _rootdev
- # If our prerequisites are not met, fail.
- require_binaries nbd-client || return 1
# if an nbd device is not somewhere in the chain of devices root is
# mounted on, fail the hostonly check.
@@ -17,6 +15,7 @@ check() {
[[ -b /dev/block/$_rootdev ]] || return 1
check_block_and_slaves is_nbd "$_rootdev" || return 255
}
+ require_binaries nbd-client || return 1
return 0
}
--
1.8.4.5

View File

@ -0,0 +1,123 @@
From a7bac2f8271ff195fa0a5c021f40b7eeb48b3681 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 2 Jul 2014 10:36:50 +0200
Subject: 95iscsi: generate commandline for software iscsi
When installing on an software iscsi root we need to generate
the correct commandline, otherwise the system cannot boot.
References: bnc#880108
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 80 +++++++++++++++++++++++++++++++++++++--
1 file changed, 77 insertions(+), 3 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index cfa6f39..e9bed24 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -43,6 +43,75 @@ install_ibft() {
done
}
+install_iscsiroot() {
+ local devpath=$1
+ local scsi_path iscsi_lun session c d conn
+ local iscsi_session iscsi_address iscsi_port iscsi_targetname iscsi_tpgt
+
+ scsi_path=${devpath%%/block*}
+ [ "$scsi_path" = "$devpath" ] && return 1
+ iscsi_lun=${scsi_path##*:}
+ [ "$iscsi_lun" = "$scsi_path" ] && return 1
+ session=${devpath%%/target*}
+ [ "$session" = "$devpath" ] && return 1
+ iscsi_session=${session##*/}
+ [ "$iscsi_session" = "$session" ] && return 1
+
+ for d in ${session}/* ; do
+ case $d in
+ *connection*)
+ c=${d##*/}
+ conn=${d}/iscsi_connection/${c}
+ if [ -d ${conn} ] ; then
+ iscsi_address=$(cat ${conn}/persistent_address)
+ iscsi_port=$(cat ${conn}/persistent_port)
+ fi
+ ;;
+ *session)
+ if [ -d ${d}/${iscsi_session} ] ; then
+ iscsi_initiator=$(cat ${d}/${iscsi_session}/initiatorname)
+ iscsi_targetname=$(cat ${d}/${iscsi_session}/targetname)
+ fi
+ ;;
+ esac
+ done
+
+ local_address=$(ip -o route get to $iscsi_address | cut -f 1 -d ' ')
+ ifname=$(ip addr show to $local_address | head -1 | sed -n 's/[0-9]*: \(.*\): .*/\1/p')
+ if [ -d /sys/class/net/$ifname/address ] ; then
+ ifmac=$(cat /sys/class/net/$ifname/address)
+ printf 'ifname=%s:%s ' ${ifname} ${ifmac}
+ fi
+
+ if [ -n "$iscsi_address" -a -n "$iscsi_targetname" ] ; then
+ if [ -n "$iscsi_port" -a "$iscsi_port" -eq 3260 ] ; then
+ iscsi_port=
+ fi
+ if [ -n "$iscsi_lun" -a "$iscsi_lun" -eq 0 ] ; then
+ iscsi_lun=
+ fi
+ echo "rd.iscsi.initiator=${iscsi_initiator} netroot=iscsi:${iscsi_address}::${iscsi_port}:${iscsi_lun}:${iscsi_targetname}"
+ fi
+ return 0
+}
+
+
+install_softiscsi() {
+ [ -d /sys/firmware/ibft ] && return 0
+
+ is_softiscsi() {
+ local _dev=$1
+ local iscsi_dev
+
+ [[ -L "/sys/dev/block/$_dev" ]] || return
+ iscsi_dev=$(cd -P /sys/dev/block/$_dev; echo $PWD)
+ install_iscsiroot $iscsi_dev
+ }
+
+ for_each_host_dev_and_slaves is_softiscsi || return 255
+ return 0
+}
+
# called by dracut
check() {
local _rootdev
@@ -121,7 +190,12 @@ installkernel() {
# called by dracut
cmdline() {
- install_ibft
+ local _iscsiconf=$(install_ibft)
+ if [ "$_iscsiconf" ] ; then
+ echo ${_iscsiconf}
+ else
+ install_softiscsi
+ fi
}
# called by dracut
@@ -132,8 +206,8 @@ install() {
# Detect iBFT and perform mandatory steps
if [[ $hostonly_cmdline == "yes" ]] ; then
- local _ibftconf=$(install_ibft)
- [[ $_ibftconf ]] && printf "%s\n" "$_ibftconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ local _iscsiconf=$(cmdline)
+ [[ $_iscsiconf ]] && printf "%s\n" "$_iscsiconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
fi
inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
--
1.8.4.5

View File

@ -15,11 +15,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/40network/parse-ip-opts.sh | 8 +++++++- modules.d/40network/parse-ip-opts.sh | 8 +++++++-
3 files changed, 24 insertions(+), 2 deletions(-) 3 files changed, 24 insertions(+), 2 deletions(-)
Index: dracut-041/modules.d/40network/ifup.sh diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
=================================================================== index 6f279a4..f3e07a6 100755
--- dracut-041.orig/modules.d/40network/ifup.sh 2015-03-17 17:19:54.375944711 +0100 --- a/modules.d/40network/ifup.sh
+++ dracut-041/modules.d/40network/ifup.sh 2015-03-17 17:24:27.803263036 +0100 +++ b/modules.d/40network/ifup.sh
@@ -399,6 +399,18 @@ @@ -399,6 +399,18 @@ for p in $(getargs ip=); do
[ "$use_bridge" != 'true' ] && \ [ "$use_bridge" != 'true' ] && \
[ "$use_vlan" != 'true' ] && continue [ "$use_vlan" != 'true' ] && continue
@ -38,20 +38,20 @@ Index: dracut-041/modules.d/40network/ifup.sh
# setup nameserver # setup nameserver
namesrv="$dns1 $dns2 $(getargs nameserver)" namesrv="$dns1 $dns2 $(getargs nameserver)"
for s in $namesrv; do for s in $namesrv; do
@@ -412,7 +424,7 @@ @@ -411,7 +423,7 @@ for p in $(getargs ip=); do
done > /tmp/net.$netif.override
for autoopt in $(str_replace "$autoconf" "," " "); do case $autoconf in
case $autoopt in
- dhcp|on|any) - dhcp|on|any)
+ dhcp4|dhcp|on|any) + dhcp4|dhcp|on|any)
do_dhcp -4 ;; do_dhcp -4 ;;
dhcp6) dhcp6)
load_ipv6 load_ipv6
Index: dracut-041/modules.d/40network/module-setup.sh diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
=================================================================== index 7e7f087..690ff08 100755
--- dracut-041.orig/modules.d/40network/module-setup.sh 2015-03-17 17:19:54.383945160 +0100 --- a/modules.d/40network/module-setup.sh
+++ dracut-041/modules.d/40network/module-setup.sh 2015-03-17 17:24:05.189997137 +0100 +++ b/modules.d/40network/module-setup.sh
@@ -99,6 +99,10 @@ @@ -101,6 +101,10 @@ install() {
_arch=$(uname -m) _arch=$(uname -m)
@ -62,16 +62,16 @@ Index: dracut-041/modules.d/40network/module-setup.sh
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \ inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
{"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*" {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
Index: dracut-041/modules.d/40network/parse-ip-opts.sh diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
=================================================================== index 7e73574..e48b0f3 100755
--- dracut-041.orig/modules.d/40network/parse-ip-opts.sh 2015-03-17 17:24:05.193997361 +0100 --- a/modules.d/40network/parse-ip-opts.sh
+++ dracut-041/modules.d/40network/parse-ip-opts.sh 2015-03-17 17:26:56.711605514 +0100 +++ b/modules.d/40network/parse-ip-opts.sh
@@ -67,7 +67,13 @@ @@ -64,7 +64,13 @@ for p in $(getargs ip=); do
for autoopt in $(str_replace "$autoconf" "," " "); do # Error checking for autoconf in combination with other values
case $autoopt in case $autoconf in
error) die "Error parsing option 'ip=$p'";; error) die "Error parsing option 'ip=$p'";;
- bootp|rarp|both) die "Sorry, ip=$autoopt is currenty unsupported";; - bootp|rarp|both) die "Sorry, ip=$autoconf is currenty unsupported";;
+ bootp|rarp|both) die "Sorry, ip=$autoopt is currently unsupported";; + bootp|rarp|both) die "Sorry, ip=$autoconf is currently unsupported";;
+ static) + static)
+ if [ ! -e /etc/sysconfig/network/ifcfg-${dev} ] ; then + if [ ! -e /etc/sysconfig/network/ifcfg-${dev} ] ; then
+ warn "No ifcfg configuration present for interface $dev, skipping" + warn "No ifcfg configuration present for interface $dev, skipping"
@ -80,4 +80,7 @@ Index: dracut-041/modules.d/40network/parse-ip-opts.sh
+ ;; + ;;
none|off) none|off)
[ -z "$ip" ] && \ [ -z "$ip" ] && \
die "For argument 'ip=$p'\nValue '$autoopt' without static configuration does not make sense" die "For argument 'ip=$p'\nValue '$autoconf' without static configuration does not make sense"
--
1.8.4.5

View File

@ -0,0 +1,37 @@
From d62ee7be6309c4f5e3f8b0d3c6e825da03095ed7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 2 Jul 2014 11:56:29 +0200
Subject: 95iscsi: use static configuration for software iscsi
When using software iscsi we should be using the existing
configuration from the system for the time being.
References: bnc#884768
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index e9bed24..81ffb18 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -76,9 +76,11 @@ install_iscsiroot() {
esac
done
- local_address=$(ip -o route get to $iscsi_address | cut -f 1 -d ' ')
- ifname=$(ip addr show to $local_address | head -1 | sed -n 's/[0-9]*: \(.*\): .*/\1/p')
- if [ -d /sys/class/net/$ifname/address ] ; then
+ local_address=$(ip -o route get to $iscsi_address | sed -n 's/.*src \([0-9a-f.:]*\).*/\1/p')
+ ifname=$(ip -o route get to $iscsi_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
+ printf 'ip=%s:static ' ${ifname}
+
+ if [ -e /sys/class/net/$ifname/address ] ; then
ifmac=$(cat /sys/class/net/$ifname/address)
printf 'ifname=%s:%s ' ${ifname} ${ifmac}
fi
--
1.8.4.5

View File

@ -0,0 +1,45 @@
From 3dc48f4ee656529936a6021fb0f0885ece2dc26e Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Thu, 3 Jul 2014 15:16:42 +0200
Subject: dracut: Fix error: local: can only be used in a function
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
modules.d/98systemd/dracut-pre-udev.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh
index 77977d2..68021aa 100755
--- a/modules.d/98systemd/dracut-pre-udev.sh
+++ b/modules.d/98systemd/dracut-pre-udev.sh
@@ -26,10 +26,12 @@ fi
for i in $(getargs rd.driver.pre -d rdloaddriver=); do
(
- local IFS=,
+ _IFS="$IFS"
+ IFS=,
for p in $i; do
modprobe $p 2>&1 | vinfo
done
+ IFS="$_IFS"
)
done
@@ -38,10 +40,12 @@ done
for i in $(getargs rd.driver.blacklist -d rdblacklist=); do
(
- local IFS=,
+ _IFS="$IFS"
+ IFS=,
for p in $i; do
echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf
done
+ IFS="$_IFS"
)
done
--
1.8.4.5

View File

@ -0,0 +1,106 @@
From 59be707744473b82f2ae6d14a159fbf94834d4b6 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 3 Jul 2014 11:21:29 +0200
Subject: Implement 'rd.timeout' to modify the device timeout
When generating units for devices the administrator might
want to use a different timeout than the default.
So implement a new parameter 'rd.timeout' for this.
References: bnc#878770
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.cmdline.7.asc | 7 ++++++-
modules.d/98systemd/rootfs-generator.sh | 7 +++++--
modules.d/99base/dracut-lib.sh | 6 +++++-
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 84fe794..2dc795b 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -117,11 +117,16 @@ Misc
have been loaded. This parameter can be specified multiple times.
**rd.retry=**__<seconds>__::
- specify how long dracut should wait for devices to appear.
+ specify how long dracut should retry the initqueue to configure devices.
The default is 30 seconds. After 2/3 of the time, degraded raids are force
started. If you have hardware, which takes a very long time to announce its
drives, you might want to extend this value.
+**rd.timeout=**__<seconds>__::
+ specify how long dracut should wait for devices to appear. The
+ default is '0', which means 'forever'. Note that this timeout
+ should be longer than rd.retry to allow for proper configuration.
+
**rd.noverifyssl**::
accept self-signed certificates for ssl downloads.
diff --git a/modules.d/98systemd/rootfs-generator.sh b/modules.d/98systemd/rootfs-generator.sh
index 2c09895..a2b71ff 100755
--- a/modules.d/98systemd/rootfs-generator.sh
+++ b/modules.d/98systemd/rootfs-generator.sh
@@ -7,8 +7,11 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
generator_wait_for_dev()
{
local _name
+ local _timeout
_name="$(str_replace "$1" '/' '\x2f')"
+ _timeout=$(getarg rd.timeout)
+ _timeout=${_timeout:-0}
[ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
@@ -29,7 +32,7 @@ generator_wait_for_dev()
mkdir -p /run/systemd/generator/${_name}.device.d
{
echo "[Unit]"
- echo "JobTimeoutSec=0"
+ echo "JobTimeoutSec=$_timeout"
} > /run/systemd/generator/${_name}.device.d/timeout.conf
fi
}
@@ -60,6 +63,6 @@ case "$root" in
rootok=1 ;;
esac
-[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}"
+[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}" "$RDRETRY"
exit 0
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 33f7678..5a867b8 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -876,12 +876,16 @@ wait_for_dev()
local _name
local _needreload
local _noreload
+ local _timeout
if [ "$1" = "-n" ]; then
_noreload=1
shift
fi
+ _timeout=$(getarg rd.timeout)
+ _timeout=${_timeout:-0}
+
_name="$(str_replace "$1" '/' '\x2f')"
[ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
@@ -905,7 +909,7 @@ wait_for_dev()
mkdir -p ${PREFIX}/etc/systemd/system/${_name}.device.d
{
echo "[Unit]"
- echo "JobTimeoutSec=0"
+ echo "JobTimeoutSec=$_timeout"
} > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
_needreload=1
fi
--
1.8.4.5

View File

@ -0,0 +1,37 @@
From 438b80786d2d3f729620bcf73d65732e9e84c52e Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 3 Jul 2014 14:44:22 +0200
Subject: Do not call 'lvm' for non-LVM device-mapper devices
If a device-mapper device is not created by LVM it's pointless
to call any 'lvm' programs got extract details; they'll be
failing anyway. So check the UUID before calling 'lvm'.
This speeds up initrd creation and avoids I/O errors on
multipath devices.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut-functions.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 1e0779a..b6247f5 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -700,10 +700,12 @@ for_each_host_dev_and_slaves()
# but you cannot create the logical volume without the volume group.
# And the volume group might be bigger than the devices the LV needs.
check_vol_slaves() {
- local _lv _vg _pv
+ local _lv _vg _pv _dm
for i in /dev/mapper/*; do
[[ $i == /dev/mapper/control ]] && continue
_lv=$(get_maj_min $i)
+ _dm=/sys/dev/block/$_lv/dm
+ [[ -f $_dm/uuid && $(<$_dm/uuid) =~ LVM-* ]] || continue
if [[ $_lv = $2 ]]; then
_vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
# strip space
--
1.8.4.5

View File

@ -0,0 +1,50 @@
From 760bf001b3941f52451c148f3b3d66a38d4ef457 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 3 Jul 2014 15:29:59 +0200
Subject: 90multipath: Load device_handler modules early during boot
The device handler modules need to be loaded early during boot
to avoid I/O errors being printed to the system log.
References: bnc#871617
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90multipath/module-setup.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 22ff580..6ac8534 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -30,6 +30,15 @@ depends() {
}
# called by dracut
+cmdline() {
+ for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
+ if module_is_host_only $m ; then
+ printf 'rd.driver.pre=%s ' "$m"
+ fi
+ done
+}
+
+# called by dracut
installkernel() {
local _ret
local _arch=$(uname -m)
@@ -91,6 +100,11 @@ install() {
inst_libdir_file "libmultipath*" "multipath/*"
inst_libdir_file 'libgcc_s.so*'
+ if [[ $hostonly_cmdline ]] ; then
+ local _conf=$(cmdline)
+ [[ $_conf ]] && echo "$_conf" >> "${initdir}/etc/cmdline.d/90multipath.conf"
+ fi
+
if dracut_module_included "systemd"; then
inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
--
1.8.4.5

View File

@ -0,0 +1,28 @@
From b809bebcb9a32330e050fdaac0653379cbe4d01a Mon Sep 17 00:00:00 2001
From: David Sterba <dsterba@suse.cz>
Date: Fri, 4 Jul 2014 10:22:59 +0200
Subject: Add btrfs rescue utilities
Signed-off-by: David Sterba <dsterba@suse.cz>
---
modules.d/90btrfs/module-setup.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 406fd6d..d76e767 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -46,7 +46,8 @@ install() {
inst_hook initqueue/timeout 10 "$moddir/btrfs_timeout.sh"
fi
- inst_multiple -o btrfsck btrfs-zero-log
+ # rescue utilities
+ inst_multiple btrfs-zero-log btrfs-image btrfs-dump-super
+ inst_multiple btrfs-debug-tree mkfs.btrfs btrfstune btrfs-select-super
inst $(command -v btrfs) /sbin/btrfs
}
-
--
1.8.4.5

View File

@ -0,0 +1,34 @@
From 390474e70238c6585976bab3d37b0f82e5f1a417 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 4 Jul 2014 12:31:24 +0200
Subject: Print stored dracut commandline during initramfs build
When generating the initramfs we should be printing out the
generated dracut commandline used for booting.
This will simplify debugging.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.sh | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dracut.sh b/dracut.sh
index 40006e7..a166cb6 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1479,6 +1479,12 @@ if ! ( echo $PARMS_TO_STORE > $initdir/lib/dracut/build-parameter.txt ); then
exit 1
fi
+if [[ $hostonly_cmdline ]] ; then
+ dinfo "Stored kernel commandline:"
+ for conf in $initdir/etc/cmdline.d/*.conf ; do
+ dinfo "$(< $conf)"
+ done
+fi
rm -f -- "$outfile"
dinfo "*** Creating image file ***"
--
1.8.4.5

View File

@ -0,0 +1,51 @@
From ad1acb808e5c7695cb54af7b449db11afd710f21 Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Sun, 22 Jun 2014 03:19:51 +0200
Subject: Align dev_unit_name() with systemd's function.
Add more corner cases from systemd's
unit_name_from_path_instance() C function.
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
---
modules.d/99base/dracut-lib.sh | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 5a867b8..e201af8 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -857,13 +857,25 @@ wait_for_mount()
} >> "$hookdir/emergency/90-${_name}.sh"
}
+# get a systemd-compatible unit name from a path
+# (mimicks unit_name_from_path_instance())
dev_unit_name()
{
- _name="${1%%/}"
- _name="${_name##/}"
- _name="$(str_replace "$_name" '-' '\x2d')"
- _name="$(str_replace "$_name" '/' '-')"
- echo "$_name"
+ local dev="$1"
+
+ if [ "$dev" = "/" -o -z "$dev" ]; then
+ printf -- "-"
+ exit 0
+ fi
+
+ dev="${1%%/}"
+ dev="${dev##/}"
+ dev="$(str_replace "$dev" '\' '\x5c')"
+ dev="$(str_replace "$dev" '-' '\x2d')"
+ dev=${dev/#\./\\x2e}
+ dev="$(str_replace "$dev" '/' '-')"
+
+ printf -- "%s" "$dev"
}
# wait_for_dev <dev>
--
1.8.4.5

View File

@ -0,0 +1,50 @@
From 827e7c0e82c5ae7d0ddebc5b67a1c767d39eded6 Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Mon, 7 Jul 2014 01:13:40 +0200
Subject: Fixup missing separators in rootfs-block cmdline
This fixes up 21e4cbee5d852108880cedc9edc619cdd9b296a5 by
re-introducing the spaces between the arguments.
[hare: moving printf statement into one line]
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.cmdline.7.asc | 3 +++
modules.d/95rootfs-block/module-setup.sh | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 2dc795b..228d571 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -134,6 +134,9 @@ Misc
specify the controlling terminal for the console.
This is useful, if you have multiple "console=" arguments.
+**rd.nocmdline**::
+ Skip built-in commandline arguments
+
[[dracutkerneldebug]]
Debug
~~~~~
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index a620786..7f3b156 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -34,9 +34,9 @@ cmdline_journal() {
cmdline_rootfs() {
local dev=/dev/block/$(find_root_block_device)
if [ -e $dev ]; then
- printf "root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
- printf "rootflags=%s" "$(find_mp_fsopts /)"
- printf "rootfstype=%s\n" "$(find_mp_fstype /)"
+ printf "root=%s rootflags=%s rootfstype=%s\n" \
+ "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")" \
+ "$(find_mp_fsopts /)" "$(find_mp_fstype /)"
fi
}
--
1.8.4.5

View File

@ -0,0 +1,70 @@
From 7bbe5a2608be72ecc51c3a28f0da1ddaf522e293 Mon Sep 17 00:00:00 2001
From: Thorsten Behrens <tbehrens@suse.com>
Date: Mon, 7 Jul 2014 01:14:45 +0200
Subject: Generate fallback mount unit for root filesystem
If kernel cmdline has no root= provided, *and* the initrd carries
a default value, create a systemd mount unit to have it available
in /sysroot
References: bnc#855258
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
---
modules.d/98systemd/rootfs-generator.sh | 34 ++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/modules.d/98systemd/rootfs-generator.sh b/modules.d/98systemd/rootfs-generator.sh
index a2b71ff..13428da 100755
--- a/modules.d/98systemd/rootfs-generator.sh
+++ b/modules.d/98systemd/rootfs-generator.sh
@@ -37,6 +37,35 @@ generator_wait_for_dev()
fi
}
+generator_mount_rootfs()
+{
+ local _type=$2
+ local _flags=$3
+ local _name
+
+ [ -z "$1" ] && return 0
+
+ _name=$(dev_unit_name "$1")
+ [ -d /run/systemd/generator ] || mkdir -p /run/systemd/generator
+ if ! [ -f /run/systemd/generator/sysroot.mount ]; then
+ {
+ echo "[Unit]"
+ echo "Before=initrd-root-fs.target"
+ echo "RequiresOverridable=systemd-fsck@${_name}.service"
+ echo "After=systemd-fsck@${_name}.service"
+ echo "[Mount]"
+ echo "Where=/sysroot"
+ echo "What=$1"
+ echo "Options=${_flags}"
+ echo "Type=${_type}"
+ } > /run/systemd/generator/sysroot.mount
+ fi
+ if ! [ -L /run/systemd/generator/initrd-root-fs.target.requires/sysroot.mount ]; then
+ [ -d /run/systemd/generator/initrd-root-fs.target.requires ] || mkdir -p /run/systemd/generator/initrd-root-fs.target.requires
+ ln -s ../sysroot.mount /run/systemd/generator/initrd-root-fs.target.requires/sysroot.mount
+ fi
+}
+
root=$(getarg root=)
case "$root" in
block:LABEL=*|LABEL=*)
@@ -63,6 +92,9 @@ case "$root" in
rootok=1 ;;
esac
-[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}" "$RDRETRY"
+if [ "${root%%:*}" = "block" ]; then
+ generator_wait_for_dev "${root#block:}" "$RDRETRY"
+ grep -q 'root=' /proc/cmdline || generator_mount_rootfs "${root#block:}" "$(getarg rootfstype=)" "$(getarg rootflags=)"
+fi
exit 0
--
1.8.4.5

View File

@ -0,0 +1,47 @@
From a852317e8338ffb94fa1ac9512d465ac8c72cdc0 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 8 Jul 2014 13:16:41 +0200
Subject: 95iscsi: parse output from iscsiadm correctly
Due to some obsure reason the IFS parameter is not set correctly
when evaluating get_ibft_mod(). So change the parsing to not rely
on IFS altogether.
References: bnc#886199
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95iscsi/module-setup.sh | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 81ffb18..f63634a 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -3,15 +3,15 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
get_ibft_mod() {
- local ibft_mac=$1 IFS
+ local ibft_mac=$1
+ local iface_mac iface_mod
# Return the iSCSI offload module for a given MAC address
- iscsiadm -m iface | while read iface_name iface_desc ; do
- OLDIFS="$IFS"
- IFS=$','
- set -- $iface_desc
- IFS="$OLDIFS"
- if [ "$ibft_mac" = "$2" ] ; then
- echo $1
+ for iface_desc in $(iscsiadm -m iface | cut -f 2 -d ' '); do
+ iface_mod=${iface_desc%%,*}
+ iface_mac=${iface_desc#*,}
+ iface_mac=${iface_mac%%,*}
+ if [ "$ibft_mac" = "$iface_mac" ] ; then
+ echo $iface_mod
return 0
fi
--
1.8.4.5

View File

@ -19,11 +19,11 @@ Signed-off-by: Thomas Renninger <trenn@suse.de>
4 files changed, 79 insertions(+), 11 deletions(-) 4 files changed, 79 insertions(+), 11 deletions(-)
create mode 100755 modules.d/30convertfs/convertrunfs.sh create mode 100755 modules.d/30convertfs/convertrunfs.sh
Index: dracut-041/modules.d/30convertfs/convertfs.sh diff --git a/modules.d/30convertfs/convertfs.sh b/modules.d/30convertfs/convertfs.sh
=================================================================== index d717c69..525b1e7 100755
--- dracut-041.orig/modules.d/30convertfs/convertfs.sh 2015-01-31 12:54:52.000000000 +0100 --- a/modules.d/30convertfs/convertfs.sh
+++ dracut-041/modules.d/30convertfs/convertfs.sh 2015-03-17 17:37:15.774237322 +0100 +++ b/modules.d/30convertfs/convertfs.sh
@@ -62,15 +62,6 @@ @@ -64,15 +64,6 @@ if [[ ! -e "$testfile" ]]; then
fi fi
rm -f -- "$testfile" rm -f -- "$testfile"
@ -39,10 +39,11 @@ Index: dracut-041/modules.d/30convertfs/convertfs.sh
find_mount() { find_mount() {
local dev mnt etc wanted_dev local dev mnt etc wanted_dev
wanted_dev="$(readlink -e -q $1)" wanted_dev="$(readlink -e -q $1)"
Index: dracut-041/modules.d/30convertfs/convertrunfs.sh diff --git a/modules.d/30convertfs/convertrunfs.sh b/modules.d/30convertfs/convertrunfs.sh
=================================================================== new file mode 100755
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 index 0000000..52700cd
+++ dracut-041/modules.d/30convertfs/convertrunfs.sh 2015-03-17 17:37:15.778237383 +0100 --- /dev/null
+++ b/modules.d/30convertfs/convertrunfs.sh
@@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
+#!/bin/bash +#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
@ -95,15 +96,16 @@ Index: dracut-041/modules.d/30convertfs/convertrunfs.sh
+ ln -sfn ../run/lock $ROOT/var/lock + ln -sfn ../run/lock $ROOT/var/lock
+fi +fi
+ +
+if [ $WAS_RO -eq 1 ];then +if [ $WAR_RO -eq 1 ];then
+ mount $ROOT -o remount,ro + mount $ROOT -o remount,ro
+fi +fi
Index: dracut-041/modules.d/30convertfs/do-convertfs.sh diff --git a/modules.d/30convertfs/do-convertfs.sh b/modules.d/30convertfs/do-convertfs.sh
=================================================================== index 99738e3..ef05a06 100755
--- dracut-041.orig/modules.d/30convertfs/do-convertfs.sh 2015-03-17 17:31:01.441312547 +0100 --- a/modules.d/30convertfs/do-convertfs.sh
+++ dracut-041/modules.d/30convertfs/do-convertfs.sh 2015-03-17 17:37:15.786237620 +0100 +++ b/modules.d/30convertfs/do-convertfs.sh
@@ -1,9 +1,26 @@ @@ -2,10 +2,27 @@
#!/bin/bash # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+# This converts all, /usr/bin -> /bin, ... and /var/run -> /run +# This converts all, /usr/bin -> /bin, ... and /var/run -> /run
+# Do not enable by default! +# Do not enable by default!
@ -129,11 +131,11 @@ Index: dracut-041/modules.d/30convertfs/do-convertfs.sh
+ exit 0 + exit 0
fi fi
fi fi
Index: dracut-041/modules.d/30convertfs/module-setup.sh diff --git a/modules.d/30convertfs/module-setup.sh b/modules.d/30convertfs/module-setup.sh
=================================================================== index 1e73455..5fead45 100755
--- dracut-041.orig/modules.d/30convertfs/module-setup.sh 2015-03-17 17:31:01.445312770 +0100 --- a/modules.d/30convertfs/module-setup.sh
+++ dracut-041/modules.d/30convertfs/module-setup.sh 2015-03-17 17:37:15.786237620 +0100 +++ b/modules.d/30convertfs/module-setup.sh
@@ -2,8 +2,13 @@ @@ -4,8 +4,13 @@
# called by dracut # called by dracut
check() { check() {
@ -149,10 +151,13 @@ Index: dracut-041/modules.d/30convertfs/module-setup.sh
} }
# called by dracut # called by dracut
@@ -16,5 +21,6 @@ @@ -18,5 +23,6 @@ install() {
inst_multiple bash find ldconfig mv rm cp ln inst_multiple bash find ldconfig mv rm cp ln
inst_hook pre-pivot 99 "$moddir/do-convertfs.sh" inst_hook pre-pivot 99 "$moddir/do-convertfs.sh"
inst_script "$moddir/convertfs.sh" /usr/bin/convertfs inst_script "$moddir/convertfs.sh" /usr/bin/convertfs
+ inst_script "$moddir/convertrunfs.sh" /usr/bin/convertrunfs + inst_script "$moddir/convertrunfs.sh" /usr/bin/convertrunfs
} }
--
1.8.4.5

View File

@ -9,11 +9,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/parse-zfcp.sh | 2 +- modules.d/95zfcp_rules/parse-zfcp.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-) 2 files changed, 2 insertions(+), 2 deletions(-)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index 7b6a3d2..bafd053 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:19.484221789 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:36.577181837 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -43,7 +43,7 @@ @@ -45,7 +45,7 @@ EOF
} }
if [[ -f /sys/firmware/ipl/ipl_type && if [[ -f /sys/firmware/ipl/ipl_type &&
@ -22,11 +22,11 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
( (
local _ccw=$(cat /sys/firmware/ipl/device) local _ccw=$(cat /sys/firmware/ipl/device)
Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
=================================================================== index 05c1ed0..00f530f 100755
--- dracut-041.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-24 15:15:16.804071255 +0100 --- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh 2015-03-24 15:15:36.577181837 +0100 +++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -40,7 +40,7 @@ @@ -42,7 +42,7 @@ EOF
} }
if [[ -f /sys/firmware/ipl/ipl_type && if [[ -f /sys/firmware/ipl/ipl_type &&
@ -35,3 +35,6 @@ Index: dracut-041/modules.d/95zfcp_rules/parse-zfcp.sh
( (
local _wwpn=$(cat /sys/firmware/ipl/wwpn) local _wwpn=$(cat /sys/firmware/ipl/wwpn)
local _lun=$(cat /sys/firmware/ipl/lun) local _lun=$(cat /sys/firmware/ipl/lun)
--
1.8.4.5

View File

@ -13,11 +13,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/module-setup.sh | 4 ++-- modules.d/95dasd_rules/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
Index: dracut-041/modules.d/95dasd_rules/module-setup.sh diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
=================================================================== index e4736a2..78a7a66 100755
--- dracut-041.orig/modules.d/95dasd_rules/module-setup.sh 2015-03-24 15:14:26.249231803 +0100 --- a/modules.d/95dasd_rules/module-setup.sh
+++ dracut-041/modules.d/95dasd_rules/module-setup.sh 2015-03-24 15:15:39.977372818 +0100 +++ b/modules.d/95dasd_rules/module-setup.sh
@@ -12,8 +12,8 @@ @@ -14,8 +14,8 @@ cmdline() {
return 0 return 0
} }
[[ $hostonly ]] || [[ $mount_needs ]] && { [[ $hostonly ]] || [[ $mount_needs ]] && {
@ -28,3 +28,6 @@ Index: dracut-041/modules.d/95dasd_rules/module-setup.sh
} }
# called by dracut # called by dracut
--
1.8.4.5

View File

@ -13,11 +13,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95zfcp_rules/module-setup.sh | 7 ++++--- modules.d/95zfcp_rules/module-setup.sh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-) 1 file changed, 4 insertions(+), 3 deletions(-)
Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
=================================================================== index 3f80754..df13fa1 100755
--- dracut-041.orig/modules.d/95zfcp_rules/module-setup.sh 2015-03-24 15:15:15.552000930 +0100 --- a/modules.d/95zfcp_rules/module-setup.sh
+++ dracut-041/modules.d/95zfcp_rules/module-setup.sh 2015-03-24 15:15:43.249556607 +0100 +++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -14,11 +14,11 @@ @@ -16,11 +16,11 @@ cmdline() {
_wwpn=$(cat ${_sdev}/wwpn) _wwpn=$(cat ${_sdev}/wwpn)
_ccw=$(cat ${_sdev}/hba_id) _ccw=$(cat ${_sdev}/hba_id)
echo "rd.zfcp=${_ccw},${_wwpn},${_lun}" echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
@ -32,7 +32,7 @@ Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh
} }
# called by dracut # called by dracut
@@ -29,6 +29,7 @@ @@ -31,6 +31,7 @@ check() {
require_binaries /usr/lib/udev/collect || return 1 require_binaries /usr/lib/udev/collect || return 1
[[ $hostonly ]] || [[ $mount_needs ]] && { [[ $hostonly ]] || [[ $mount_needs ]] && {
@ -40,3 +40,6 @@ Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh
for _ccw in /sys/bus/ccw/devices/*/host* ; do for _ccw in /sys/bus/ccw/devices/*/host* ; do
[ -d "$_ccw" ] || continue [ -d "$_ccw" ] || continue
found=$(($found+1)); found=$(($found+1));
--
1.8.4.5

View File

@ -0,0 +1,25 @@
From 73c11cd35b563f94b65058aa8b4e01ce3ff6ef8a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 10 Jul 2014 15:52:37 +0200
Subject: 90mdraid: Remove line for 'offroot' detection
Feature is not present in SLE12, so remove this line.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/90mdraid/parse-md.sh | 2 --
1 file changed, 2 deletions(-)
diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index dd7bda2..947dbd4 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -52,5 +52,3 @@ if ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF -n noddfmd -n nodmraid; then
info "no MD RAID for SNIA ddf raids"
udevproperty rd_NO_MDDDF=1
fi
-
-strstr "$(mdadm --help-options 2>&1)" offroot && udevproperty rd_MD_OFFROOT=--offroot
--
1.8.4.5

View File

@ -0,0 +1,33 @@
From 6d4c7a328cab1c6cda1aedb4a2149e9227c108f0 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 10 Jul 2014 15:56:53 +0200
Subject: 99base: warn on invalid command for initqueue
When 'initqueue' is called with an invalid command it'll generate
invalid job scripts. This will lead to confusing error messages
later on.
So abort in these cases and print out a warning.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/99base/initqueue.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/99base/initqueue.sh b/modules.d/99base/initqueue.sh
index 854a36a..cbf6fa2 100755
--- a/modules.d/99base/initqueue.sh
+++ b/modules.d/99base/initqueue.sh
@@ -44,6 +44,10 @@ exe=$1
shift
[ -x "$exe" ] || exe=$(command -v $exe)
+if [ -z "$exe" ] ; then
+ echo "Invalid command"
+ exit 1
+fi
{
[ -n "$onetime" ] && echo '[ -e "$job" ] && rm -f -- "$job"'
--
1.8.4.5

View File

@ -0,0 +1,38 @@
From 40556c48da1f7f15ad0eb727013589f6f45596f8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Sat, 12 Jul 2014 14:53:00 +0200
Subject: Handle module alias properly
Some modules (like ext4) provide aliases by which the modules
can be accessed, too. But when using aliases directly dracut
fails to include the correct module. So translate the alias
into the correct module name before checking the module.
References: bnc#886839
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut-functions.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index b6247f5..22e16ff 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1666,6 +1666,13 @@ instmods() {
--*) _mpargs+=" $_mod" ;;
*)
_mod=${_mod##*/}
+ # Check for aliased modules
+ _modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null)
+ _modalias=${_modalias%.ko}
+ if [ "${_modalias##*/}" != "$_mod" ] ; then
+ _mod=${_modalias##*/}
+ fi
+
# if we are already installed, skip this module and go on
# to the next one.
if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
--
1.8.4.5

View File

@ -12,11 +12,11 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/parse-dasd.sh | 10 ++++++---- modules.d/95dasd_rules/parse-dasd.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-) 1 file changed, 6 insertions(+), 4 deletions(-)
Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
=================================================================== index bafd053..0c297e5 100755
--- dracut-041.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:36.577181837 +0100 --- a/modules.d/95dasd_rules/parse-dasd.sh
+++ dracut-041/modules.d/95dasd_rules/parse-dasd.sh 2015-03-24 15:15:50.865984400 +0100 +++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -5,6 +5,10 @@ @@ -7,6 +7,10 @@ create_udev_rule() {
local _drv _cu_type _dev_type local _drv _cu_type _dev_type
local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules
@ -27,7 +27,7 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
if [ -e /sys/bus/ccw/devices/${ccw} ] ; then if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -29,10 +33,6 @@ @@ -31,10 +35,6 @@ create_udev_rule() {
esac esac
[ -z "${_drv}" ] && return 0 [ -z "${_drv}" ] && return 0
@ -38,3 +38,17 @@ Index: dracut-041/modules.d/95dasd_rules/parse-dasd.sh
[ -e ${_rule} ] && return 0 [ -e ${_rule} ] && return 0
cat > $_rule <<EOF cat > $_rule <<EOF
@@ -72,8 +72,10 @@ done
for dasd_arg in $(getargs rd.dasd=); do
(
+ local OLDIFS="$IFS"
local IFS=","
set -- $dasd_arg
+ IFS="$OLDIFS"
while (($# > 0)); do
case $1 in
autodetect|probeonly)
--
1.8.4.5

Some files were not shown because too many files have changed in this diff Show More