Accepting request 208892 from home:hreinecke:branches:Base:System

- Update with patches from git repository:
   * kernel-modules: add ohci-pci to the list of forced module installs
   * Run 'xz' and 'lzma' with multiple threads
   * systemd: do not exit the initqueue, if systemd asks a password
   * iscsi,nbd: do not fail in hostonly mode
   * dracut-functions.sh: Avoid loading unnecessary 32-bit libraries
     for 64-bit initrds
   * fips: also install /etc/system-fips in the initramfs
   * dracut.modules.7.asc: removed empty section
   * dracut.sh: fixed PATH shortener
   * dracut.spec: move /sbin/dracut to /usr/sbin/dracut
   * iscsi/nbd: do not try to mount the whole disk, if root= is missing
   * fips: include crct10dif_generic
   * Handle crypto modules with and without modaliases
   * usrmount/module-setup.sh: fixed typo
   * lvm: always install thin utils for lvm
   * kernel-modules(ARM): add mmc_block usb_storage to static list of
     kernel mods
   * dracut-functions.sh:check_block_and_slaves*() skip LVM internal devs
   * mkdir basic dirs in /run
   * network/fcoe: only redirect output to loginit.pipe, if exists
   * dracut.sh: no need to make subdirs in run
   * dracut.sh: also mkdir /run/lock, which is copied to
   * lvm: fix thin recognition
   * Add lzo, lz4 compression and read INITRD_COMPRESS
   * remove resume-genrules.sh
   * resume: fix swap detection in hostonly
   * base/init.sh: also mkdir /run/lock
   * dmsquash-live: add /dev/mapper/live-base
   * Doc: cleanup, extend and split and reuse

OBS-URL: https://build.opensuse.org/request/show/208892
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=82
This commit is contained in:
Raymond Wooninck 2013-11-29 12:27:47 +00:00 committed by Git OBS Bridge
parent 16512ff621
commit c0e1df1a13
25 changed files with 6935 additions and 339 deletions

View File

@ -0,0 +1,37 @@
From 0c3400336c7916819fd24b8081e24098880ef244 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 11:51:30 +0100
Subject: [PATCH] 95dasd: Install kernel modules only once
Move kernel module selection to 95dasd_mod and make 95dasd depend
on that module.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95dasd/module-setup.sh | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh
index 861df29..16207bc 100755
--- a/modules.d/95dasd/module-setup.sh
+++ b/modules.d/95dasd/module-setup.sh
@@ -11,15 +11,11 @@ check() {
# called by dracut
depends() {
+ echo "dasd_mod"
return 0
}
# called by dracut
-installkernel() {
- instmods dasd_mod dasd_eckd_mod dasd_fba_mod dasd_diag_mod
-}
-
-# called by dracut
install() {
inst_hook cmdline 30 "$moddir/parse-dasd.sh"
inst_multiple dasdinfo dasdconf.sh normalize_dasd_arg
--
1.8.1.4

View File

@ -0,0 +1,28 @@
From 3d10724ecd78a62ec8c987c97f9b5f4236c681a4 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 11:53:09 +0100
Subject: [PATCH] 95dasd: Only install module if normalize_dasd_arg is present
normalize_dasd_arg is a RedHat specific script, so no point
installing this module if the script isn't present.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95dasd/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh
index 16207bc..9c93d40 100755
--- a/modules.d/95dasd/module-setup.sh
+++ b/modules.d/95dasd/module-setup.sh
@@ -5,6 +5,7 @@
# called by dracut
check() {
local _arch=$(uname -m)
+ [ -x /sbin/normalize_dasd_arg ] || return 1
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
return 0
}
--
1.8.1.4

View File

@ -0,0 +1,41 @@
From 7d00da419fcbdb8736cbbe7caf13209589b43d9c Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 12:33:57 +0100
Subject: [PATCH] 95dasd_mod: make dasd_cio_free optional
dasd_cio_free is a RedHat-specific tool, so make it optional.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95dasd_mod/module-setup.sh | 3 ++-
modules.d/95dasd_mod/parse-dasd-mod.sh | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/modules.d/95dasd_mod/module-setup.sh b/modules.d/95dasd_mod/module-setup.sh
index 011010d..8fde525 100755
--- a/modules.d/95dasd_mod/module-setup.sh
+++ b/modules.d/95dasd_mod/module-setup.sh
@@ -23,6 +23,7 @@ installkernel() {
# called by dracut
install() {
inst_hook cmdline 31 "$moddir/parse-dasd-mod.sh"
- inst_multiple dasd_cio_free grep sed seq
+ inst_multiple grep sed seq
+ inst_multiple -o dasd_cio_free
}
diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh
index 87c88ed..0236d12 100755
--- a/modules.d/95dasd_mod/parse-dasd-mod.sh
+++ b/modules.d/95dasd_mod/parse-dasd-mod.sh
@@ -15,4 +15,6 @@ if [ -n "$mod_args" ]; then
fi
unset dasd_arg
-dasd_cio_free
+if [ -x /sbin/dasd_cio_free ] ; then
+ dasd_cio_free
+fi
--
1.8.1.4

View File

@ -0,0 +1,38 @@
From f0c233bc4396d3e47a8e660d2d27d78bd32762d7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 11:58:31 +0100
Subject: [PATCH] 95zfcp: Make installation optional
zfcp_cio_free is a RedHat-specific tool, so do not install this
module if the program isn't present.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95zfcp/module-setup.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh
index 5d9b506..dfbeed5 100755
--- a/modules.d/95zfcp/module-setup.sh
+++ b/modules.d/95zfcp/module-setup.sh
@@ -5,6 +5,7 @@
# called by dracut
check() {
arch=$(uname -m)
+ [ -x /sbin/zfcp_cio_free ] || return 1
[ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
return 0
@@ -12,9 +13,6 @@ check() {
# called by dracut
depends() {
- arch=$(uname -m)
- [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
-
return 0
}
--
1.8.1.4

View File

@ -0,0 +1,28 @@
From 8a7276ae8aae5694c40d977580c7db6c5c47a81a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 12:00:14 +0100
Subject: [PATCH] 95znet: Make installation optional
znet_cio_free is a RedHat-specific tool, so do not install this
module on systems where the program is missing.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95znet/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh
index 4c211a9..5012b77 100755
--- a/modules.d/95znet/module-setup.sh
+++ b/modules.d/95znet/module-setup.sh
@@ -5,6 +5,7 @@
# called by dracut
check() {
arch=$(uname -m)
+ [ -z /sbin/znet_cio_free ] || return 1
[ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
return 0
--
1.8.1.4

View File

@ -0,0 +1,25 @@
From 9e87dcb25f82122be3ee16ca8f3c198dd3d02d77 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 27 Nov 2013 14:35:19 +0100
Subject: [PATCH] Install /bin/mount
systemd relies on /bin/mount to be present, so install it.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/99fs-lib/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
index 7979bab..b24207d 100755
--- a/modules.d/99fs-lib/module-setup.sh
+++ b/modules.d/99fs-lib/module-setup.sh
@@ -85,4 +85,5 @@ install() {
fi
inst_multiple -o $_helpers fsck
+ inst /usr/bin/mount /bin/mount
}
--
1.8.1.4

View File

@ -0,0 +1,29 @@
From 4b40f3a3361d5267d9987c57945ef006e90e964d Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 27 Nov 2013 14:42:24 +0100
Subject: [PATCH] Fixup keymap setting for openSUSE
openSUSE is using compressed keymaps.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/10i18n/module-setup.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index 0741c64..f07b148 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -161,6 +161,9 @@ install() {
# Gentoo user may have KEYMAP set to something like "-u pl2",
KEYMAP=${KEYMAP#-* }
+ # openSUSE user may have KEYMAP set to something like ".gz"
+ KEYMAP=${KEYMAP/.gz/}
+
# KEYTABLE is a bit special - it defines base keymap name and UNICODE
# determines whether non-UNICODE or UNICODE version is used
--
1.8.1.4

View File

@ -0,0 +1,155 @@
From 60265e04911e2cfb980d048e378fb2e510b8370d Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 12:23:44 +0100
Subject: [PATCH] Add DASD configuration for SuSE
On SuSE the DASD configuration is kept in udev rules, one rule
file per device. So add a new module for copying and creating
these rules during boot.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut-functions.sh | 28 +++++++++++++++++
modules.d/95dasd_rules/module-setup.sh | 27 ++++++++++++++++
modules.d/95dasd_rules/parse-dasd.sh | 56 ++++++++++++++++++++++++++++++++++
3 files changed, 111 insertions(+)
create mode 100755 modules.d/95dasd_rules/module-setup.sh
create mode 100755 modules.d/95dasd_rules/parse-dasd.sh
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 2872516..0337c13 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -899,6 +899,34 @@ inst_rules() {
done
}
+inst_rules_wildcard() {
+ local _target=/etc/udev/rules.d _rule _found
+
+ inst_dir "${udevdir}/rules.d"
+ inst_dir "$_target"
+ for _rule in ${udevdir}/rules.d/$1 ${dracutbasedir}/rules.d/$1 ; do
+ if [[ -e $_rule ]]; then
+ inst_rule_programs "$_rule"
+ inst_rule_group_owner "$_rule"
+ inst_rule_initqueue "$_rule"
+ inst_simple "$_rule"
+ _found=$_rule
+ fi
+ done
+ if [ -n ${hostonly} ] ; then
+ for _rule in ${_target}/$1 ; do
+ if [[ -f $_rule ]]; then
+ inst_rule_programs "$_rule"
+ inst_rule_group_owner "$_rule"
+ inst_rule_initqueue "$_rule"
+ inst_simple "$_rule"
+ _found=$_rule
+ fi
+ done
+ fi
+ [[ $_found ]] || dinfo "Skipping udev rule: $_rule"
+}
+
prepare_udev_rules() {
[ -z "$UDEVVERSION" ] && export UDEVVERSION=$(udevadm --version)
diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
new file mode 100755
index 0000000..d313171
--- /dev/null
+++ b/modules.d/95dasd_rules/module-setup.sh
@@ -0,0 +1,27 @@
+#!/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
+check() {
+ local _arch=$(uname -m)
+ [ -x /sbin/dasd_configure ] || return 1
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
+ return 0
+}
+
+# called by dracut
+depends() {
+ echo 'dasd_mod'
+ return 0
+}
+
+# called by dracut
+install() {
+ inst_multiple /usr/lib/udev/collect
+ inst_hook cmdline 30 "$moddir/parse-dasd.sh"
+ if [[ $hostonly ]] ; then
+ inst_rules_wildcard 51-dasd-*.rules
+ fi
+ inst_rules 59-dasd.rules
+}
diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
new file mode 100755
index 0000000..9389c44
--- /dev/null
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+create_udev_rule() {
+ local ccw=$1
+ local _drv _cu_type _dev_type
+ local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules
+
+ if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
+ read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
+ read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
+ fi
+ case "$_cu_type" in
+ 3990/*|2105/*|2107/*|1750/*|9343/*)
+ _drv=dasd-eckd
+ ;;
+ 6310/*)
+ _drv=dasd-fba
+ ;;
+ 3880/*)
+ case "$_dev_type" in
+ 3380/*)
+ _drv=dasd_eckd
+ ;;
+ 3370/*)
+ _drv=dasd-fba
+ ;;
+ esac
+ ;;
+ esac
+ [ -z "${_drv}" ] && return 0
+
+ [ -e ${_rule} ] && return 0
+
+ cat > $_rule <<EOF
+ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", 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"
+EOF
+}
+
+for dasd_arg in $(getargs root=) $(getargs resume=); do
+ (
+ case $dasd_arg in
+ /dev/disk/by-path/ccw-*)
+ ccw_arg=${dasd_arg##*/}
+ break;
+ esac
+ if [ -n "$ccw_arg" ] ; then
+ IFS="-"
+ set -- $ccw_arg
+ create_udev_rule $2
+ fi
+ )
+done
--
1.8.1.4

View File

@ -0,0 +1,121 @@
From f6ed21cbdd3f5a34ed094c38a81faad1e8f6fdbb Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 21 Nov 2013 13:47:17 +0100
Subject: [PATCH] Add zfcp scripts for SUSE
SuSE is storing the zfcp configuration in udev files, so we should
be including these.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95zfcp_rules/module-setup.sh | 25 +++++++++++++
modules.d/95zfcp_rules/parse-zfcp.sh | 65 ++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+)
create mode 100755 modules.d/95zfcp_rules/module-setup.sh
create mode 100755 modules.d/95zfcp_rules/parse-zfcp.sh
diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
new file mode 100755
index 0000000..9a1ab20
--- /dev/null
+++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -0,0 +1,25 @@
+#!/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
+check() {
+ local _arch=$(uname -m)
+ [ -x /sbin/zfcp_disk_configure ] || return 1
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
+ return 0
+}
+
+# called by dracut
+depends() {
+ return 0
+}
+
+# called by dracut
+install() {
+ inst_multiple /usr/lib/udev/collect
+ inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
+ if [[ $hostonly ]] ; then
+ inst_rules_wildcard 51-zfcp-*.rules
+ fi
+}
diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
new file mode 100755
index 0000000..24dbdd3
--- /dev/null
+++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+create_udev_rule() {
+ local ccw=$1
+ local wwpn=$2
+ local lun=$3
+ local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
+
+ local _cu_type _dev_type
+ local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
+
+ if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
+ read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
+ read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
+ fi
+ if [ "$_cu_type" != "1731/03" ] ; then
+ return 0;
+ fi
+ if [ "$_dev_type" != "1732/03" ] && [ "$_dev_type" != "1732/04" ] ; then
+ return 0;
+ fi
+
+ [ -e ${_rule} ] && return 0
+
+ if [ ! -f "$_rule" ] ; then
+ cat > $_rule <<EOF
+ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %k ${ccw} zfcp"
+ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", IMPORT{program}="collect $ccw %k ${ccw} zfcp"
+ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
+EOF
+ fi
+ m=$(sed -n "/.*${wwpn}.*${lun}.*/p" $_rule)
+ if [ -z "$m" ] ; then
+ cat >> $_rule <<EOF
+ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun"
+EOF
+ fi
+}
+
+for zfcp_arg in $(getargs rd.zfcp); do
+ (
+ IFS=","
+ set $zfcp_arg
+ create_udev_rule $1 $2 $3
+ )
+done
+
+for zfcp_arg in $(getargs root=) $(getargs resume=); do
+ (
+ case $zfcp_arg in
+ /dev/disk/by-path/ccw-*)
+ ccw_arg=${zfcp_arg##*/}
+ break;
+ esac
+ if [ -n "$ccw_arg" ] ; then
+ IFS="-"
+ set -- $ccw_arg
+ wwpn=${4%:*}
+ lun=${4#*:}
+ create_udev_rule $2 $wwpn $lun
+ fi
+ )
+done
--
1.8.1.4

View File

@ -0,0 +1,70 @@
From bd9556ea50348e21d59e022433df05fe35ddfc14 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 28 Nov 2013 13:21:30 +0100
Subject: [PATCH] Make logfile configurable
Add '--logfile' option to make the log file configurable during
runtime.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.8.asc | 6 ++++++
dracut.sh | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/dracut.8.asc b/dracut.8.asc
index 2ea6744..d381dcf 100644
--- a/dracut.8.asc
+++ b/dracut.8.asc
@@ -275,6 +275,12 @@ Default:
**--sshkey** _<sshkey file>_:: ssh key file used with ssh-client module.
+**--logfile** _<logfile>_:: logfile to use; overrides any setting from
+ the configuration files.
++
+Default:
+ _/var/log/dracut.log_
+
**-l, --local**::
activates the local mode. dracut will use modules from the current working
directory instead of the system-wide installed modules in
diff --git a/dracut.sh b/dracut.sh
index bce2662..5f63d94 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -183,6 +183,7 @@ Creates initial ramdisk images for preloading modules
--keep Keep the temporary initramfs for debugging purposes
--printsize Print out the module install size
--sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module)
+ --logfile [FILE] Logfile to use (overrides configuration setting)
If [LIST] has multiple arguments, then you have to put these in quotes.
@@ -335,6 +336,7 @@ TEMP=$(unset POSIXLY_CORRECT; getopt \
--long debug \
--long profile \
--long sshkey: \
+ --long logfile: \
--long verbose \
--long quiet \
--long local \
@@ -418,6 +420,7 @@ while :; do
--debug) debug="yes";;
--profile) profile="yes";;
--sshkey) sshkey="$2"; shift;;
+ --logfile) logfile_l="$2"; shift;;
-v|--verbose) ((verbosity_mod_l++));;
-q|--quiet) ((verbosity_mod_l--));;
-l|--local)
@@ -690,6 +693,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $ro_mnt_l ]] && ro_mnt="yes"
[[ $early_microcode_l ]] && early_microcode=$early_microcode_l
[[ $early_microcode ]] || early_microcode=no
+[[ $logfile_l ]] && logfile="$logfile_l"
# eliminate IFS hackery when messing with fw_dir
fw_dir=${fw_dir//:/ }
--
1.8.1.4

View File

@ -0,0 +1,378 @@
From 48b0614371e7fabee84a45132771b9427091efa9 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 28 Nov 2013 10:53:57 +0100
Subject: [PATCH] mkinitrd-suse: Add SUSE compability wrapper for dracut
SUSE has its own mkinitrd system. As the arguments clash
with the dracut-provided mkinitrd script I've added a new
mkinitrd-suse.sh wrapper.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
mkinitrd-suse.sh | 354 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 354 insertions(+)
create mode 100755 mkinitrd-suse.sh
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
new file mode 100755
index 0000000..d20270a
--- /dev/null
+++ b/mkinitrd-suse.sh
@@ -0,0 +1,354 @@
+#!/bin/bash --norc
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+#
+# mkinitrd compability wrapper for SUSE.
+#
+# Copyright (c) 2013 SUSE Linux Products GmbH. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+boot_dir="/boot"
+quiet=0
+host_only=1
+force=0
+logfile=/var/log/YaST2/mkinitrd.log
+dracut_cmd=dracut
+
+error() { echo "$@" >&2; }
+
+usage () {
+ [[ $1 = '-n' ]] && cmd=echo || cmd=error
+
+ $cmd "usage: ${0##*/} [options]"
+ $cmd ""
+ $cmd " Create initial ramdisk images that contain all kernel modules needed"
+ $cmd " in the early boot process, before the root file system becomes"
+ $cmd " available."
+ $cmd " This usually includes SCSI and/or RAID modules, a file system module"
+ $cmd " for the root file system, or a network interface driver module for dhcp."
+ $cmd ""
+ $cmd " options:"
+ $cmd " -f \"feature list\" Features to be enabled when generating initrd."
+ $cmd " Available features are:"
+ $cmd " iscsi, md, multipath, lvm, lvm2,"
+ $cmd " ifup, fcoe, dcbd"
+ $cmd " -k \"kernel list\" List of kernel images for which initrd files are"
+ $cmd " created. Defaults to all kernels found in /boot."
+ $cmd " -i \"initrd list\" List of file names for the initrd; position have"
+ $cmd " match to \"kernel list\". Defaults to all kernels"
+ $cmd " found in /boot."
+ $cmd " -b boot_dir Boot directory. Defaults to /boot."
+ $cmd " -t tmp_dir Temporary directory. Defaults to /var/tmp."
+ $cmd " -M map System.map file to use."
+ $cmd " -A Create a so called \"monster initrd\" which"
+ $cmd " includes all features and modules possible."
+ $cmd " -B Do not update bootloader configuration."
+ $cmd " -v Verbose mode."
+ $cmd " -L Disable logging."
+ $cmd " -h This help screen."
+ $cmd " -m \"module list\" Modules to include in initrd. Defaults to the"
+ $cmd " INITRD_MODULES variable in /etc/sysconfig/kernel"
+ $cmd " -u \"DomU module list\" Modules to include in initrd. Defaults to the"
+ $cmd " DOMU_INITRD_MODULES variable in"
+ $cmd " /etc/sysconfig/kernel."
+ $cmd " -d root_device Root device. Defaults to the device from"
+ $cmd " which / is mounted. Overrides the rootdev"
+ $cmd " enviroment variable if set."
+ $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 " -s size Add splash animation and bootscreen to initrd."
+
+ [[ $1 = '-n' ]] && exit 0
+ exit 1
+}
+
+# Little helper function for reading args from the commandline.
+# it automatically handles -a b and -a=b variants, and returns 1 if
+# we need to shift $3.
+read_arg() {
+ # $1 = arg name
+ # $2 = arg value
+ # $3 = arg parameter
+ param="$1"
+ local rematch='^[^=]*=(.*)$' result
+ if [[ $2 =~ $rematch ]]; then
+ read "$param" <<< "${BASH_REMATCH[1]}"
+ else
+ for ((i=3; $i <= $#; i++)); do
+ # Only read next arg if it not an arg itself.
+ if [[ ${@:$i:1} = -* ]];then
+ break
+ fi
+ result="$result ${@:$i:1}"
+ # There is no way to shift our callers args, so
+ # return "no of args" to indicate they should do it instead.
+ done
+ read "$1" <<< "$result"
+ return $(($i - 3))
+ fi
+}
+
+# Helper functions to calculate ipconfig command line
+calc_netmask() {
+ local prefix=$1
+
+ [ -z "$prefix" ] && return
+ mask=$(echo "(2 ^ 32) - (2 ^ $prefix)" | bc -l)
+ byte1=$(( mask >> 24 ))
+ byte2=$(( mask >> 16 ))
+ byte3=$(( mask >> 8 ))
+ byte4=$(( mask & 0xff ))
+ netmask=$(printf "%d.%d.%d.%d" $(( byte1 & 0xff )) $(( byte2 & 0xff )) $(( byte3 & 0xff )) $byte4);
+
+ echo $netmask
+}
+
+ipconfig() {
+ local interface=$1
+ local iplink macaddr broadcast gateway ipaddr prefix netmask
+
+ iplink=$(ip addr show dev $interface | sed -n 's/ *inet \(.*\) brd.*/\1/p')
+ macaddr=$(ip addr show dev $interface | sed -n 's/.*ether \(.*\) brd.*/\1/p')
+ broadcast=$(ip addr show dev $interface | sed -n 's/.*brd \(.*\) scope.*/\1/p')
+ gateway=$(ip route show dev $interface | sed -n 's/default via \([0-9\.]*\).*/\1/p')
+
+ ipaddr=${iplink%%/*}
+ prefix=${iplink##*/}
+ netmask=$(calc_netmask $prefix)
+
+ echo "${ipaddr}:${serveraddr}:${gateway}:${netmask}:${hostname}:${interface}:none::${macaddr}"
+}
+
+is_xen_kernel() {
+ local kversion=$1
+ local root_dir=$2
+ local cfg
+
+ for cfg in ${root_dir}/boot/config-$kversion $root_dir/lib/modules/$kversion/build/.config
+ do
+ test -r $cfg || continue
+ grep -q "^CONFIG_XEN=y\$" $cfg
+ return
+ done
+ test $kversion != "${kversion%-xen*}"
+ return
+}
+
+
+# Taken over from SUSE mkinitrd
+default_kernel_images() {
+ local regex kernel_image kernel_version version_version initrd_image
+ local qf='%{NAME}-%{VERSION}-%{RELEASE}\n'
+
+ case "$(uname -m)" in
+ s390|s390x)
+ regex='image'
+ ;;
+ ppc|ppc64)
+ regex='vmlinux'
+ ;;
+ i386|x86_64)
+ regex='vmlinuz'
+ ;;
+ arm*)
+ regex='[uz]Image'
+ ;;
+ aarch64)
+ regex='Image'
+ ;;
+ *) regex='vmlinu.'
+ ;;
+ esac
+
+ kernel_images=""
+ initrd_images=""
+ for kernel_image in $(ls $boot_dir \
+ | sed -ne "\|^$regex\(-[0-9.]\+-[0-9]\+-[a-z0-9]\+$\)\?|p" \
+ | grep -v kdump$ ) ; do
+
+ # Note that we cannot check the RPM database here -- this
+ # script is itself called from within the binary kernel
+ # packages, and rpm does not allow recursive calls.
+
+ [ -L "$boot_dir/$kernel_image" ] && continue
+ [ "${kernel_image%%.gz}" != "$kernel_image" ] && continue
+ kernel_version=$(/usr/bin/get_kernel_version \
+ $boot_dir/$kernel_image 2> /dev/null)
+ initrd_image=$(echo $kernel_image | sed -e "s|${regex}|initrd|")
+ if [ "$kernel_image" != "$initrd_image" -a \
+ -n "$kernel_version" -a \
+ -d "/lib/modules/$kernel_version" ]; then
+ kernel_images="$kernel_images $boot_dir/$kernel_image"
+ initrd_images="$initrd_images $boot_dir/$initrd_image"
+ fi
+ done
+ for kernel_image in $kernel_images;do
+ kernels="$kernels ${kernel_image#*-}"
+ done
+ for initrd_image in $initrd_images;do
+ targets="$targets $initrd_image"
+ done
+ host_only=1
+ force=1
+}
+
+while (($# > 0)); do
+ case ${1%%=*} in
+ -f) read_arg feature_list "$@" || shift $?
+ # Could be several features
+ ;;
+ -k) # Would be nice to get a list of images here
+ read_arg kernel_images "$@" || shift $?
+ 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
+ # Check if the initrd_image contains a path.
+ # if not, then add the default boot_dir
+ dname=`dirname $initrd_image`
+ if [ "$dname" == "." ]; then
+ targets="$targets $boot_dir/$initrd_image";
+ else
+ targets="$targets $initrd_image";
+ fi
+ done
+ ;;
+ -b) read_arg boot_dir "$@" || shift $?
+ if [ ! -d $boot_dir ];then
+ error "Boot directory $boot_dir does not exist"
+ exit 1
+ fi
+ ;;
+ -t) read_arg tmp_dir "$@" || shift $?
+ dracut_args="${dracut_args} --tmpdir $tmp_dir"
+ ;;
+ -M) read_arg map_file "$@" || shift $?
+ ;;
+ -A) host_only=0;;
+ -B) skip_update_bootloader=1;;
+ -v|--verbose) dracut_args="${dracut_args} -v";;
+ -L) logfile=;;
+ -h|--help) usage -n;;
+ -m) read_arg module_list "$@" || shift $? ;;
+ -u) read_arg domu_module_list "$@" || shift $?
+ echo "mkinitrd: DomU modules not yet supported" ;;
+ -d) read_arg rootfs "$@" || shift $?
+ dracut_args="${dracut_args} --filesystems $rootfs" ;;
+ -D) read_arg dhcp_if "$@" || shift $?
+ dracut_cmdline="${dracut_cmdline} ip=${dhcp_if}:dhcp"
+ ;;
+ -I) read_arg static_if "$@" || shift $?
+ dracut_cmdline="${dracut_cmdline} ip=$(ipconfig $static_if)":
+ ;;
+ -a) read_arg acpi_dsdt "$@" || shift $?
+ echo "mkinitrd: custom DSDT not yet supported"
+ exit 1
+ ;;
+ -s) read_arg boot_splash "$@" || shift $?
+ echo "mkinitrd: boot splash not yet supported"
+ exit 1
+ ;;
+ -V) echo "mkinitrd: vendor scipts are no longer supported"
+ exit 1;;
+ --dracut)
+ read_arg dracut_cmd "$@" || shift $? ;;
+ --version|-R)
+ echo "mkinitrd: dracut compatibility wrapper"
+ exit 0;;
+ --force) force=1;;
+ --quiet|-q) quiet=1;;
+ *) if [[ ! $targets ]]; then
+ targets=$1
+ elif [[ ! $kernels ]]; then
+ kernels=$1
+ else
+ usage
+ fi;;
+ esac
+ shift
+done
+
+[[ $targets && $kernels ]] || default_kernel_images
+[[ $targets && $kernels ]] || (error "No kernel found in $boot_dir" && usage)
+
+# We can have several targets/kernels, transform the list to an array
+targets=( $targets )
+[[ $kernels ]] && kernels=( $kernels )
+
+[[ $logfile ]] && dracut_args="${dracut_args} --logfile $logfile"
+[[ $host_only == 1 ]] && dracut_args="${dracut_args} --hostonly"
+[[ $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
+
+# Update defaults from /etc/sysconfig/kernel
+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}"
+
+echo "Creating: target|kernel|dracut args|basicmodules "
+for ((i=0 ; $i<${#targets[@]} ; i++)); do
+
+ if [[ $img_vers ]];then
+ target="${targets[$i]}-${kernels[$i]}"
+ else
+ target="${targets[$i]}"
+ fi
+ kernel="${kernels[$i]}"
+
+ # 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
+ $dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null
+ 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
+ $dracut_cmd $dracut_args "$target" "$kernel"
+ fi
+ fi
+done
+
+if [ "$skip_update_bootloader" ] ; then
+ echo 2>&1 "Did not refresh the bootloader. You might need to refresh it manually."
+else
+ update-bootloader --refresh
+fi
--
1.8.1.4

View File

@ -0,0 +1,139 @@
From ed220c000020db2d883e798cbfa51e80e289b218 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 29 Nov 2013 08:01:34 +0100
Subject: [PATCH] mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
Makefile | 1 +
mkinitrd-suse.8.asc | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+)
create mode 100644 mkinitrd-suse.8.asc
diff --git a/Makefile b/Makefile
index e7da948..ba551cf 100644
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,7 @@ man7pages = dracut.cmdline.7 \
man8pages = dracut.8 \
dracut-catimages.8 \
mkinitrd.8 \
+ mkinitrd-suse.8 \
modules.d/98systemd/dracut-cmdline.service.8 \
modules.d/98systemd/dracut-initqueue.service.8 \
modules.d/98systemd/dracut-mount.service.8 \
diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
new file mode 100644
index 0000000..9eb8fc9
--- /dev/null
+++ b/mkinitrd-suse.8.asc
@@ -0,0 +1,106 @@
+MKINITRD(8)
+===========
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+mkinitrd-suse - is a compat wrapper, which calls dracut to generate an initramfs
+
+SYNOPSIS
+--------
+*mkinitrd* ['OPTION...']
+
+DESCRIPTION
+-----------
+*mkinitrd* creates an initramfs image <initrd-image> for the kernel with
+version <kernel-version> by calling *dracut*.
+
+[IMPORTANT]
+This version of mkinitrd is provided for compability with older
+versions of mkinitrd. If a more fine grained control over the
+resulting image is needed, *dracut* should be called directly.
+
+OPTIONS
+-------
+**-R, --version**::
+ print info about the version
+
+**-k** _<kernel_list>_::
+ List of kernel images for which initrd files are created (relative
+ to _boot_dir_), defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x
+ and _vmlinuz_ for everything else.
+
+**-i** _<initrd_list>_::
+ List of file names (relative to _boot_dir_) for the initrd; positions
+ have to match the _kernel_list_. Defaults to _initrd_.
+
+**-m** _<module_list>_::
+ Modules to include in initrd, defaults to _INITRD_MODULES_ variable
+ in */etc/sysconfig/kernel*.
+
+**-f** _<feature_list>_::
+ Features to be enabled for the initrd. In general mkinitrd
+ configures the initrd for the root device it is started from. With
+ this option additional feature can be enabled.
+
+**-b** _<bootdir>_::
+ Boot directory, defaults to */boot*, where the initrd is created.
+
+**-d** _<root_device>_::
+ Root device, defaults to the device from which the root_dir is
+ mounted; overwrites the rootdev enviroment variable if set
+
+**-s** _<size>_::
+ Add splash animation and bootscreen to initrd.
+
+**-D** _<interface>::
+ Run dhcp on the specified interface (for example "eth0").
+
+**-I** _<interface>::
+ Configure the specified interface statically.
+
+**-a** _<acpi_dsdt>::
+ Attach compiled ACPI DSDT (Differentiated System Description Table)
+ to initrd. This replaces the DSDT of the BIOS. Defaults to the
+ _ACPI_DSDT_ variable in */etc/sysconfig/kernel*.
+
+**-M** _<map>::
+ System.map file to use.
+
+**-B**::
+ Dont run the *update-bootloader(8)* script after the initrd(s) have
+ been created. This is useful if you call mkinitrd(8) for anything
+ else than the running system.
+
+**-A**::
+ Create a so called "monster initrd" which includes all available
+ features and modules.
+
+**-v, --verbose**::
+ increase verbosity level
+
+**-L**::
+ 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.
+
+AVAILABILITY
+------------
+The mkinitrd command is part of the dracut package and is available from
+link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org]
+
+AUTHORS
+-------
+Harald Hoyer, Hannes Reinecke
+
+SEE ALSO
+--------
+*dracut*(8)
+*update-bootloader*(8)
--
1.8.1.4

View File

@ -0,0 +1,58 @@
From 16b73ffc6f9c67800811f39641c484123d2a159a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 28 Nov 2013 10:07:59 +0100
Subject: [PATCH] Correct paths for openSUSE
openSUSE has things stored in different places, so fixup the
paths here.
Signed-off-by: Christian Rodrigues <crrodriguez@opensuse.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut.sh | 2 +-
modules.d/10i18n/module-setup.sh | 2 ++
modules.d/98systemd/rescue.service | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 5f63d94..8680874 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -683,7 +683,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
+[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware /lib/firmware/$kernel"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
[[ $INITRD_COMPRESS ]] && compress=$INITRD_COMPRESS
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index f07b148..3854a38 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -102,6 +102,8 @@ install() {
install_base() {
inst_multiple setfont loadkeys kbd_mode stty
+ inst /usr/bin/setfont /bin/setfont
+ inst /usr/bin/loadkeys /bin/loadkeys
if ! dracut_module_included "systemd"; then
inst ${moddir}/console_init.sh /lib/udev/console_init
diff --git a/modules.d/98systemd/rescue.service b/modules.d/98systemd/rescue.service
index edc2461..d80900f 100644
--- a/modules.d/98systemd/rescue.service
+++ b/modules.d/98systemd/rescue.service
@@ -16,7 +16,7 @@ Environment=HOME=/
Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot
WorkingDirectory=/
-ExecStartPre=-/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth quit
ExecStart=-/bin/sh -i -l
ExecStopPost=-/bin/rm -f -- /.console_lock
ExecStopPost=-/usr/bin/systemctl --fail --no-block default
--
1.8.1.4

View File

@ -0,0 +1,45 @@
From cc0ec0cdcef806efe2315931ba4705fb35b82c6a 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 1360924..7ccf9e4 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,49 @@
From 96a44d8e982838a01e3d8f2a62941a9af0952b95 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 29 Nov 2013 11:36:02 +0100
Subject: [PATCH] Fixup script permissions
Scripts with a shebang should be marked as executable.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/03modsign/load-modsign-keys.sh | 0
modules.d/03modsign/module-setup.sh | 0
modules.d/40network/net-lib.sh | 0
modules.d/40network/parse-vlan.sh | 0
modules.d/50drm/module-setup.sh | 0
modules.d/91crypt-loop/crypt-loop-lib.sh | 0
modules.d/98pollcdrom/pollcdrom.sh | 0
7 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 modules.d/03modsign/load-modsign-keys.sh
mode change 100644 => 100755 modules.d/03modsign/module-setup.sh
mode change 100644 => 100755 modules.d/40network/net-lib.sh
mode change 100644 => 100755 modules.d/40network/parse-vlan.sh
mode change 100644 => 100755 modules.d/50drm/module-setup.sh
mode change 100644 => 100755 modules.d/91crypt-loop/crypt-loop-lib.sh
mode change 100644 => 100755 modules.d/98pollcdrom/pollcdrom.sh
diff --git a/modules.d/03modsign/load-modsign-keys.sh b/modules.d/03modsign/load-modsign-keys.sh
old mode 100644
new mode 100755
diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
old mode 100644
new mode 100755
diff --git a/modules.d/40network/parse-vlan.sh b/modules.d/40network/parse-vlan.sh
old mode 100644
new mode 100755
diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91crypt-loop/crypt-loop-lib.sh b/modules.d/91crypt-loop/crypt-loop-lib.sh
old mode 100644
new mode 100755
diff --git a/modules.d/98pollcdrom/pollcdrom.sh b/modules.d/98pollcdrom/pollcdrom.sh
old mode 100644
new mode 100755
--
1.8.1.4

View File

@ -0,0 +1,37 @@
From d29f993d5a4205f918c5fefb7e03dabc1062e11b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 29 Nov 2013 12:46:24 +0100
Subject: [PATCH] Remove shebang from shell-completion files
Shell-completion files are meant to be sourced, not executed.
So they shouldn't have a shebang at the start.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
dracut-bash-completion.sh | 2 +-
lsinitrd-bash-completion.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut-bash-completion.sh b/dracut-bash-completion.sh
index d796c35..9f359c6 100644
--- a/dracut-bash-completion.sh
+++ b/dracut-bash-completion.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
#
diff --git a/lsinitrd-bash-completion.sh b/lsinitrd-bash-completion.sh
index 78ab165..3df2965 100644
--- a/lsinitrd-bash-completion.sh
+++ b/lsinitrd-bash-completion.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
#
--
1.8.1.4

View File

@ -1,81 +0,0 @@
--- dracut-034.orig/dracut.sh
+++ dracut-034/dracut.sh
@@ -669,7 +669,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
+[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware /lib/firmware/$kernel"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
[[ $compress_l ]] && compress=$compress_l
--- dracut-034.orig/modules.d/10i18n/module-setup.sh
+++ dracut-034/modules.d/10i18n/module-setup.sh
@@ -99,6 +99,8 @@ install() {
install_base() {
inst_multiple setfont loadkeys kbd_mode stty
+ inst /usr/bin/setfont /bin/setfont
+ inst /usr/bin/loadkeys /bin/loadkeys
if ! dracut_module_included "systemd"; then
inst ${moddir}/console_init.sh /lib/udev/console_init
--- dracut-034.orig/modules.d/50plymouth/module-setup.sh
+++ dracut-034/modules.d/50plymouth/module-setup.sh
@@ -12,12 +12,12 @@ depends() {
}
install() {
- if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \
- || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
+ if grep -q nash /usr/lib/plymouth/plymouth-populate-initrd \
+ || [ ! -x /usr/lib/plymouth/plymouth-populate-initrd ]; then
. "$moddir"/plymouth-populate-initrd.sh
else
PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \
- /usr/libexec/plymouth/plymouth-populate-initrd -t "$initdir"
+ /usr/lib/plymouth/plymouth-populate-initrd -t "$initdir"
fi
inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
--- dracut-034.orig/modules.d/90kernel-modules/module-setup.sh
+++ dracut-034/modules.d/90kernel-modules/module-setup.sh
@@ -74,7 +74,7 @@ installkernel() {
}
install() {
- inst_multiple -o /lib/modprobe.d/*.conf
+ inst_multiple -o /etc/modprobe.d/*.conf
[[ $hostonly ]] && inst_multiple -o /etc/modprobe.d/*.conf /etc/modprobe.conf
if ! dracut_module_included "systemd"; then
inst_hook cmdline 01 "$moddir/parse-kernel.sh"
--- dracut-034.orig/modules.d/95udev-rules/module-setup.sh
+++ dracut-034/modules.d/95udev-rules/module-setup.sh
@@ -11,6 +11,8 @@ install() {
inst_multiple udevadm cat uname blkid \
/etc/udev/udev.conf
+ inst /usr/sbin/blkid /sbin/blkid
+
[ -d ${initdir}/$systemdutildir ] || mkdir -p ${initdir}/$systemdutildir
for _i in ${systemdutildir}/systemd-udevd ${udevdir}/udevd /sbin/udevd; do
[ -x "$_i" ] || continue
--- dracut-034.orig/modules.d/98systemd/rescue.service
+++ dracut-034/modules.d/98systemd/rescue.service
@@ -16,7 +16,7 @@ Environment=HOME=/
Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot
WorkingDirectory=/
-ExecStartPre=-/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth quit
ExecStart=-/bin/sh -i -l
ExecStopPost=-/bin/rm -f -- /.console_lock
ExecStopPost=-/usr/bin/systemctl --fail --no-block default
--- dracut-034.orig/modules.d/99fs-lib/module-setup.sh
+++ dracut-034/modules.d/99fs-lib/module-setup.sh
@@ -81,4 +81,5 @@ install() {
fi
inst_multiple -o $_helpers fsck
+ inst /usr/bin/mount /bin/mount
}

5557
dracut-git-update.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Thu Nov 28 09:56:36 CET 2013 - hare@suse.de
- Update with patches from git repository:
* kernel-modules: add ohci-pci to the list of forced module installs
* Run 'xz' and 'lzma' with multiple threads
* systemd: do not exit the initqueue, if systemd asks a password
* iscsi,nbd: do not fail in hostonly mode
* dracut-functions.sh: Avoid loading unnecessary 32-bit libraries
for 64-bit initrds
* fips: also install /etc/system-fips in the initramfs
* dracut.modules.7.asc: removed empty section
* dracut.sh: fixed PATH shortener
* dracut.spec: move /sbin/dracut to /usr/sbin/dracut
* iscsi/nbd: do not try to mount the whole disk, if root= is missing
* fips: include crct10dif_generic
* Handle crypto modules with and without modaliases
* usrmount/module-setup.sh: fixed typo
* lvm: always install thin utils for lvm
* kernel-modules(ARM): add mmc_block usb_storage to static list of
kernel mods
* dracut-functions.sh:check_block_and_slaves*() skip LVM internal devs
* mkdir basic dirs in /run
* network/fcoe: only redirect output to loginit.pipe, if exists
* dracut.sh: no need to make subdirs in run
* dracut.sh: also mkdir /run/lock, which is copied to
* lvm: fix thin recognition
* Add lzo, lz4 compression and read INITRD_COMPRESS
* remove resume-genrules.sh
* resume: fix swap detection in hostonly
* base/init.sh: also mkdir /run/lock
* dmsquash-live: add /dev/mapper/live-base
* Doc: cleanup, extend and split and reuse
* dracut.sh: do not bail out, if kernel modules dir is missing
* 10i18n/parse-i18n.sh: parse rd.vconsole and rd.locale
* */module-setup.sh: add comments for dracut called functions
* lvm: install thin utils for non-hostonly
- Patches for S/390 support
* 95dasd: Install kernel modules only once
* 95dasd: Only install module if normalize_dasd_arg is present
* 95dasd_mod: make dasd_cio_free optional
* 95zfcp: Make installation optional
* 95znet: Make installation optional
* Install /bin/mount
* Fixup keymap setting for openSUSE
* Add DASD configuration for SuSE
* Add zfcp scripts for SUSE
* Make logfile configurable
* Add SUSE compability wrapper for dracut
* Add manpage for SUSE compat mkinitrd
* Work around xsltproc bug
* Correct paths for openSUSE
* Check for plymouth lib directories
- Drop obsolete patches
- Install mkinitrd-suse
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Oct 21 00:13:48 UTC 2013 - hrvoje.senjan@gmail.com Mon Oct 21 00:13:48 UTC 2013 - hrvoje.senjan@gmail.com

View File

@ -28,29 +28,35 @@ Summary: Initramfs generator using udev
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: System/Base Group: System/Base
Url: https://dracut.wiki.kernel.org/ Url: https://dracut.wiki.kernel.org/
# Source can be generated by Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
Source0: dracut-%{version}.tar.xz
# openSUSE / SLE module to convert initrd command line parameters to dracut one # openSUSE / SLE module to convert initrd command line parameters to dracut one
# (not to be upstreamed) # (not to be upstreamed)
Source1: module-setup-initrd.sh Source1: module-setup-initrd.sh
Source2: parse-suse-initrd.sh Source2: parse-suse-initrd.sh
Source3: mkinitrd_setup_dummy Source3: mkinitrd_setup_dummy
# PATCH-FIX-OPENSUSE correct the paths for openSUSE - tittiatcoke@gmail.com
Patch0: correct-paths-for-opensuse.patch Patch0: dracut-git-update.patch
# PATCH-FIX-OPENSUSE change the default naming from initramfs to initrd - tittiatcoke@gmail.com # S/390 fixes, send to upstream
Patch1: use_initrd_insteadof_initramfs.patch Patch1: 0001-95dasd-Install-kernel-modules-only-once.patch
# PATCH-FIX-OPENSUSE Strip the gz extension from the keymap mentioned in /etc/sysconfig/keyboard - tittiatcoke@gmail.com Patch2: 0002-95dasd-Only-install-module-if-normalize_dasd_arg-is-.patch
Patch2: use_sysconfig_values_correctly.patch Patch3: 0003-95dasd_mod-make-dasd_cio_free-optional.patch
# PATCH-FIX-OPENSUSE Write caller and used parameters to syslog if mkinitrd is called - trenn@suse.de Patch4: 0004-95zfcp-Make-installation-optional.patch
Patch4: suse_only_logger.patch Patch5: 0005-95znet-Make-installation-optional.patch
# PATCH-FIX-OPENSUSE Call the update-bootloader after dracut finished creating the initrd - tittiatcoke@gmail.com Patch6: 0006-Install-bin-mount.patch
Patch5: mkinitrd_update_bootloader.diff Patch7: 0007-Fixup-keymap-setting-for-openSUSE.patch
# PATCH-FIX-OPENSUSE Validate the initrd parameter first, before just blindly add the boot_dir parameter in front of it Patch8: 0008-Add-DASD-configuration-for-SuSE.patch
Patch6: mkinitrd-fix-boot-dir-detection.patch Patch9: 0009-Add-zfcp-scripts-for-SUSE.patch
Patch10: 0010-Make-logfile-configurable.patch
Patch11: 0011-mkinitrd-suse-Add-SUSE-compability-wrapper-for-dracu.patch
Patch12: 0012-mkinitrd-suse.8.asc-Add-manpage-for-SUSE-compat-mkin.patch
# SUSE specific patches
Patch20: 0013-Correct-paths-for-openSUSE.patch
Patch21: 0014-Check-for-plymouth-lib-directories.patch
Patch22: 0015-Fixup-script-permissions.patch
Patch23: 0016-Remove-shebang-from-shell-completion-files.patch
BuildRequires: bash BuildRequires: bash
BuildRequires: dash
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -78,6 +84,7 @@ Requires: udev > 166
Requires: util-linux >= 2.21 Requires: util-linux >= 2.21
Requires: xz Requires: xz
Recommends: binutils Recommends: binutils
Recommends: logrotate
Requires: pigz Requires: pigz
%{?systemd_requires} %{?systemd_requires}
@ -123,9 +130,20 @@ This package contains tools to assemble the local initrd and host configuration.
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1 %patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%build %build
%configure\ %configure\
@ -137,13 +155,13 @@ make all -e CFLAGS="%{optflags}" %{?_smp_mflags}
%install %install
make %{?_smp_mflags} install DESTDIR=%{buildroot} make %{?_smp_mflags} install DESTDIR=%{buildroot}
echo "DRACUT_VERSION=%{version}-%{release}" > %{buildroot}/%{dracutlibdir}/dracut-version.sh echo -e "#!/bin/bash\nDRACUT_VERSION=%{version}-%{release}" > %{buildroot}/%{dracutlibdir}/dracut-version.sh
rm -fr %{buildroot}%{dracutlibdir}/modules.d/01fips rm -fr %{buildroot}%{dracutlibdir}/modules.d/01fips
rm -fr %{buildroot}%{dracutlibdir}/modules.d/02fips-aesni rm -fr %{buildroot}%{dracutlibdir}/modules.d/02fips-aesni
# we do not support dash in the initramfs # we do not support dash in the initramfs
# rm -fr %{buildroot}/%{dracutlibdir}/modules.d/00dash rm -fr %{buildroot}/%{dracutlibdir}/modules.d/00dash
# add suse cmline conversion # add suse cmline conversion
mkdir -p %{buildroot}%{dracutlibdir}/modules.d/99suse mkdir -p %{buildroot}%{dracutlibdir}/modules.d/99suse
@ -165,7 +183,6 @@ mkdir -p %{buildroot}/boot/dracut
mkdir -p %{buildroot}%{_localstatedir}/lib/dracut/overlay mkdir -p %{buildroot}%{_localstatedir}/lib/dracut/overlay
mkdir -p %{buildroot}%{_localstatedir}/log mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/dracut.log touch %{buildroot}%{_localstatedir}/log/dracut.log
#mkdir -p %{buildroot}%{_localstatedir}/initramfs
install -m 0644 dracut.conf.d/suse.conf.example %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf install -m 0644 dracut.conf.d/suse.conf.example %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
echo 'add_drivers+="autofs4"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf echo 'add_drivers+="autofs4"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf
@ -173,16 +190,17 @@ echo 'add_drivers+="autofs4"' >> %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dis
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
echo 'early_microcode="yes"' > %{buildroot}%{_sysconfdir}/dracut.conf.d/02-early-microcode.conf echo 'early_microcode="yes"' > %{buildroot}%{_sysconfdir}/dracut.conf.d/02-early-microcode.conf
%endif %endif
rm %{buildroot}%{_bindir}/mkinitrd
%if !%{replace_mkinitrd} %if !%{replace_mkinitrd}
rm %{buildroot}/etc/bash_completion.d/lsinitrd rm %{buildroot}/etc/bash_completion.d/lsinitrd
rm %{buildroot}%{_bindir}/mkinitrd
rm %{buildroot}%{_bindir}/lsinitrd rm %{buildroot}%{_bindir}/lsinitrd
rm %{buildroot}%{_mandir}/man8/mkinitrd* rm %{buildroot}%{_mandir}/man8/mkinitrd*
rm %{buildroot}%{_mandir}/man1/lsinitrd* rm %{buildroot}%{_mandir}/man1/lsinitrd*
%else %else
# moved to /sbin # moved to /sbin
mkdir -p %{buildroot}/sbin mkdir -p %{buildroot}/sbin
mv %{buildroot}%{_bindir}/mkinitrd %{buildroot}/sbin/mkinitrd install -m 0755 mkinitrd-suse.sh %{buildroot}/sbin/mkinitrd
mv %{buildroot}%{_mandir}/man8/mkinitrd-suse.8 %{buildroot}%{_mandir}/man8/mkinitrd.8
install -m 0755 %{S:3} %{buildroot}/sbin/mkinitrd_setup install -m 0755 %{S:3} %{buildroot}/sbin/mkinitrd_setup
%endif %endif
@ -200,7 +218,7 @@ rm -rf %{buildroot}
/sbin/mkinitrd /sbin/mkinitrd
/sbin/mkinitrd_setup /sbin/mkinitrd_setup
%{_bindir}/lsinitrd %{_bindir}/lsinitrd
/etc/bash_completion.d/lsinitrd %config /etc/bash_completion.d/lsinitrd
%endif %endif
%dir %{dracutlibdir} %dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d %dir %{dracutlibdir}/modules.d
@ -226,6 +244,7 @@ rm -rf %{buildroot}
%{_mandir}/man7/dracut.kernel.7* %{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7* %{_mandir}/man7/dracut.cmdline.7*
%{_mandir}/man7/dracut.bootup.7* %{_mandir}/man7/dracut.bootup.7*
%{_mandir}/man7/dracut.modules.7*
%{_mandir}/man8/dracut-cmdline.service.8* %{_mandir}/man8/dracut-cmdline.service.8*
%{_mandir}/man8/dracut-initqueue.service.8* %{_mandir}/man8/dracut-initqueue.service.8*
%{_mandir}/man8/dracut-pre-pivot.service.8* %{_mandir}/man8/dracut-pre-pivot.service.8*
@ -244,7 +263,6 @@ rm -rf %{buildroot}
%{dracutlibdir}/modules.d/00systemd-bootchart/module-setup.sh %{dracutlibdir}/modules.d/00systemd-bootchart/module-setup.sh
%{dracutlibdir}/modules.d/03rescue/module-setup.sh %{dracutlibdir}/modules.d/03rescue/module-setup.sh
%{dracutlibdir}/modules.d/00bootchart %{dracutlibdir}/modules.d/00bootchart
%{dracutlibdir}/modules.d/00dash
%{dracutlibdir}/modules.d/04watchdog %{dracutlibdir}/modules.d/04watchdog
%{dracutlibdir}/modules.d/05busybox %{dracutlibdir}/modules.d/05busybox
%{dracutlibdir}/modules.d/10i18n %{dracutlibdir}/modules.d/10i18n
@ -271,8 +289,10 @@ rm -rf %{buildroot}
%{dracutlibdir}/modules.d/95rootfs-block %{dracutlibdir}/modules.d/95rootfs-block
%{dracutlibdir}/modules.d/95dasd %{dracutlibdir}/modules.d/95dasd
%{dracutlibdir}/modules.d/95dasd_mod %{dracutlibdir}/modules.d/95dasd_mod
%{dracutlibdir}/modules.d/95dasd_rules
%{dracutlibdir}/modules.d/95fstab-sys %{dracutlibdir}/modules.d/95fstab-sys
%{dracutlibdir}/modules.d/95zfcp %{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%{dracutlibdir}/modules.d/95terminfo %{dracutlibdir}/modules.d/95terminfo
%{dracutlibdir}/modules.d/95udev-rules %{dracutlibdir}/modules.d/95udev-rules
%{dracutlibdir}/modules.d/95virtfs %{dracutlibdir}/modules.d/95virtfs
@ -305,7 +325,7 @@ rm -rf %{buildroot}
%{_unitdir}/*.service %{_unitdir}/*.service
%{_unitdir}/*/*.service %{_unitdir}/*/*.service
%endif %endif
%{_sysconfdir}/bash_completion.d/dracut %config %{_sysconfdir}/bash_completion.d/dracut
%files network %files network
%defattr(-,root,root,0755) %defattr(-,root,root,0755)

View File

@ -1,18 +0,0 @@
--- dracut-034.orig/mkinitrd-dracut.sh
+++ dracut-034/mkinitrd-dracut.sh
@@ -179,7 +179,14 @@ while (($# > 0)); do
;;
-i) read_arg initrd_images "$@" || shift $?
for initrd_image in $initrd_images;do
- targets="$targets $boot_dir/$initrd_image"
+ # Check if the initrd_image contains a path.
+ # if not, then add the default boot_dir
+ dname=`dirname $initrd_image`
+ if [ "$dname" == "." ]; then
+ targets="$targets $boot_dir/$initrd_image";
+ else
+ targets="$targets $initrd_image";
+ fi
done
;;
*) if [[ ! $targets ]]; then

View File

@ -1,13 +0,0 @@
--- dracut-034.orig/mkinitrd-dracut.sh
+++ dracut-034/mkinitrd-dracut.sh
@@ -231,3 +231,10 @@ for ((i=0 ; $i<${#targets[@]} ; i++)); d
fi
fi
done
+
+if [ -z "$(type -p update-bootloader)" ] ; then
+ echo 2>&1 "Did not refresh the bootloader. You might need to refresh it manually."
+else
+ update-bootloader --refresh
+fi
+

View File

@ -1,16 +0,0 @@
--- dracut-034.orig/mkinitrd-dracut.sh
+++ dracut-034/mkinitrd-dracut.sh
@@ -110,6 +110,13 @@ default_kernel_images() {
force=1
}
+if which logger &>/dev/null && which tr &>/dev/null;then
+ self=$(tr "\000" " " </proc/$$/cmdline)
+ self=${self#/bin/bash --norc }
+ parent=$(tr "\000" " " </proc/$PPID/cmdline)
+ logger -- "$self called by $parent"
+fi
+
while (($# > 0)); do
case ${1%%=*} in
--with-usb) read_arg usbmodule "$@" || shift $?

View File

@ -1,175 +0,0 @@
--- dracut-034.orig/dracut.8.asc
+++ dracut-034/dracut.8.asc
@@ -18,7 +18,7 @@ DESCRIPTION
Create an initramfs <image> for the kernel with the version <kernel version>.
If <kernel version> is omitted, then the version of the actual running
kernel is used. If <image> is omitted or empty, then the default location
-/boot/initramfs-<kernel version>.img is used.
+/boot/initrd-<kernel version> is used.
dracut creates an initial image used by the kernel for preloading the block
device modules (such as IDE, SCSI or RAID) which are needed to access the root
@@ -47,7 +47,7 @@ To create a initramfs image, the most si
This will generate a general purpose initramfs image, with all possible
functionality resulting of the combination of the installed dracut modules and
-system tools. The image is /boot/initramfs-_++<kernel version>++_.img and
+system tools. The image is /boot/initrd-_++<kernel version>++_ and
contains the kernel modules of the currently active kernel with version
_++<kernel version>++_.
--- dracut-034.orig/dracut.asc
+++ dracut-034/dracut.asc
@@ -153,7 +153,7 @@ To create a initramfs image, the most si
This will generate a general purpose initramfs image, with all possible
functionality resulting of the combination of the installed dracut modules and
-system tools. The image is /boot/initramfs-_++<kernel version>++_.img and
+system tools. The image is /boot/initrd-_++<kernel version>++_ and
contains the kernel modules of the currently active kernel with version
_++<kernel version>++_.
@@ -193,12 +193,12 @@ kernel) as a fallback to rescue your sys
=== Inspecting the Contents
To see the contents of the image created by dracut, you can use the lsinitrd tool.
----
-# lsinitrd /boot/initramfs-$(uname -r).img | less
+# lsinitrd /boot/initrd-$(uname -r) | less
----
To display the contents of a file in the initramfs also use the lsinitrd tool:
----
-# lsinitrd /boot/initramfs-$(uname -r).img /etc/ld.so.conf
+# lsinitrd /boot/initrd-$(uname -r) /etc/ld.so.conf
include ld.so.conf.d/*.conf
----
@@ -209,7 +209,7 @@ _/etc/dracut.conf_ or _/etc/dracut.conf.
You can also add dracut modules on the command line
by using the -a or --add option:
----
-# dracut --add bootchart initramfs-bootchart.img
+# dracut --add bootchart initrd-bootchart
----
To see a list of available dracut modules, use the --list-modules option:
@@ -238,7 +238,7 @@ automatically picked up by dracut, you h
on the command line or the drivers vaiable in the _/etc/dracut.conf_
or _/etc/dracut.conf.d/myconf.conf_ configuration file (see <<dracutconf5>>):
----
-# dracut --add-drivers mymod initramfs-with-mymod.img
+# dracut --add-drivers mymod initrd-with-mymod
----
== Boot parameters
@@ -351,7 +351,7 @@ To add your own files to the initramfs i
The --include option let you specify a source path and a target path. For example
----
-# dracut --include cmdline-preset /etc/cmdline.d/mycmdline.conf initramfs-cmdline-pre.img
+# dracut --include cmdline-preset /etc/cmdline.d/mycmdline.conf initrd-cmdline-pre.img
----
will create an initramfs image, where the file cmdline-preset will be copied
inside the initramfs to _/etc/cmdline.d/mycmdline.conf_. --include can only be specified once.
@@ -373,7 +373,7 @@ rd.live.overlay/
└── conf.d
└── testvar.conf
-# dracut --include rd.live.overlay / initramfs-rd.live.overlay.img
+# dracut --include rd.live.overlay / initrd-rd.live.overlay.img
----
This will put the contents of the rd.live.overlay directory into the root of the
@@ -385,7 +385,7 @@ creation time.
----
-# dracut --install 'strace fsck.ext3 ssh' initramfs-dbg.img
+# dracut --install 'strace fsck.ext3 ssh' initrd-dbg
----
This will create an initramfs with the strace, fsck.ext3 and ssh executables,
@@ -437,7 +437,7 @@ For example for a NFS image, you would d
----
-# dracut -m "nfs network base" initramfs-nfs-only.img
+# dracut -m "nfs network base" initrd-nfs-only
----
Then you would boot from this image with your target machine and reduce the size
@@ -445,7 +445,7 @@ once more by creating it on the target m
----
-# dracut -m "nfs network base" --host-only initramfs-nfs-host-only.img
+# dracut -m "nfs network base" --host-only initrd-nfs-host-only
----
This will reduce the size of the initramfs image significantly.
--- dracut-034.orig/dracut-initramfs-restore.sh
+++ dracut-034/dracut-initramfs-restore.sh
@@ -11,7 +11,7 @@ KERNEL_VERSION="$(uname -r)"
if [[ $MACHINE_ID ]] && [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then
IMG="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
fi
-[[ -f $IMG ]] || IMG="/boot/initramfs-${KERNEL_VERSION}.img"
+[[ -f $IMG ]] || IMG="/boot/initrd-$(uname -r)"
cd /run/initramfs
--- dracut-034.orig/dracut.sh
+++ dracut-034/dracut.sh
@@ -513,7 +513,7 @@ if ! [[ $outfile ]]; then
if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
outfile="/boot/${MACHINE_ID}/$kernel/initrd"
else
- outfile="/boot/initramfs-$kernel.img"
+ outfile="/boot/initrd-$kernel"
fi
fi
--- dracut-034.orig/mkinitrd-dracut.sh
+++ dracut-034/mkinitrd-dracut.sh
@@ -16,7 +16,7 @@ usage () {
$cmd " [--nocompress]"
$cmd " <initrd-image> <kernel-version>"
$cmd ""
- $cmd " (ex: ${0##*/} /boot/initramfs-$kver.img $kver)"
+ $cmd " (ex: ${0##*/} /boot/initrd-$kver $kver)"
[[ $1 = '-n' ]] && exit 0
exit 1
--- dracut-034.orig/lsinitrd.1.asc
+++ dracut-034/lsinitrd.1.asc
@@ -18,7 +18,7 @@ DESCRIPTION
-----------
lsinitrd shows the contents of an initramfs image. if <image> is omitted, then
lsinitrd uses the default image _/boot/<machine-id>/<kernel-version>/initrd_ or
-_/boot/initramfs-<kernel-version>.img_.
+_/boot/initrd-<kernel-version>.img_.
OPTIONS
-------
--- dracut-034.orig/lsinitrd.sh
+++ dracut-034/lsinitrd.sh
@@ -84,7 +84,7 @@ else
&& [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then
image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
else
- image="/boot/initramfs-${KERNEL_VERSION}.img"
+ image="/boot/initrd-${KERNEL_VERSION}"
fi
fi
--- dracut-034.orig/51-dracut-rescue-postinst.sh
+++ dracut-034/51-dracut-rescue-postinst.sh
@@ -18,7 +18,7 @@ fi
[[ $MACHINE_ID ]] || exit 1
[[ -f $KERNEL_IMAGE ]] || exit 1
-INITRDFILE="/boot/initramfs-0-rescue-${MACHINE_ID}.img"
+INITRDFILE="/boot/initrd-0-rescue-${MACHINE_ID}"
NEW_KERNEL_IMAGE="${KERNEL_IMAGE%/*}/vmlinuz-0-rescue-${MACHINE_ID}"
[[ -f $INITRDFILE ]] && [[ -f $NEW_KERNEL_IMAGE ]] && exit 0

View File

@ -1,12 +0,0 @@
--- dracut-034.orig/modules.d/10i18n/module-setup.sh
+++ dracut-034/modules.d/10i18n/module-setup.sh
@@ -160,6 +160,9 @@ install() {
# Gentoo user may have KEYMAP set to something like "-u pl2",
KEYMAP=${KEYMAP#-* }
+ # openSUSE user may have KEYMAP set to something like ".gz"
+ KEYMAP=${KEYMAP/.gz/}
+
# KEYTABLE is a bit special - it defines base keymap name and UNICODE
# determines whether non-UNICODE or UNICODE version is used