* [PATCHv2 00/13] SUSE S/390 integration
@ 2013-11-29 12:13 Hannes Reinecke
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
SUSE is keeping the S/390 device configuration in udev rules,
on rule per device.
And it doesn't have the RH-specific configuration scripts (obviously).
This patchset abstracts away the RH-specific configuration and
adds modules to make dracut boot on SLES installations.
I've also added a new SUSE-specific mkinitrd compability script,
as the SUSE mkinitrd is quite different.
And some minor fixes which came up during package build.
Please apply.
Hannes Reinecke (13):
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
Add DASD configuration for SuSE
Add zfcp scripts for SUSE
Make logfile configurable
mkinitrd-suse: Add SUSE compability wrapper for dracut
mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd
Fixup keymap setting for openSUSE
Fixup script permissions
Remove shebang from shell-completion files
Makefile | 1 +
dracut-bash-completion.sh | 2 +-
dracut-functions.sh | 28 +++
dracut.8.asc | 6 +
dracut.sh | 4 +
lsinitrd-bash-completion.sh | 2 +-
mkinitrd-suse.8.asc | 106 +++++++++
mkinitrd-suse.sh | 354 +++++++++++++++++++++++++++++++
modules.d/03modsign/load-modsign-keys.sh | 0
modules.d/03modsign/module-setup.sh | 0
modules.d/10i18n/module-setup.sh | 3 +
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/95dasd/module-setup.sh | 7 +-
modules.d/95dasd_mod/module-setup.sh | 3 +-
modules.d/95dasd_mod/parse-dasd-mod.sh | 4 +-
modules.d/95dasd_rules/module-setup.sh | 27 +++
modules.d/95dasd_rules/parse-dasd.sh | 56 +++++
modules.d/95zfcp/module-setup.sh | 4 +-
modules.d/95zfcp_rules/module-setup.sh | 25 +++
modules.d/95zfcp_rules/parse-zfcp.sh | 65 ++++++
modules.d/95znet/module-setup.sh | 1 +
modules.d/98pollcdrom/pollcdrom.sh | 0
25 files changed, 686 insertions(+), 12 deletions(-)
create mode 100644 mkinitrd-suse.8.asc
create mode 100755 mkinitrd-suse.sh
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
create mode 100755 modules.d/95dasd_rules/module-setup.sh
create mode 100755 modules.d/95dasd_rules/parse-dasd.sh
create mode 100755 modules.d/95zfcp_rules/module-setup.sh
create mode 100755 modules.d/95zfcp_rules/parse-zfcp.sh
mode change 100644 => 100755 modules.d/98pollcdrom/pollcdrom.sh
--
1.8.1.4
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 01/13] 95dasd: Install kernel modules only once
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 02/13] 95dasd: Only install module if normalize_dasd_arg is present Hannes Reinecke
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
Move kernel module selection to 95dasd_mod and make 95dasd depend
on that module.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 02/13] 95dasd: Only install module if normalize_dasd_arg is present
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
2013-11-29 12:13 ` [PATCH 01/13] 95dasd: Install kernel modules only once Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 03/13] 95dasd_mod: make dasd_cio_free optional Hannes Reinecke
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 03/13] 95dasd_mod: make dasd_cio_free optional
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
2013-11-29 12:13 ` [PATCH 01/13] 95dasd: Install kernel modules only once Hannes Reinecke
2013-11-29 12:13 ` [PATCH 02/13] 95dasd: Only install module if normalize_dasd_arg is present Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 04/13] 95zfcp: Make installation optional Hannes Reinecke
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
dasd_cio_free is a RedHat-specific tool, so make it optional.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 04/13] 95zfcp: Make installation optional
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (2 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 03/13] 95dasd_mod: make dasd_cio_free optional Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 05/13] 95znet: " Hannes Reinecke
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 05/13] 95znet: Make installation optional
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (3 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 04/13] 95zfcp: Make installation optional Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 06/13] Add DASD configuration for SuSE Hannes Reinecke
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 06/13] Add DASD configuration for SuSE
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (4 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 05/13] 95znet: " Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 07/13] Add zfcp scripts for SUSE Hannes Reinecke
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 07/13] Add zfcp scripts for SUSE
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (5 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 06/13] Add DASD configuration for SuSE Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 08/13] Make logfile configurable Hannes Reinecke
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
SuSE is storing the zfcp configuration in udev files, so we should
be including these.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 08/13] Make logfile configurable
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (6 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 07/13] Add zfcp scripts for SUSE Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 09/13] mkinitrd-suse: Add SUSE compability wrapper for dracut Hannes Reinecke
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
Add '--logfile' option to make the log file configurable during
runtime.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 09/13] mkinitrd-suse: Add SUSE compability wrapper for dracut
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (7 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 08/13] Make logfile configurable Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 10/13] mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd Hannes Reinecke
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 10/13] mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (8 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 09/13] mkinitrd-suse: Add SUSE compability wrapper for dracut Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 11/13] Fixup keymap setting for openSUSE Hannes Reinecke
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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**::
+ Don’t 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 don’t 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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 11/13] Fixup keymap setting for openSUSE
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (9 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 10/13] mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 12/13] Fixup script permissions Hannes Reinecke
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
openSUSE is using compressed keymaps.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 12/13] Fixup script permissions
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (10 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 11/13] Fixup keymap setting for openSUSE Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2013-11-29 12:13 ` [PATCH 13/13] Remove shebang from shell-completion files Hannes Reinecke
2014-01-28 14:42 ` [PATCHv2 00/13] SUSE S/390 integration Harald Hoyer
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
Scripts with a shebang should be marked as executable.
Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 13/13] Remove shebang from shell-completion files
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (11 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 12/13] Fixup script permissions Hannes Reinecke
@ 2013-11-29 12:13 ` Hannes Reinecke
2014-01-28 14:42 ` [PATCHv2 00/13] SUSE S/390 integration Harald Hoyer
13 siblings, 0 replies; 15+ messages in thread
From: Hannes Reinecke @ 2013-11-29 12:13 UTC (permalink / raw)
To: Harald Hoyer
Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA,
Hannes Reinecke
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-l3A5Bk7waGM@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCHv2 00/13] SUSE S/390 integration
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
` (12 preceding siblings ...)
2013-11-29 12:13 ` [PATCH 13/13] Remove shebang from shell-completion files Hannes Reinecke
@ 2014-01-28 14:42 ` Harald Hoyer
13 siblings, 0 replies; 15+ messages in thread
From: Harald Hoyer @ 2014-01-28 14:42 UTC (permalink / raw)
To: Hannes Reinecke; +Cc: Thomas Renninger, initramfs-u79uwXL29TY76Z2rM5mHXA
On 11/29/2013 01:13 PM, Hannes Reinecke wrote:
> SUSE is keeping the S/390 device configuration in udev rules,
> on rule per device.
> And it doesn't have the RH-specific configuration scripts (obviously).
> This patchset abstracts away the RH-specific configuration and
> adds modules to make dracut boot on SLES installations.
>
> I've also added a new SUSE-specific mkinitrd compability script,
> as the SUSE mkinitrd is quite different.
>
> And some minor fixes which came up during package build.
>
> Please apply.
>
> Hannes Reinecke (13):
> 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
> Add DASD configuration for SuSE
> Add zfcp scripts for SUSE
> Make logfile configurable
> mkinitrd-suse: Add SUSE compability wrapper for dracut
> mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd
> Fixup keymap setting for openSUSE
> Fixup script permissions
> Remove shebang from shell-completion files
>
> Makefile | 1 +
> dracut-bash-completion.sh | 2 +-
> dracut-functions.sh | 28 +++
> dracut.8.asc | 6 +
> dracut.sh | 4 +
> lsinitrd-bash-completion.sh | 2 +-
> mkinitrd-suse.8.asc | 106 +++++++++
> mkinitrd-suse.sh | 354 +++++++++++++++++++++++++++++++
> modules.d/03modsign/load-modsign-keys.sh | 0
> modules.d/03modsign/module-setup.sh | 0
> modules.d/10i18n/module-setup.sh | 3 +
> 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/95dasd/module-setup.sh | 7 +-
> modules.d/95dasd_mod/module-setup.sh | 3 +-
> modules.d/95dasd_mod/parse-dasd-mod.sh | 4 +-
> modules.d/95dasd_rules/module-setup.sh | 27 +++
> modules.d/95dasd_rules/parse-dasd.sh | 56 +++++
> modules.d/95zfcp/module-setup.sh | 4 +-
> modules.d/95zfcp_rules/module-setup.sh | 25 +++
> modules.d/95zfcp_rules/parse-zfcp.sh | 65 ++++++
> modules.d/95znet/module-setup.sh | 1 +
> modules.d/98pollcdrom/pollcdrom.sh | 0
> 25 files changed, 686 insertions(+), 12 deletions(-)
> create mode 100644 mkinitrd-suse.8.asc
> create mode 100755 mkinitrd-suse.sh
> 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
> create mode 100755 modules.d/95dasd_rules/module-setup.sh
> create mode 100755 modules.d/95dasd_rules/parse-dasd.sh
> create mode 100755 modules.d/95zfcp_rules/module-setup.sh
> create mode 100755 modules.d/95zfcp_rules/parse-zfcp.sh
> mode change 100644 => 100755 modules.d/98pollcdrom/pollcdrom.sh
>
Thanks! Pushed.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-01-28 14:42 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-29 12:13 [PATCHv2 00/13] SUSE S/390 integration Hannes Reinecke
[not found] ` <1385727234-5001-1-git-send-email-hare-l3A5Bk7waGM@public.gmane.org>
2013-11-29 12:13 ` [PATCH 01/13] 95dasd: Install kernel modules only once Hannes Reinecke
2013-11-29 12:13 ` [PATCH 02/13] 95dasd: Only install module if normalize_dasd_arg is present Hannes Reinecke
2013-11-29 12:13 ` [PATCH 03/13] 95dasd_mod: make dasd_cio_free optional Hannes Reinecke
2013-11-29 12:13 ` [PATCH 04/13] 95zfcp: Make installation optional Hannes Reinecke
2013-11-29 12:13 ` [PATCH 05/13] 95znet: " Hannes Reinecke
2013-11-29 12:13 ` [PATCH 06/13] Add DASD configuration for SuSE Hannes Reinecke
2013-11-29 12:13 ` [PATCH 07/13] Add zfcp scripts for SUSE Hannes Reinecke
2013-11-29 12:13 ` [PATCH 08/13] Make logfile configurable Hannes Reinecke
2013-11-29 12:13 ` [PATCH 09/13] mkinitrd-suse: Add SUSE compability wrapper for dracut Hannes Reinecke
2013-11-29 12:13 ` [PATCH 10/13] mkinitrd-suse.8.asc: Add manpage for SUSE compat mkinitrd Hannes Reinecke
2013-11-29 12:13 ` [PATCH 11/13] Fixup keymap setting for openSUSE Hannes Reinecke
2013-11-29 12:13 ` [PATCH 12/13] Fixup script permissions Hannes Reinecke
2013-11-29 12:13 ` [PATCH 13/13] Remove shebang from shell-completion files Hannes Reinecke
2014-01-28 14:42 ` [PATCHv2 00/13] SUSE S/390 integration Harald Hoyer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.