Accepting request 235703 from home:trenn:branches:Base:System

- Update to latest git HEAD: commit 0fa5dbedc5b222435f51f7460a81232ee120c4e1
  Tue May 20 13:23
  Modified dracut_v37_to_HEAD.patch
  Modified mdraid-setup.patch
  Modified dracut-install-persistent-rule.patch
- Add /etc/dracut.d.conf/01-dist modifications to file instead of writing
  to it via rpm build section
  Add 0033-dracut_hostonly_hostonly_cmdline_default.patch
  Add 0034-suse.conf.example_extend.patch
- Cleanup mkinitrd-suse.sh:
    * Remove hostonly and hostonly-cmdline -> this is done via 01-dist config
      file now
- Always add network module based on modules_setup.sh check() function and not
  via 01-dist config file
  Add 0035-always_add_network.patch
- Add find to debug binaries - Useful and harmless
  Add 0036-add_extra_debug_binaries.patch
- Fix adding of network modules for s390 (bnc#879302)
  Add 0037-fix_s390_network_modules_install.patch
- Omit resume module on s390(x) - There is no suspend on s390
  Add 0039-s390_no_resume_module.patch
- Do not wait for swap - This causes trouble with Rudi's autobuild images:
  Add 0038-remove_waiting_for_swap_dev.patch
- Fcoe and ibft fixes (bnc#879038):
  Add 0041-only_enable_network_if_explicitly_requested.patch
  Add 0042-ibft_autoconfig_param.patch
  Add 0043-fcoe_strip_quotes.patch
- Print message when starting to update bootloader
  Add 0044-Add_update_bootloader_msg.patch
- ToDo: Pass hostonly variable earlier so that is always avail in check()

OBS-URL: https://build.opensuse.org/request/show/235703
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=151
This commit is contained in:
Thomas Renninger 2014-05-28 16:30:59 +00:00 committed by Git OBS Bridge
parent 3e1a05be91
commit 46c37d057a
21 changed files with 667 additions and 61 deletions

View File

@ -39,7 +39,7 @@ Index: dracut-037/dracut.sh
--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;;
@@ -880,6 +886,13 @@ if (( ${#add_drivers_l[@]} )); then
@@ -887,6 +893,13 @@ if (( ${#add_drivers_l[@]} )); then
fi
add_drivers=${add_drivers/-/_}
@ -53,7 +53,7 @@ Index: dracut-037/dracut.sh
if (( ${#omit_drivers_l[@]} )); then
while pop omit_drivers_l val; do
omit_drivers+=" $val "
@@ -896,6 +909,7 @@ fi
@@ -903,6 +916,7 @@ fi
omit_drivers_corrected=""
for d in $omit_drivers; do
[[ " $drivers $add_drivers " == *\ $d\ * ]] && continue
@ -61,7 +61,7 @@ Index: dracut-037/dracut.sh
omit_drivers_corrected+="$d|"
done
omit_drivers="${omit_drivers_corrected%|}"
@@ -1287,6 +1301,13 @@ if [[ $no_kernel != yes ]]; then
@@ -1295,6 +1309,13 @@ if [[ $no_kernel != yes ]]; then
if [[ $add_drivers ]]; then
hostonly='' instmods -c $add_drivers
fi

View File

@ -1,3 +1,9 @@
dracut: Cleanup mkinitrd-suse.sh - We always pass --force
and no-hostonly is only passed if -A mkinitrd param has been passed.
Signed-off-by: Thomas Renninger <trenn@suse.de>
--- a/mkinitrd-suse.sh 2014-05-15 15:54:28.000000000 +0200
+++ b/mkinitrd-suse.sh 2014-05-15 15:57:38.609899222 +0200
@@ -23,7 +23,6 @@

View File

@ -1,31 +0,0 @@
From 967db9acce1546753d47aff0815f2961291134f1 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Tue, 20 May 2014 10:18:12 +0200
Subject: [PATCH] 98systemd: fixup rootfs-generator installation path
The rootfs-generator was installed in the wrong path
in the initrd, cause it never to be run.
References: bnc#878714
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/98systemd/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
index e14ce39..4516b9a 100755
--- a/modules.d/98systemd/module-setup.sh
+++ b/modules.d/98systemd/module-setup.sh
@@ -192,7 +192,7 @@ install() {
inst_script "$moddir/dracut-mount.sh" /bin/dracut-mount
inst_script "$moddir/dracut-pre-pivot.sh" /bin/dracut-pre-pivot
- inst_script "$moddir/rootfs-generator.sh" /lib/systemd/system-generators/dracut-rootfs-generator
+ inst_script "$moddir/rootfs-generator.sh" $systemdutildir/system-generators/dracut-rootfs-generator
inst_binary true
ln_r $(type -P true) "/usr/bin/loginctl"
--
1.8.5.2

View File

@ -0,0 +1,65 @@
--- 0033-dracut_hostonly_hostonly_cmdline_default.patch/mkinitrd-suse.sh 2014-05-20 12:49:39.000000000 +0200
+++ mkinitrd-suse.sh 2014-05-20 17:23:04.000000000 +0200
@@ -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 @@
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 @@
[[ $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 @@
[[ $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 @@
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

View File

@ -0,0 +1,23 @@
dracut: Enhance suse.conf.example SUSE dist specific dracut configuration file
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/dracut.conf.d/suse.conf.example
===================================================================
--- dracut-037.orig/dracut.conf.d/suse.conf.example
+++ dracut-037/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"

View File

@ -0,0 +1,17 @@
dracut: Always add the network module
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/modules.d/40network/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/40network/module-setup.sh
+++ dracut-037/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

View File

@ -0,0 +1,18 @@
dracut: Add find to debug binaries
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/modules.d/95debug/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/95debug/module-setup.sh
+++ dracut-037/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
-
}

View File

@ -0,0 +1,16 @@
dracut: Fix missing _arch variable declaration in 40network modules-setup.sh
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/modules.d/40network/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/40network/module-setup.sh
+++ dracut-037/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'

View File

@ -0,0 +1,51 @@
dracut: Do not wait for swap device
also not in hostonly mode.
There should be no difference between hostonly and no-hostonly mode.
Systemd should take care to bring up the swap device whenever it is
accessable.
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/dracut.sh
===================================================================
--- dracut-037.orig/dracut.sh
+++ dracut-037/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"

View File

@ -0,0 +1,21 @@
dracut: Do not add resume module on s390(x) arch
s390(x) kernels do not support suspend, no need to add this module.
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/modules.d/95resume/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/95resume/module-setup.sh
+++ dracut-037/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

View File

@ -0,0 +1,26 @@
dracut: Only add fcoe module in hostonly mode if there are active fcoe devices
This also avoids unnecessary warnings from require_binary checks.
In hostonly mode fcoe is not needed at all if there are no active fcoe
devices. So silently omit this module in this case.
Signed-off-by: Thomas Renninger <trenn@suse.de>
Index: dracut-037/modules.d/95fcoe/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/95fcoe/module-setup.sh
+++ dracut-037/modules.d/95fcoe/module-setup.sh
@@ -43,6 +43,13 @@ cmdline() {
# called by dracut
check() {
+ # Only add in hostonly mode if fcoe devices exist
+ if [[ $hostonly ]]; then
+ ls /sys/bus/fcoe/devices/ctlr_* >/dev/null 2>&1
+ if [ $? -ne 0 ];then
+ return 255
+ fi
+ fi
require_binaries dcbtool fipvlan lldpad ip readlink || return 1
return 0
}

View File

@ -0,0 +1,29 @@
commit bb15f5443c3e3bf4d27f68a28aed54f4112ee5d2
Author: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.de>
Date: Tue May 27 11:48:43 2014 +0200
40network: Only enable network interfaces if explicitly requested
Currently all available network interfaces are started whenever
40network is pulled in. This causes massive delays during bootup.
This patch modifies the behaviour to start interfaces only if
rd.neednet is specified.
References: bnc#879038
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.de>
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index 6ec9239..2fd8c6b 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -97,8 +97,8 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
else
cond='ACTION=="add", SUBSYSTEM=="net"'
# 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
if [ "$NEEDNET" = "1" ]; then
+ echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh
fi
fi

View File

@ -0,0 +1,35 @@
commit 9e62c7dda6ed5a0a40aed6c228c9b88c61431586
Author: Hannes Reinecke <hare@suse.de>
Date: Tue May 27 12:07:35 2014 +0200
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>
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

View File

@ -0,0 +1,39 @@
commit 7d3142ce831420b957841ebe045f7b0018759d5b
Author: Hannes Reinecke <hare@suse.de>
Date: Tue May 27 13:30:17 2014 +0200
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>
Index: dracut-037/modules.d/95iscsi/parse-iscsiroot.sh
===================================================================
--- dracut-037.orig/modules.d/95iscsi/parse-iscsiroot.sh
+++ dracut-037/modules.d/95iscsi/parse-iscsiroot.sh
@@ -69,8 +69,8 @@ fi
# iscsi_firmware does not need argument checking
if [ -n "$iscsi_firmware" ] ; then
- netroot=${netroot:-iscsi:}
- initqueue --onetime --timeout "/sbin/iscsiroot dummy '$netroot' '$NEWROOT'"
+ [ -z "$netroot" ] && netroot=iscsi:
+ initqueue --onetime --timeout /sbin/iscsiroot dummy "$netroot" "$NEWROOT"
fi
# If it's not iscsi we don't continue
@@ -94,7 +94,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

View File

@ -0,0 +1,11 @@
Index: dracut-037/mkinitrd-suse.sh
===================================================================
--- dracut-037.orig/mkinitrd-suse.sh
+++ dracut-037/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

View File

@ -0,0 +1,23 @@
dracut: Always add chgrp to initrd
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>
Index: dracut-037/modules.d/99base/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/99base/module-setup.sh
+++ dracut-037/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 chgrp \
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
inst $(command -v modprobe) /sbin/modprobe

View File

@ -12,18 +12,15 @@ 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 2d36712..f02b59e 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
Index: dracut-037/modules.d/95udev-rules/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/95udev-rules/module-setup.sh
+++ dracut-037/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 \
"$moddir/59-persistent-storage.rules" \
--
1.8.1.4

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Wed May 28 15:54:26 UTC 2014 - trenn@suse.de
- Update to latest git HEAD: commit 0fa5dbedc5b222435f51f7460a81232ee120c4e1
Tue May 20 13:23
Modified dracut_v37_to_HEAD.patch
Modified mdraid-setup.patch
Modified dracut-install-persistent-rule.patch
- Add /etc/dracut.d.conf/01-dist modifications to file instead of writing
to it via rpm build section
Add 0033-dracut_hostonly_hostonly_cmdline_default.patch
Add 0034-suse.conf.example_extend.patch
- Cleanup mkinitrd-suse.sh:
* Remove hostonly and hostonly-cmdline -> this is done via 01-dist config
file now
- Always add network module based on modules_setup.sh check() function and not
via 01-dist config file
Add 0035-always_add_network.patch
- Add find to debug binaries - Useful and harmless
Add 0036-add_extra_debug_binaries.patch
- Fix adding of network modules for s390 (bnc#879302)
Add 0037-fix_s390_network_modules_install.patch
- Omit resume module on s390(x) - There is no suspend on s390
Add 0039-s390_no_resume_module.patch
- Do not wait for swap - This causes trouble with Rudi's autobuild images:
Add 0038-remove_waiting_for_swap_dev.patch
- Fcoe and ibft fixes (bnc#879038):
Add 0041-only_enable_network_if_explicitly_requested.patch
Add 0042-ibft_autoconfig_param.patch
Add 0043-fcoe_strip_quotes.patch
- Print message when starting to update bootloader
Add 0044-Add_update_bootloader_msg.patch
- ToDo: Pass hostonly variable earlier so that is always avail in check()
function. Still already add:
Add 0040-fcoe_fix_check_function.patch
- Add chown to initrd (bnc#879767)
Add 0045-add-chown_binary.patch
- Use parallel pixz instead of xz binary to compress the initrd
-------------------------------------------------------------------
Tue May 20 08:59:51 UTC 2014 - trenn@suse.de

View File

@ -66,7 +66,18 @@ Patch41: 0028-95fcoe-update-fcoe-interface-check.patch
Patch42: 0029-95fcoe-start-lldpad-separately.patch
Patch43: 0030-dracut-mkinitd_cleanup_force_host_only_var.patch
Patch44: 0031-95fcoe-skip-VLAN-devices-in-fcoe-up.patch
Patch45: 0032-98systemd-fixup-rootfs-generator-installation-path.patch
Patch46: 0033-dracut_hostonly_hostonly_cmdline_default.patch
Patch47: 0034-suse.conf.example_extend.patch
Patch48: 0035-always_add_network.patch
Patch49: 0036-add_extra_debug_binaries.patch
Patch50: 0037-fix_s390_network_modules_install.patch
Patch51: 0038-remove_waiting_for_swap_dev.patch
Patch52: 0039-s390_no_resume_module.patch
Patch54: 0041-only_enable_network_if_explicitly_requested.patch
Patch55: 0042-ibft_autoconfig_param.patch
Patch56: 0043-fcoe_strip_quotes.patch
Patch57: 0044-Add_update_bootloader_msg.patch
Patch58: 0045-add-chown_binary.patch
BuildRequires: asciidoc
BuildRequires: bash
@ -89,7 +100,7 @@ Requires: systemd >= 200
Requires: systemd-sysvinit
Requires: udev > 166
Requires: util-linux >= 2.21
Requires: xz
Requires: pixz
Recommends: binutils
Recommends: logrotate
Obsoletes: mkinitrd < 2.8.2
@ -148,7 +159,18 @@ and its cryptography during startup.
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch58 -p1
%build
%configure\
@ -186,11 +208,6 @@ mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/dracut.log
install -m 0644 dracut.conf.d/suse.conf.example %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo '### Generated File - Please do not edit, create a new config file instead ###' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo 'add_dracutmodules+=" network "' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo 'compress="xz --check=crc32 -6"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo 'hostonly="yes"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo 'hostonly_cmdline="yes"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
install -m 0644 dracut.conf.d/fips.conf.example %{buildroot}%{_sysconfdir}/dracut.conf.d/40-fips.conf

View File

@ -1,5 +1,10 @@
HEAD is:
commit 0fa5dbedc5b222435f51f7460a81232ee120c4e1
Date: Tue May 20 13:23:43 2014 +0200
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 391b549..c758029 100755
index 391b549..ac22b7e 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -33,7 +33,11 @@ if [[ $initdir ]] && ! [[ -d $initdir ]]; then
@ -15,6 +20,24 @@ index 391b549..c758029 100755
# helper function for check() in module-setup.sh
# to check for required installed binaries
@@ -49,7 +53,7 @@ require_binaries() {
for cmd in "$@"; do
if ! find_binary "$cmd" &>/dev/null; then
- dinfo "$_module_name: Could not find command '$cmd'!"
+ dinfo "dracut module '${_module_name#[0-9][0-9]}' will not be installed, because command '$cmd' could not be found!"
((_ret++))
fi
done
@@ -221,7 +225,7 @@ print_vars() {
for _var in "$@"
do
- eval printf -v _value "%s" "\$$_var"
+ eval printf -v _value "%s" \""\$$_var"\"
[[ ${_value} ]] && printf '%s="%s"\n' "$_var" "$_value"
done
}
diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
index f29c814..0dd1938 100644
--- a/dracut-initramfs-restore.sh
@ -45,6 +68,32 @@ index f29c814..0dd1938 100644
rm -f -- .need_shutdown
else
# something failed, so we clean up
diff --git a/dracut.sh b/dracut.sh
index c1ef474..c4163bc 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -834,6 +834,13 @@ trap 'exit 1;' SIGINT
export DRACUT_KERNEL_LAZY="1"
export DRACUT_RESOLVE_LAZY="1"
+if [[ $print_cmdline ]]; then
+ stdloglvl=0
+ sysloglvl=0
+ fileloglvl=0
+ kmsgloglvl=0
+fi
+
if [[ -f $dracutbasedir/dracut-functions.sh ]]; then
. $dracutbasedir/dracut-functions.sh
else
@@ -907,6 +914,7 @@ for ((i=0; i < ${#dracut_args[@]}; i++)); do
dracut_args[$i]="\"${dracut_args[$i]}\""
#" keep vim happy
done
+
dinfo "Executing: $0 ${dracut_args[@]}"
[[ $do_list = yes ]] && {
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 8dc9032..a697bc2 100755
--- a/lsinitrd.sh
@ -219,10 +268,19 @@ index 7430e4c..a82f1a8 100755
+ return 0
+}
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index e2fa485..5de2e90 100755
index e2fa485..6756c3f 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -85,7 +85,7 @@ for netup in /tmp/net.*.did-setup ; do
@@ -3,6 +3,8 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
# NFS root might have reached here before /tmp/net.ifaces was written
+type is_persistent_ethernet_name >/dev/null 2>&1 || . /lib/net-lib.sh
+
udevadm settle --timeout=30
if [ -e /tmp/bridge.info ]; then
@@ -85,7 +87,7 @@ for netup in /tmp/net.*.did-setup ; do
netif=${netup%%.did-setup}
netif=${netif##*/net.}
@ -231,16 +289,18 @@ index e2fa485..5de2e90 100755
[ -e /tmp/ifcfg/ifcfg-$netif ] && continue
unset bridge
unset bond
@@ -122,7 +122,7 @@ for netup in /tmp/net.*.did-setup ; do
@@ -120,9 +122,9 @@ for netup in /tmp/net.*.did-setup ; do
echo "ONBOOT=yes"
echo "NETBOOT=yes"
echo "UUID=\"$uuid\""
+ strstr "$(ip -6 addr show dev $netif)" 'inet6' && echo "IPV6INIT=yes"
if [ -f /tmp/dhclient.$netif.lease ]; then
[ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
- strstr "$ip" '*:*:*' && echo "IPV6INIT=yes"
+ strstr "$(ip -6 addr show dev $netif)" 'inet6' && echo "IPV6INIT=yes"
if [ -f /tmp/net.$netif.has_ibft_config ]; then
echo "BOOTPROTO=ibft"
else
@@ -132,7 +132,7 @@ for netup in /tmp/net.*.did-setup ; do
@@ -132,7 +134,7 @@ for netup in /tmp/net.*.did-setup ; do
else
# If we've booted with static ip= lines, the override file is there
[ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
@ -249,7 +309,7 @@ index e2fa485..5de2e90 100755
echo "IPV6INIT=yes"
echo "IPV6_AUTOCONF=no"
echo "IPV6ADDR=\"$ip/$mask\""
@@ -149,7 +149,7 @@ for netup in /tmp/net.*.did-setup ; do
@@ -149,7 +151,7 @@ for netup in /tmp/net.*.did-setup ; do
fi
fi
fi
@ -258,7 +318,7 @@ index e2fa485..5de2e90 100755
echo "IPV6_DEFAULTGW=\"$gw\""
elif [ -n "$gw" ]; then
echo "GATEWAY=\"$gw\""
@@ -164,7 +164,13 @@ for netup in /tmp/net.*.did-setup ; do
@@ -164,7 +166,13 @@ for netup in /tmp/net.*.did-setup ; do
{
[ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
if ! print_s390 $netif; then
@ -299,6 +359,18 @@ index b361650..926340e 100755
if [ "$ipv6" ] && ! str_starts "$IPADDR" "["; then
IPADDR="[$IPADDR]"
diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh
index 36955bc..c9e1331 100755
--- a/modules.d/80cms/cmssetup.sh
+++ b/modules.d/80cms/cmssetup.sh
@@ -144,6 +144,7 @@ function dasd_settle_all() {
processcmsfile()
{
source /tmp/cms.conf
+ SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
if [[ $NETTYPE ]]; then
(
diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
index 829c24b..2367588 100755
--- a/modules.d/90dm/module-setup.sh
@ -326,6 +398,32 @@ index 93a452e..5b810b9 100755
sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index ac745d1..81c94f2 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -54,6 +54,8 @@ cmdline() {
done
)
+ [[ -z "$UUID" ]] && continue
+
if ! [[ ${_activated[${UUID}]} ]]; then
printf "%s" " rd.md.uuid=${UUID}"
_activated["${UUID}"]=1
diff --git a/modules.d/95fcoe-uefi/parse-uefifcoe.sh b/modules.d/95fcoe-uefi/parse-uefifcoe.sh
index 0799cdd..7b8f1a6 100755
--- a/modules.d/95fcoe-uefi/parse-uefifcoe.sh
+++ b/modules.d/95fcoe-uefi/parse-uefifcoe.sh
@@ -26,7 +26,7 @@ print_fcoe_uefi_conf()
esac
fi
# fcoe=eth0:nodcb
- printf "%s\n" "$dev:nodcb"
+ printf "fcoe=%s\n" "$dev:nodcb"
return 0
}
diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
index 80894ed..fa3af6d 100755
--- a/modules.d/95fcoe/fcoe-genrules.sh
@ -411,6 +509,21 @@ index 12711a0..a237810 100755
# prefer $NEWROOT/etc/fstab.sys over local /etc/fstab.sys
if [ -f $NEWROOT/etc/fstab.sys ]; then
diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh
index 32f346d..8bfbebc 100755
--- a/modules.d/95nbd/nbdroot.sh
+++ b/modules.d/95nbd/nbdroot.sh
@@ -111,6 +111,10 @@ if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then
fi
fi
+if strstr "$(nbd-client --help 2>&1)" "systemd-mark"; then
+ preopts="--systemd-mark $preopts"
+fi
+
nbd-client $preopts "$nbdserver" $nbdport /dev/nbd0 $opts || exit 1
# NBD doesn't emit uevents when it gets connected, so kick it
diff --git a/modules.d/95nfs/nfs-lib.sh b/modules.d/95nfs/nfs-lib.sh
index 9ced2e6..d5377fe 100755
--- a/modules.d/95nfs/nfs-lib.sh
@ -424,6 +537,56 @@ index 9ced2e6..d5377fe 100755
server="${arg%%:/*}"
arg="/${arg##*:/}"
fi
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
index ceb7855..b1b4684 100755
--- a/modules.d/95resume/module-setup.sh
+++ b/modules.d/95resume/module-setup.sh
@@ -17,12 +17,12 @@ check() {
# called by dracut
cmdline() {
- local _activated
- declare -A _activated
+ local _resume
for dev in "${!host_fs_types[@]}"; do
[[ ${host_fs_types[$dev]} =~ ^(swap|swsuspend|swsupend)$ ]] || continue
- printf "resume=%s " "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")"
+ _resume=$(shorten_persistent_dev "$(get_persistent_dev "$dev")")
+ [[ -n ${_resume} ]] && printf " resume=%s" "${_resume}"
done
}
diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh
index d7b2d7f..6ab59c3 100755
--- a/modules.d/95resume/parse-resume.sh
+++ b/modules.d/95resume/parse-resume.sh
@@ -70,9 +70,10 @@ if ! getarg noresume; then
printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm -f -- "$job" "%s/initqueue/timeout/resume.sh"; }\n' \
"$resume" "$resume" "$hookdir" >> $hookdir/initqueue/settled/resume.sh
- printf -- "%s" 'warn "Cancelling resume operation. Device not found.";'
- printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' \
- "$hookdir" >> $hookdir/initqueue/timeout/resume.sh
+ {
+ printf -- "%s" 'warn "Cancelling resume operation. Device not found.";'
+ printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' "$hookdir"
+ } >> $hookdir/initqueue/timeout/resume.sh
mv /lib/dracut/resume.sh /lib/dracut/hooks/pre-mount/10-resume.sh
else
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 2d36712..fab4ffc 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -32,6 +32,7 @@ install() {
60-pcmcia.rules \
50-udev.rules 95-late.rules \
50-firmware.rules \
+ 59-scsi-sg3_utils.rules \
75-net-description.rules \
80-net-name-slot.rules 80-net-setup-link.rules \
"$moddir/59-persistent-storage.rules" \
diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service
index 03dcc4e..1b9e701 100644
--- a/modules.d/98systemd/dracut-initqueue.service
@ -437,8 +600,21 @@ index 03dcc4e..1b9e701 100644
After=systemd-udev-trigger.service
Wants=systemd-udev-trigger.service
ConditionPathExists=/etc/initrd-release
diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
index 6db1f2c..d7c7b1d 100644
--- a/modules.d/98systemd/dracut-pre-pivot.service
+++ b/modules.d/98systemd/dracut-pre-pivot.service
@@ -13,6 +13,8 @@ Documentation=man:dracut-pre-pivot.service(8)
After=initrd.target initrd-parse-etc.service sysroot.mount
After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service
Before=initrd-cleanup.service
+Wants=remote-fs.target
+After=remote-fs.target
ConditionPathExists=/etc/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cleanup
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
index c72aad4..e7bf73b 100755
index c72aad4..cf1b2e7 100755
--- a/modules.d/98systemd/module-setup.sh
+++ b/modules.d/98systemd/module-setup.sh
@@ -44,6 +44,7 @@ install() {
@ -449,8 +625,17 @@ index c72aad4..e7bf73b 100755
\
$systemdsystemunitdir/cryptsetup.target \
$systemdsystemunitdir/emergency.target \
@@ -191,7 +192,7 @@ install() {
inst_script "$moddir/dracut-mount.sh" /bin/dracut-mount
inst_script "$moddir/dracut-pre-pivot.sh" /bin/dracut-pre-pivot
- inst_script "$moddir/rootfs-generator.sh" /lib/systemd/system-generators/dracut-rootfs-generator
+ inst_script "$moddir/rootfs-generator.sh" $systemdutildir/system-generators/dracut-rootfs-generator
inst_binary true
ln_r $(type -P true) "/usr/bin/loginctl"
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index e4d7da8..127287c 100755
index e4d7da8..33f7678 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -20,19 +20,33 @@ debug_on() {
@ -514,6 +699,25 @@ index e4d7da8..127287c 100755
server="${arg%%:/*}"
arg="/${arg##*:/}"
fi
@@ -969,6 +983,7 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
local _cmd
local _exe
local _rl
+ local _ret=1
local i
_cmd="$1"
[ -z "$_cmd" ] && return 1
@@ -983,8 +998,9 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
fi
i=${i%/exe}
echo ${i##/proc/}
+ _ret=0
done
- return 0
+ return $_ret
}
fi
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index 2364f4f..a1232eb 100755
--- a/modules.d/99base/init.sh

View File

@ -17,7 +17,7 @@ Index: dracut-037/modules.d/90mdraid/module-setup.sh
===================================================================
--- dracut-037.orig/modules.d/90mdraid/module-setup.sh
+++ dracut-037/modules.d/90mdraid/module-setup.sh
@@ -86,7 +86,7 @@ install() {
@@ -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 \