From 30adad218ed6954746471caca1a44bad4d617489 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 17 Dec 2013 10:26:58 +0100 Subject: [PATCH] dracut-034-70.git20131216 - fixed systemd password waiting - split out fcoe uefi - fixed lvm thin tools check --- 0062-TODO-update.patch | 21 +++++ ...nitqueue.sh-fixed-waiting-in-the-loo.patch | 25 +++++ ...-base-rdsosreport.sh-add-ip-a-output.patch | 22 +++++ 0065-usrmount-always-install.patch | 25 +++++ ...ove-uefi-parsing-to-fcoe-uefi-module.patch | 57 ++++++++++++ 0067-move-uefi-lib-to-a-seperate-module.patch | 92 +++++++++++++++++++ 0068-lvm-fixed-lvm-thin-check.patch | 31 +++++++ ....spec-add-95fcoe-uefi-and-99uefi-lib.patch | 22 +++++ dracut.spec | 17 +++- 9 files changed, 311 insertions(+), 1 deletion(-) create mode 100644 0062-TODO-update.patch create mode 100644 0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch create mode 100644 0064-base-rdsosreport.sh-add-ip-a-output.patch create mode 100644 0065-usrmount-always-install.patch create mode 100644 0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch create mode 100644 0067-move-uefi-lib-to-a-seperate-module.patch create mode 100644 0068-lvm-fixed-lvm-thin-check.patch create mode 100644 0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch diff --git a/0062-TODO-update.patch b/0062-TODO-update.patch new file mode 100644 index 0000000..319d282 --- /dev/null +++ b/0062-TODO-update.patch @@ -0,0 +1,21 @@ +From ce052202f0cdb673536999a7d7810bd3a3a2aaca Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 5 Dec 2013 18:38:23 +0100 +Subject: [PATCH] TODO: update + +--- + TODO | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/TODO b/TODO +index 4e52fbf..875541d 100644 +--- a/TODO ++++ b/TODO +@@ -22,6 +22,7 @@ INITRAMFS TODO + + GENERATOR TODO + ++- report errors on missing files in check() + - remove wait for swap devs, if no "resume=" is given on the kernel command line + - add presets (predefined set of modules) + - add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions) diff --git a/0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch b/0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch new file mode 100644 index 0000000..1b4c841 --- /dev/null +++ b/0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch @@ -0,0 +1,25 @@ +From 3934ca8e6c0e80ecb32a2ed9403321afd510842e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 5 Dec 2013 18:38:35 +0100 +Subject: [PATCH] systemd/dracut-initqueue.sh: fixed waiting in the loop if PW + asked + +continue the main loop instead of the for loop, if a password is +currently asked +--- + modules.d/98systemd/dracut-initqueue.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh +index 64e8154..1e05dcd 100755 +--- a/modules.d/98systemd/dracut-initqueue.sh ++++ b/modules.d/98systemd/dracut-initqueue.sh +@@ -53,7 +53,7 @@ while :; do + sleep 0.5 + + for i in /run/systemd/ask-password/ask.*; do +- [ -e "$i" ] && continue ++ [ -e "$i" ] && continue 2 + done + + if [ $main_loop -gt $((2*$RDRETRY/3)) ]; then diff --git a/0064-base-rdsosreport.sh-add-ip-a-output.patch b/0064-base-rdsosreport.sh-add-ip-a-output.patch new file mode 100644 index 0000000..e1fef23 --- /dev/null +++ b/0064-base-rdsosreport.sh-add-ip-a-output.patch @@ -0,0 +1,22 @@ +From f11712ea2189e01004115702a3756b70122c3b05 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 10 Dec 2013 12:58:37 +0100 +Subject: [PATCH] base/rdsosreport.sh: add "ip a" output + +--- + modules.d/99base/rdsosreport.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/99base/rdsosreport.sh b/modules.d/99base/rdsosreport.sh +index bfa55bb..5e11166 100755 +--- a/modules.d/99base/rdsosreport.sh ++++ b/modules.d/99base/rdsosreport.sh +@@ -42,6 +42,8 @@ command -v dmsetup >/dev/null 2>/dev/null && dmsetup ls --tree + + cat /proc/mdstat + ++command -v ip >/dev/null 2>/dev/null && ip addr ++ + if command -v journalctl >/dev/null 2>/dev/null; then + journalctl -ab --no-pager -o short-monotonic + else diff --git a/0065-usrmount-always-install.patch b/0065-usrmount-always-install.patch new file mode 100644 index 0000000..6a9877a --- /dev/null +++ b/0065-usrmount-always-install.patch @@ -0,0 +1,25 @@ +From ded4c82acedb373ed4393b69a9683c6bee38ff48 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Thu, 21 Nov 2013 20:33:38 +0400 +Subject: [PATCH] usrmount: always install + +/usr should be mounted by initramfs even if /sbin/init lives in / +--- + modules.d/98usrmount/module-setup.sh | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/modules.d/98usrmount/module-setup.sh b/modules.d/98usrmount/module-setup.sh +index d8a0ec2..31a6229 100755 +--- a/modules.d/98usrmount/module-setup.sh ++++ b/modules.d/98usrmount/module-setup.sh +@@ -4,10 +4,7 @@ + + # called by dracut + check() { +- local _init + [[ $mount_needs ]] && return 1 +- _init=$(readlink -f /sbin/init) +- [[ "$_init" == "${_init##/usr}" ]] && return 255 + return 0 + } + diff --git a/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch b/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch new file mode 100644 index 0000000..b1279de --- /dev/null +++ b/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch @@ -0,0 +1,57 @@ +From ab173bb4c1c758d2f87d11b03efca6b6c950225e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 12 Dec 2013 09:20:53 +0100 +Subject: [PATCH] fcoe: move uefi parsing to fcoe-uefi module + +--- + modules.d/95fcoe-uefi/module-setup.sh | 22 ++++++++++++++++++++++ + .../{95fcoe => 95fcoe-uefi}/parse-uefifcoe.sh | 0 + modules.d/95fcoe/module-setup.sh | 1 - + 3 files changed, 22 insertions(+), 1 deletion(-) + create mode 100755 modules.d/95fcoe-uefi/module-setup.sh + rename modules.d/{95fcoe => 95fcoe-uefi}/parse-uefifcoe.sh (100%) + +diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh +new file mode 100755 +index 0000000..007aa59 +--- /dev/null ++++ b/modules.d/95fcoe-uefi/module-setup.sh +@@ -0,0 +1,22 @@ ++#!/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() { ++ [[ $hostonly ]] || [[ $mount_needs ]] && return 1 ++ ++ return 0 ++} ++ ++# called by dracut ++depends() { ++ echo fcoe bash ++ return 0 ++} ++ ++# called by dracut ++install() { ++ inst_hook cmdline 20 "$moddir/parse-uefifcoe.sh" ++} ++ +diff --git a/modules.d/95fcoe/parse-uefifcoe.sh b/modules.d/95fcoe-uefi/parse-uefifcoe.sh +similarity index 100% +rename from modules.d/95fcoe/parse-uefifcoe.sh +rename to modules.d/95fcoe-uefi/parse-uefifcoe.sh +diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh +index 7ada2ee..2605fa0 100755 +--- a/modules.d/95fcoe/module-setup.sh ++++ b/modules.d/95fcoe/module-setup.sh +@@ -36,7 +36,6 @@ install() { + inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up" + inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd" + inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh" +- inst_hook cmdline 20 "$moddir/parse-uefifcoe.sh" + inst_hook cmdline 99 "$moddir/parse-fcoe.sh" + dracut_need_initqueue + } diff --git a/0067-move-uefi-lib-to-a-seperate-module.patch b/0067-move-uefi-lib-to-a-seperate-module.patch new file mode 100644 index 0000000..43df02c --- /dev/null +++ b/0067-move-uefi-lib-to-a-seperate-module.patch @@ -0,0 +1,92 @@ +From 89031be3735045ae06d560bf4f42ec58d889fe8e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 12 Dec 2013 09:49:06 +0100 +Subject: [PATCH] move uefi-lib to a seperate module + +--- + modules.d/95fcoe-uefi/module-setup.sh | 4 +--- + modules.d/95fcoe/module-setup.sh | 5 ----- + modules.d/99base/module-setup.sh | 1 - + modules.d/99uefi-lib/module-setup.sh | 19 +++++++++++++++++++ + modules.d/{99base => 99uefi-lib}/uefi-lib.sh | 0 + 5 files changed, 20 insertions(+), 9 deletions(-) + create mode 100755 modules.d/99uefi-lib/module-setup.sh + rename modules.d/{99base => 99uefi-lib}/uefi-lib.sh (100%) + +diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh +index 007aa59..653d88e 100755 +--- a/modules.d/95fcoe-uefi/module-setup.sh ++++ b/modules.d/95fcoe-uefi/module-setup.sh +@@ -4,14 +4,12 @@ + + # called by dracut + check() { +- [[ $hostonly ]] || [[ $mount_needs ]] && return 1 +- + return 0 + } + + # called by dracut + depends() { +- echo fcoe bash ++ echo fcoe uefi-lib + return 0 + } + +diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh +index 2605fa0..539c464 100755 +--- a/modules.d/95fcoe/module-setup.sh ++++ b/modules.d/95fcoe/module-setup.sh +@@ -4,11 +4,6 @@ + + # called by dracut + check() { +- # FIXME +- # If hostonly was requested, fail the check until we have some way of +- # knowing we are booting from FCoE +- [[ $hostonly ]] || [[ $mount_needs ]] && return 1 +- + for i in dcbtool fipvlan lldpad ip readlink; do + type -P $i >/dev/null || return 1 + done +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index e53cf2e..d4dbca9 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -45,7 +45,6 @@ install() { + mkdir -p ${initdir}/tmp + + inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh" +- inst_simple "$moddir/uefi-lib.sh" "/lib/uefi-lib.sh" + + if ! dracut_module_included "systemd"; then + inst_multiple switch_root || dfatal "Failed to install switch_root" +diff --git a/modules.d/99uefi-lib/module-setup.sh b/modules.d/99uefi-lib/module-setup.sh +new file mode 100755 +index 0000000..4a856ea +--- /dev/null ++++ b/modules.d/99uefi-lib/module-setup.sh +@@ -0,0 +1,19 @@ ++#!/bin/bash ++# module-setup for img-lib ++ ++# called by dracut ++check() { ++ return 255 ++} ++ ++# called by dracut ++depends() { ++ echo bash ++ return 0 ++} ++ ++# called by dracut ++install() { ++ inst_simple "$moddir/uefi-lib.sh" "/lib/uefi-lib.sh" ++} ++ +diff --git a/modules.d/99base/uefi-lib.sh b/modules.d/99uefi-lib/uefi-lib.sh +similarity index 100% +rename from modules.d/99base/uefi-lib.sh +rename to modules.d/99uefi-lib/uefi-lib.sh diff --git a/0068-lvm-fixed-lvm-thin-check.patch b/0068-lvm-fixed-lvm-thin-check.patch new file mode 100644 index 0000000..1688a8a --- /dev/null +++ b/0068-lvm-fixed-lvm-thin-check.patch @@ -0,0 +1,31 @@ +From 831625d29ed6f174b276cd738e34bfebc5052e1c Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 13 Dec 2013 11:05:39 +0100 +Subject: [PATCH] lvm: fixed lvm thin check + +--- + modules.d/90lvm/module-setup.sh | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index 1206310..a64e5d6 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -99,9 +99,16 @@ install() { + + if [[ $hostonly ]] && type -P lvs &>/dev/null; then + for dev in "${!host_fs_types[@]}"; do +- if [[ "$(lvs --noheadings -o segtype "$dev" 2>/dev/null)" == *thin* ]] ; then ++ [ -e /sys/block/${dev#/dev/}/dm/name ] || continue ++ dev=$(/dev/null) ++ [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || continue ++ if [[ "$(lvs --noheadings -o segtype ${DM_VG_NAME} 2>/dev/null)" == *thin* ]] ; then + inst_multiple -o thin_dump thin_restore thin_check thin_repair ++ break + fi + done ++ else ++ inst_multiple -o thin_dump thin_restore thin_check thin_repair + fi + } diff --git a/0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch b/0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch new file mode 100644 index 0000000..98b8325 --- /dev/null +++ b/0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch @@ -0,0 +1,22 @@ +From 08f06c93419aacac9d9980fa9c0c65d15fa4bf0e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 16 Dec 2013 12:30:26 +0100 +Subject: [PATCH] dracut.spec: add 95fcoe-uefi and 99uefi-lib + +--- + dracut.spec | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/dracut.spec b/dracut.spec +index bd35aa7..6cc60e1 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -414,6 +414,8 @@ rm -rf -- $RPM_BUILD_ROOT + %{dracutlibdir}/modules.d/95ssh-client + %{dracutlibdir}/modules.d/45ifcfg + %{dracutlibdir}/modules.d/95znet ++%{dracutlibdir}/modules.d/95fcoe-uefi ++%{dracutlibdir}/modules.d/99uefi-lib + + %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} + %files fips diff --git a/dracut.spec b/dracut.spec index 35eb311..77df055 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 034 -Release: 62.git20131205%{?dist} +Release: 70.git20131216%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -90,6 +90,14 @@ Patch58: 0058-lvm-install-thin-tools-only-when-needed-in-hostonly.patch Patch59: 0059-i18n-introduce-i18n_install_all-to-install-everythin.patch Patch60: 0060-dracut.spec-add-new-modules.patch Patch61: 0061-dracut.spec-remove-suse-man-pages.patch +Patch62: 0062-TODO-update.patch +Patch63: 0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch +Patch64: 0064-base-rdsosreport.sh-add-ip-a-output.patch +Patch65: 0065-usrmount-always-install.patch +Patch66: 0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch +Patch67: 0067-move-uefi-lib-to-a-seperate-module.patch +Patch68: 0068-lvm-fixed-lvm-thin-check.patch +Patch69: 0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch BuildRequires: bash git @@ -476,6 +484,8 @@ rm -rf -- $RPM_BUILD_ROOT %{dracutlibdir}/modules.d/95ssh-client %{dracutlibdir}/modules.d/45ifcfg %{dracutlibdir}/modules.d/95znet +%{dracutlibdir}/modules.d/95fcoe-uefi +%{dracutlibdir}/modules.d/99uefi-lib %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} %files fips @@ -515,6 +525,11 @@ rm -rf -- $RPM_BUILD_ROOT %endif %changelog +* Mon Dec 16 2013 Harald Hoyer 034-70.git20131216 +- fixed systemd password waiting +- split out fcoe uefi +- fixed lvm thin tools check + * Thu Dec 05 2013 Harald Hoyer 034-62.git20131205 - fixed PATH shortener - also install /etc/system-fips in the initramfs