diff options
author | 2013-11-18 19:10:48 +0000 | |
---|---|---|
committer | 2013-11-18 19:10:48 +0000 | |
commit | 6389bc375a3c90bef56a371f1f9715f2cc144893 (patch) | |
tree | f301bd941c22c094c32f0ac18d62468944166239 /sys-kernel/dracut | |
parent | Version bump (diff) | |
download | gentoo-2-6389bc375a3c90bef56a371f1f9715f2cc144893.tar.gz gentoo-2-6389bc375a3c90bef56a371f1f9715f2cc144893.tar.bz2 gentoo-2-6389bc375a3c90bef56a371f1f9715f2cc144893.zip |
Fixed bug #487324 (redundant dirs) and bug #490098 (thin provisioning).
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key F0134531E1DBFAB5)
Diffstat (limited to 'sys-kernel/dracut')
8 files changed, 2012 insertions, 2 deletions
diff --git a/sys-kernel/dracut/ChangeLog b/sys-kernel/dracut/ChangeLog index 0f610e231b87..d4924011ea54 100644 --- a/sys-kernel/dracut/ChangeLog +++ b/sys-kernel/dracut/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for sys-kernel/dracut # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.138 2013/10/27 17:51:45 swift Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.139 2013/11/18 19:10:48 aidecoe Exp $ + + 18 Nov 2013; Amadeusz Żołnowski <aidecoe@gentoo.org> dracut-034-r1.ebuild, + +files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch, + +files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch, + +files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch, + +files/034-0010-module-setup.sh-add-comments-for-dracu.patch, + +files/034-0011-lvm-fix-thin-recognition.patch, + +files/034-0012-lvm-always-install-thin-utils-for-lvm.patch: + Fixed bug #487324 (redundant dirs) and bug #490098 (thin provisioning). 27 Oct 2013; Sven Vermeulen <swift@gentoo.org> dracut-026-r2.ebuild, dracut-027-r3.ebuild, dracut-029.ebuild, dracut-030.ebuild, diff --git a/sys-kernel/dracut/dracut-034-r1.ebuild b/sys-kernel/dracut/dracut-034-r1.ebuild index 93233e62e6b9..94326d18d9da 100644 --- a/sys-kernel/dracut/dracut-034-r1.ebuild +++ b/sys-kernel/dracut/dracut-034-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-034-r1.ebuild,v 1.2 2013/10/27 17:51:45 swift Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-034-r1.ebuild,v 1.3 2013/11/18 19:10:48 aidecoe Exp $ EAPI=4 @@ -163,6 +163,12 @@ src_prepare() { epatch "${FILESDIR}/${PV}-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch" epatch "${FILESDIR}/${PV}-0005-Install-dracut-install-into-libexec-di.patch" epatch "${FILESDIR}/${PV}-0006-resume-fix-swap-detection-in-hostonly.patch" + epatch "${FILESDIR}/${PV}-0007-dracut.sh-also-mkdir-run-lock-which-is.patch" + epatch "${FILESDIR}/${PV}-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch" + epatch "${FILESDIR}/${PV}-0009-lvm-install-thin-utils-for-non-hostonl.patch" + epatch "${FILESDIR}/${PV}-0010-module-setup.sh-add-comments-for-dracu.patch" + epatch "${FILESDIR}/${PV}-0011-lvm-fix-thin-recognition.patch" + epatch "${FILESDIR}/${PV}-0012-lvm-always-install-thin-utils-for-lvm.patch" local libdirs diff --git a/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch b/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch new file mode 100644 index 000000000000..0cf2586ed422 --- /dev/null +++ b/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch @@ -0,0 +1,25 @@ +From be723725cd6ea1c41b52c1bff5a569eb8cd0c76d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Wed, 16 Oct 2013 11:31:54 +0200 +Subject: [PATCH 07/12] dracut.sh: also mkdir /run/lock, which is copied to + +--- + dracut.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index e28b929..309aa7d 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then + fi + done + +- for d in dev proc sys sysroot root run run/lock run/initramfs; do ++ for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do + if [ -L "/$d" ]; then + inst_symlink "/$d" + else +-- +1.8.4.3 + diff --git a/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch b/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch new file mode 100644 index 000000000000..380411cc5f14 --- /dev/null +++ b/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch @@ -0,0 +1,25 @@ +From 34712f015f13221b653a1ed2ee75804f06a22357 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Wed, 16 Oct 2013 11:39:17 +0200 +Subject: [PATCH 08/12] dracut.sh: no need to make subdirs in run + +--- + dracut.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 309aa7d..4f58eed 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then + fi + done + +- for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do ++ for d in dev proc sys sysroot root run; do + if [ -L "/$d" ]; then + inst_symlink "/$d" + else +-- +1.8.4.3 + diff --git a/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch b/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch new file mode 100644 index 000000000000..8bf0f7c39875 --- /dev/null +++ b/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch @@ -0,0 +1,41 @@ +From bd3303000b32cb500b2d769c6852784a807cee47 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Tue, 8 Oct 2013 10:30:00 +0200 +Subject: [PATCH 09/12] lvm: install thin utils for non-hostonly + +--- + modules.d/90lvm/module-setup.sh | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index f98ffff..514addc 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -52,13 +52,17 @@ install() { + + inst lvm + +- get_host_lvs | while read line; do +- printf "%s" " rd.lvm.lv=$line" +- if ! [[ $_needthin ]]; then +- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1 +- fi +- done >> "${initdir}/etc/cmdline.d/90lvm.conf" +- echo >> "${initdir}/etc/cmdline.d/90lvm.conf" ++ if [[ $hostonly ]]; then ++ get_host_lvs | while read line; do ++ printf "%s" " rd.lvm.lv=$line" ++ if ! [[ $_needthin ]]; then ++ [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1 ++ fi ++ done >> "${initdir}/etc/cmdline.d/90lvm.conf" ++ echo >> "${initdir}/etc/cmdline.d/90lvm.conf" ++ else ++ _needthin=1 ++ fi + + inst_rules "$moddir/64-lvm.rules" + +-- +1.8.4.3 + diff --git a/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch b/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch new file mode 100644 index 000000000000..47fb399acaae --- /dev/null +++ b/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch @@ -0,0 +1,1785 @@ +From 5077b00552628121f41c405a61ed082db48dbe0b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Tue, 8 Oct 2013 10:37:56 +0200 +Subject: [PATCH 10/12] */module-setup.sh: add comments for dracut called + functions + +--- + modules.d/00bash/module-setup.sh | 3 +++ + modules.d/00bootchart/module-setup.sh | 3 +++ + modules.d/00dash/module-setup.sh | 3 +++ + modules.d/00systemd-bootchart/module-setup.sh | 3 +++ + modules.d/01fips/module-setup.sh | 4 ++++ + modules.d/02caps/module-setup.sh | 3 +++ + modules.d/02fips-aesni/module-setup.sh | 4 ++++ + modules.d/03modsign/module-setup.sh | 3 +++ + modules.d/03rescue/module-setup.sh | 3 +++ + modules.d/04watchdog/module-setup.sh | 3 +++ + modules.d/05busybox/module-setup.sh | 3 +++ + modules.d/10i18n/module-setup.sh | 3 +++ + modules.d/30convertfs/module-setup.sh | 3 +++ + modules.d/40network/module-setup.sh | 4 ++++ + modules.d/45ifcfg/module-setup.sh | 3 +++ + modules.d/45url-lib/module-setup.sh | 3 +++ + modules.d/50drm/module-setup.sh | 3 +++ + modules.d/50gensplash/module-setup.sh | 3 +++ + modules.d/50plymouth/module-setup.sh | 3 +++ + modules.d/80cms/module-setup.sh | 4 ++++ + modules.d/90btrfs/module-setup.sh | 4 ++++ + modules.d/90crypt/module-setup.sh | 5 +++++ + modules.d/90dm/module-setup.sh | 4 ++++ + modules.d/90dmraid/module-setup.sh | 4 ++++ + modules.d/90dmsquash-live/module-setup.sh | 4 ++++ + modules.d/90kernel-modules/module-setup.sh | 2 ++ + modules.d/90livenet/module-setup.sh | 3 +++ + modules.d/90lvm/module-setup.sh | 4 ++++ + modules.d/90mdraid/module-setup.sh | 5 +++++ + modules.d/90multipath/module-setup.sh | 4 ++++ + modules.d/90qemu-net/module-setup.sh | 2 ++ + modules.d/90qemu/module-setup.sh | 2 ++ + modules.d/91crypt-gpg/module-setup.sh | 3 +++ + modules.d/91crypt-loop/module-setup.sh | 4 ++++ + modules.d/95cifs/module-setup.sh | 4 ++++ + modules.d/95dasd/module-setup.sh | 4 ++++ + modules.d/95dasd_mod/module-setup.sh | 4 ++++ + modules.d/95debug/module-setup.sh | 3 +++ + modules.d/95fcoe/module-setup.sh | 4 ++++ + modules.d/95fstab-sys/module-setup.sh | 3 +++ + modules.d/95iscsi/module-setup.sh | 4 ++++ + modules.d/95nbd/module-setup.sh | 4 ++++ + modules.d/95nfs/module-setup.sh | 4 ++++ + modules.d/95resume/module-setup.sh | 2 ++ + modules.d/95rootfs-block/module-setup.sh | 4 ++++ + modules.d/95ssh-client/module-setup.sh | 3 +++ + modules.d/95terminfo/module-setup.sh | 1 + + modules.d/95udev-rules/module-setup.sh | 1 + + modules.d/95virtfs/module-setup.sh | 4 ++++ + modules.d/95zfcp/module-setup.sh | 4 ++++ + modules.d/95znet/module-setup.sh | 4 ++++ + modules.d/96securityfs/module-setup.sh | 3 +++ + modules.d/97biosdevname/module-setup.sh | 3 +++ + modules.d/97masterkey/module-setup.sh | 4 ++++ + modules.d/98ecryptfs/module-setup.sh | 4 ++++ + modules.d/98integrity/module-setup.sh | 3 +++ + modules.d/98pollcdrom/module-setup.sh | 3 +++ + modules.d/98selinux/module-setup.sh | 3 +++ + modules.d/98syslog/module-setup.sh | 3 +++ + modules.d/98systemd/module-setup.sh | 3 +++ + modules.d/98usrmount/module-setup.sh | 3 +++ + modules.d/99base/module-setup.sh | 3 +++ + modules.d/99fs-lib/module-setup.sh | 4 ++++ + modules.d/99img-lib/module-setup.sh | 3 +++ + modules.d/99shutdown/module-setup.sh | 3 +++ + 65 files changed, 216 insertions(+) + +diff --git a/modules.d/00bash/module-setup.sh b/modules.d/00bash/module-setup.sh +index e874e73..f599940 100755 +--- a/modules.d/00bash/module-setup.sh ++++ b/modules.d/00bash/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + [ -x /bin/bash ] + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + # If another shell is already installed, do not use bash + [[ -x $initdir/bin/sh ]] && return +diff --git a/modules.d/00bootchart/module-setup.sh b/modules.d/00bootchart/module-setup.sh +index 72b6063..107ee5b 100755 +--- a/modules.d/00bootchart/module-setup.sh ++++ b/modules.d/00bootchart/module-setup.sh +@@ -2,16 +2,19 @@ + # -*- 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() { + [[ "$mount_needs" ]] && return 1 + [ -x /sbin/bootchartd ] || return 1 + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_symlink /init /sbin/init + inst_dir /lib/bootchart/tmpfs +diff --git a/modules.d/00dash/module-setup.sh b/modules.d/00dash/module-setup.sh +index dfd4d7b..47f7b03 100755 +--- a/modules.d/00dash/module-setup.sh ++++ b/modules.d/00dash/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + [ -x /bin/dash ] + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + # If another shell is already installed, do not use dash + [[ -x $initdir/bin/sh ]] && return +diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh +index 3eb4de1..a897cef 100755 +--- a/modules.d/00systemd-bootchart/module-setup.sh ++++ b/modules.d/00systemd-bootchart/module-setup.sh +@@ -2,16 +2,19 @@ + # -*- 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() { + [[ "$mount_needs" ]] && return 1 + [ -x $systemdutildir/systemd-bootchart ] || return 1 + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_symlink /init /sbin/init + inst_multiple $systemdutildir/systemd-bootchart +diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh +index d08e3f7..6493290 100755 +--- a/modules.d/01fips/module-setup.sh ++++ b/modules.d/01fips/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + local _fipsmodules _mod + _fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 blowfish camellia cast6 cbc ccm " +@@ -28,6 +31,7 @@ installkernel() { + done + } + ++# called by dracut + install() { + local _dir + inst_hook pre-trigger 01 "$moddir/fips-boot.sh" +diff --git a/modules.d/02caps/module-setup.sh b/modules.d/02caps/module-setup.sh +index c9d94ee..6019188 100755 +--- a/modules.d/02caps/module-setup.sh ++++ b/modules.d/02caps/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + type -P capsh >/dev/null 2>&1 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook pre-pivot 00 "$moddir/caps.sh" + inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh +diff --git a/modules.d/02fips-aesni/module-setup.sh b/modules.d/02fips-aesni/module-setup.sh +index fb4010d..002b7d4 100755 +--- a/modules.d/02fips-aesni/module-setup.sh ++++ b/modules.d/02fips-aesni/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + local _fipsmodules _mod + _fipsmodules="aesni-intel ghash_clmulni_intel" +@@ -24,6 +27,7 @@ installkernel() { + done + } + ++# called by dracut + install() { + return 0 + } +diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh +index 730cd86..5dfd90c 100644 +--- a/modules.d/03modsign/module-setup.sh ++++ b/modules.d/03modsign/module-setup.sh +@@ -7,6 +7,7 @@ + # Copyright 2013 Red Hat, Inc. + # Peter Jones <pjones@redhat.com> + ++# called by dracut + check() { + [[ -x /usr/bin/keyctl ]] || return 1 + +@@ -20,10 +21,12 @@ check() { + return 0 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_dir /lib/modules/keys + inst_binary /usr/bin/keyctl +diff --git a/modules.d/03rescue/module-setup.sh b/modules.d/03rescue/module-setup.sh +index 72a4287..289c934 100755 +--- a/modules.d/03rescue/module-setup.sh ++++ b/modules.d/03rescue/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + # do not add this module by default + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_multiple -o ps grep more cat rm strace free showmount \ + ping netstat rpcinfo vi scp ping6 ssh \ +diff --git a/modules.d/04watchdog/module-setup.sh b/modules.d/04watchdog/module-setup.sh +index b7725ef..44dce61 100755 +--- a/modules.d/04watchdog/module-setup.sh ++++ b/modules.d/04watchdog/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook cmdline 00 "$moddir/watchdog.sh" + inst_hook cmdline 50 "$moddir/watchdog.sh" +diff --git a/modules.d/05busybox/module-setup.sh b/modules.d/05busybox/module-setup.sh +index edcc8da..6e508a6 100755 +--- a/modules.d/05busybox/module-setup.sh ++++ b/modules.d/05busybox/module-setup.sh +@@ -2,16 +2,19 @@ + # -*- 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() { + type -P busybox >/dev/null || return 1 + + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + local _i _progs _path _busybox + _busybox=$(type -P busybox) +diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh +index 2a83728..0741c64 100755 +--- a/modules.d/10i18n/module-setup.sh ++++ b/modules.d/10i18n/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + [[ "$mount_needs" ]] && return 1 + +@@ -12,10 +13,12 @@ check() { + return 0 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + if dracut_module_included "systemd"; then + [[ -f /etc/vconsole.conf ]] || return 0 +diff --git a/modules.d/30convertfs/module-setup.sh b/modules.d/30convertfs/module-setup.sh +index 9efd5dd..1e73455 100755 +--- a/modules.d/30convertfs/module-setup.sh ++++ b/modules.d/30convertfs/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + [[ $mount_needs ]] && return 1 + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_multiple bash find ldconfig mv rm cp ln + inst_hook pre-pivot 99 "$moddir/do-convertfs.sh" +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index d2833d0..8a2898c 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _program + +@@ -15,10 +16,12 @@ check() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + # Include wired net drivers, excluding wireless + +@@ -67,6 +70,7 @@ installkernel() { + instmods =drivers/net/phy ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net =drivers/net/team + } + ++# called by dracut + install() { + local _arch _i _dir + inst_multiple ip arping dhclient sed +diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh +index ce53e5e..c407f45 100755 +--- a/modules.d/45ifcfg/module-setup.sh ++++ b/modules.d/45ifcfg/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + [[ -d /etc/sysconfig/network-scripts ]] && return 0 + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh" + } +diff --git a/modules.d/45url-lib/module-setup.sh b/modules.d/45url-lib/module-setup.sh +index b5cf36f..1ed97ac 100755 +--- a/modules.d/45url-lib/module-setup.sh ++++ b/modules.d/45url-lib/module-setup.sh +@@ -1,16 +1,19 @@ + #!/bin/bash + # module-setup for url-lib + ++# called by dracut + check() { + command -v curl >/dev/null || return 1 + return 255 + } + ++# called by dracut + depends() { + echo network + return 0 + } + ++# called by dracut + install() { + local _dir _crt _found _lib + inst_simple "$moddir/url-lib.sh" "/lib/url-lib.sh" +diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh +index bf33c5b..e25fc9f 100644 +--- a/modules.d/50drm/module-setup.sh ++++ b/modules.d/50drm/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + local _modname + # Include KMS capable drm drivers +diff --git a/modules.d/50gensplash/module-setup.sh b/modules.d/50gensplash/module-setup.sh +index cfee55a..64e8162 100755 +--- a/modules.d/50gensplash/module-setup.sh ++++ b/modules.d/50gensplash/module-setup.sh +@@ -2,16 +2,19 @@ + # -*- 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() { + # TODO: splash_geninitramfs + # TODO: /usr/share/splashutils/initrd.splash + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + local _opts + local _splash_theme +diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh +index e0e6936..1360924 100755 +--- a/modules.d/50plymouth/module-setup.sh ++++ b/modules.d/50plymouth/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + [[ "$mount_needs" ]] && return 1 + type -P plymouthd >/dev/null && type -P plymouth >/dev/null + } + ++# called by dracut + depends() { + echo drm + } + ++# called by dracut + install() { + if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \ + || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then +diff --git a/modules.d/80cms/module-setup.sh b/modules.d/80cms/module-setup.sh +index c99f236..0b921d8 100755 +--- a/modules.d/80cms/module-setup.sh ++++ b/modules.d/80cms/module-setup.sh +@@ -2,12 +2,14 @@ + # -*- 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() { + arch=$(uname -m) + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 + return 255 + } + ++# called by dracut + depends() { + arch=$(uname -m) + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 +@@ -15,10 +17,12 @@ depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods zfcp + } + ++# called by dracut + install() { + inst_hook pre-trigger 30 "$moddir/cmssetup.sh" + inst_hook pre-pivot 95 "$moddir/cms-write-ifcfg.sh" +diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh +index a280594..80a538f 100755 +--- a/modules.d/90btrfs/module-setup.sh ++++ b/modules.d/90btrfs/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # if we don't have btrfs installed on the host system, +@@ -18,15 +19,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo udev-rules + return 0 + } + ++# called by dracut + installkernel() { + instmods btrfs + } + ++# called by dracut + install() { + if ! inst_rules 64-btrfs.rules; then + inst_rules "$moddir/80-btrfs.rules" +diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh +index 1858391..7d18e33 100755 +--- a/modules.d/90crypt/module-setup.sh ++++ b/modules.d/90crypt/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # if cryptsetup is not installed, then we cannot support encrypted devices. +@@ -17,15 +18,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo dm rootfs-block + return 0 + } + ++# called by dracut + installkernel() { + instmods dm_crypt =crypto + } + ++# called by dracut + cmdline() { + local dev UUID + for dev in "${!host_fs_types[@]}"; do +@@ -44,6 +48,7 @@ cmdline() { + done + } + ++# called by dracut + install() { + + cmdline >> "${initdir}/etc/cmdline.d/90crypt.conf" +diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh +index fa38e85..bafad67 100755 +--- a/modules.d/90dm/module-setup.sh ++++ b/modules.d/90dm/module-setup.sh +@@ -2,20 +2,24 @@ + # -*- 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() { + type -P dmsetup >/dev/null || return 1 + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods =drivers/md + instmods dm_mod + } + ++# called by dracut + install() { + modinfo -k $kernel dm_mod >/dev/null 2>&1 && \ + inst_hook pre-udev 30 "$moddir/dm-pre-udev.sh" +diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh +index 11181cf..a9e27a6 100755 +--- a/modules.d/90dmraid/module-setup.sh ++++ b/modules.d/90dmraid/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # if we don't have dmraid installed on the host system, no point +@@ -27,11 +28,13 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo dm rootfs-block + return 0 + } + ++# called by dracut + cmdline() { + local _activated + declare -A _activated +@@ -58,6 +61,7 @@ cmdline() { + done + } + ++# called by dracut + install() { + local _i + +diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh +index c6d1f9d..851fd1a 100755 +--- a/modules.d/90dmsquash-live/module-setup.sh ++++ b/modules.d/90dmsquash-live/module-setup.sh +@@ -2,12 +2,14 @@ + # -*- 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() { + # a live host-only image doesn't really make a lot of sense + [[ $hostonly ]] && return 1 + return 255 + } + ++# called by dracut + depends() { + # if dmsetup is not installed, then we cannot support fedora/red hat + # style live images +@@ -15,10 +17,12 @@ depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods squashfs loop iso9660 + } + ++# called by dracut + install() { + inst_multiple umount dmsetup blkid dd losetup grep blockdev + inst_multiple -o checkisomd5 +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index e7e2ca0..f6d1c3d 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- + # ex: ts=8 sw=4 sts=4 et filetype=sh + ++# called by dracut + installkernel() { + if [[ -z $drivers ]]; then + block_module_filter() { +@@ -73,6 +74,7 @@ installkernel() { + : + } + ++# called by dracut + install() { + inst_multiple -o /lib/modprobe.d/*.conf + [[ $hostonly ]] && inst_multiple -o /etc/modprobe.d/*.conf /etc/modprobe.conf +diff --git a/modules.d/90livenet/module-setup.sh b/modules.d/90livenet/module-setup.sh +index be7832b..f1e757e 100755 +--- a/modules.d/90livenet/module-setup.sh ++++ b/modules.d/90livenet/module-setup.sh +@@ -1,15 +1,18 @@ + #!/bin/bash + # module-setup.sh for livenet + ++# called by dracut + check() { + return 255 + } + ++# called by dracut + depends() { + echo network url-lib dmsquash-live img-lib + return 0 + } + ++# called by dracut + install() { + inst_hook cmdline 29 "$moddir/parse-livenet.sh" + inst_hook initqueue/online 95 "$moddir/fetch-liveupdate.sh" +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index 514addc..f8b598d 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + # No point trying to support lvm if the binaries are missing + type -P lvm >/dev/null || return 1 +@@ -16,6 +17,7 @@ check() { + return 0 + } + ++# called by dracut + depends() { + # We depend on dm_mod being loaded + echo rootfs-block dm +@@ -41,12 +43,14 @@ get_host_lvs() { + done + } + ++# called by dracut + cmdline() { + get_host_lvs | while read line; do + printf " rd.lvm.lv=$line" + done + } + ++# called by dracut + install() { + local _i _needthin + +diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh +index 34aae1e..61483f2 100755 +--- a/modules.d/90mdraid/module-setup.sh ++++ b/modules.d/90mdraid/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # No mdadm? No mdraid support. +@@ -26,15 +27,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo rootfs-block + return 0 + } + ++# called by dracut + installkernel() { + instmods =drivers/md + } + ++# called by dracut + cmdline() { + local _activated dev line UUID + declare -A _activated +@@ -58,6 +62,7 @@ cmdline() { + done + } + ++# called by dracut + install() { + local rule rule_path + inst_multiple cat +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index feb58dc..261a957 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # if there's no multipath binary, no go. +@@ -21,12 +22,14 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo rootfs-block + echo dm + return 0 + } + ++# called by dracut + installkernel() { + local _ret + local _arch=$(uname -m) +@@ -67,6 +70,7 @@ installkernel() { + find_kernel_modules_by_path drivers/md ) | mp_mod_filter | instmods + } + ++# called by dracut + install() { + local _f + inst_multiple -o \ +diff --git a/modules.d/90qemu-net/module-setup.sh b/modules.d/90qemu-net/module-setup.sh +index 522a7b5..273d849 100755 +--- a/modules.d/90qemu-net/module-setup.sh ++++ b/modules.d/90qemu-net/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + if type -P systemd-detect-virt >/dev/null 2>&1; then + vm=$(systemd-detect-virt --vm >/dev/null 2>&1) +@@ -21,6 +22,7 @@ check() { + return 255 + } + ++# called by dracut + installkernel() { + # qemu specific modules + hostonly='' instmods virtio_net e1000 8139cp pcnet32 e100 ne2k_pci +diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh +index 0dbf081..b005f6f 100755 +--- a/modules.d/90qemu/module-setup.sh ++++ b/modules.d/90qemu/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + if type -P systemd-detect-virt >/dev/null 2>&1; then + vm=$(systemd-detect-virt --vm >/dev/null 2>&1) +@@ -20,6 +21,7 @@ check() { + return 255 + } + ++# called by dracut + installkernel() { + # qemu specific modules + hostonly='' instmods virtio_blk virtio virtio_ring virtio_pci ata_piix ata_generic pata_acpi cdrom sr_mod ahci virtio_scsi +diff --git a/modules.d/91crypt-gpg/module-setup.sh b/modules.d/91crypt-gpg/module-setup.sh +index 43a5a00..90c7bc2 100755 +--- a/modules.d/91crypt-gpg/module-setup.sh ++++ b/modules.d/91crypt-gpg/module-setup.sh +@@ -3,16 +3,19 @@ + # ex: ts=8 sw=4 sts=4 et filetype=sh + + # GPG support is optional ++# called by dracut + check() { + type -P gpg >/dev/null || return 1 + + return 255 + } + ++# called by dracut + depends() { + echo crypt + } + ++# called by dracut + install() { + inst_multiple gpg + inst "$moddir/crypt-gpg-lib.sh" "/lib/dracut-crypt-gpg-lib.sh" +diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh +index c14fd45..00052d3 100644 +--- a/modules.d/91crypt-loop/module-setup.sh ++++ b/modules.d/91crypt-loop/module-setup.sh +@@ -1,17 +1,21 @@ ++# called by dracut + check() { + type -P losetup >/dev/null || return 1 + + return 255 + } + ++# called by dracut + depends() { + echo crypt + } + ++# called by dracut + installkernel() { + instmods loop + } + ++# called by dracut + install() { + inst_multiple losetup + inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh" +diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh +index c17b973..546d2ff 100755 +--- a/modules.d/95cifs/module-setup.sh ++++ b/modules.d/95cifs/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + # If our prerequisites are not met, fail anyways. + type -P mount.cifs >/dev/null || return 1 +@@ -16,15 +17,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + # We depend on network modules being loaded + echo network + } + ++# called by dracut + installkernel() { + instmods cifs ipv6 + } + ++# called by dracut + install() { + local _i + local _nsslibs +diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh +index 3b8396d..861df29 100755 +--- a/modules.d/95dasd/module-setup.sh ++++ b/modules.d/95dasd/module-setup.sh +@@ -2,20 +2,24 @@ + # -*- 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) + [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 + return 0 + } + ++# called by dracut + depends() { + 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 +diff --git a/modules.d/95dasd_mod/module-setup.sh b/modules.d/95dasd_mod/module-setup.sh +index 9c9eeea..011010d 100755 +--- a/modules.d/95dasd_mod/module-setup.sh ++++ b/modules.d/95dasd_mod/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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) + [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 +@@ -9,14 +10,17 @@ check() { + return 0 + } + ++# called by dracut + depends() { + 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 31 "$moddir/parse-dasd-mod.sh" + inst_multiple dasd_cio_free grep sed seq +diff --git a/modules.d/95debug/module-setup.sh b/modules.d/95debug/module-setup.sh +index 1a554c6..88de833 100755 +--- a/modules.d/95debug/module-setup.sh ++++ b/modules.d/95debug/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + # do not add this module by default + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_multiple -o ps grep more cat rm strace free showmount \ + ping netstat rpcinfo vi scp ping6 ssh \ +diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh +index 08ba4ea..7ada2ee 100755 +--- a/modules.d/95fcoe/module-setup.sh ++++ b/modules.d/95fcoe/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + # FIXME + # If hostonly was requested, fail the check until we have some way of +@@ -15,15 +16,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo network rootfs-block + return 0 + } + ++# called by dracut + installkernel() { + instmods fcoe 8021q edd + } + ++# called by dracut + install() { + inst_multiple ip dcbtool fipvlan lldpad readlink + +diff --git a/modules.d/95fstab-sys/module-setup.sh b/modules.d/95fstab-sys/module-setup.sh +index ca66005..c31358c 100755 +--- a/modules.d/95fstab-sys/module-setup.sh ++++ b/modules.d/95fstab-sys/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + test -f /etc/fstab.sys || [[ -n $add_fstab || -n $fstab_lines ]] + } + ++# called by dracut + depends() { + echo fs-lib + } + ++# called by dracut + install() { + [ -f /etc/fstab.sys ] && inst_simple /etc/fstab.sys + inst_hook pre-pivot 00 "$moddir/mount-sys.sh" +diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh +index 502e834..c8051bd 100755 +--- a/modules.d/95iscsi/module-setup.sh ++++ b/modules.d/95iscsi/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # If our prerequisites are not met, fail anyways. +@@ -29,10 +30,12 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo network rootfs-block + } + ++# called by dracut + installkernel() { + local _arch=$(uname -m) + +@@ -75,6 +78,7 @@ installkernel() { + | iscsi_module_filter | instmods + } + ++# called by dracut + install() { + inst_multiple umount iscsistart hostname iscsi-iname + inst_multiple -o iscsiuio +diff --git a/modules.d/95nbd/module-setup.sh b/modules.d/95nbd/module-setup.sh +index 7b78180..ac30823 100755 +--- a/modules.d/95nbd/module-setup.sh ++++ b/modules.d/95nbd/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _rootdev + # If our prerequisites are not met, fail. +@@ -20,15 +21,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + # We depend on network modules being loaded + echo network rootfs-block + } + ++# called by dracut + installkernel() { + instmods nbd + } + ++# called by dracut + install() { + inst nbd-client + inst_hook cmdline 90 "$moddir/parse-nbdroot.sh" +diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh +index 75beb74..345810a 100755 +--- a/modules.d/95nfs/module-setup.sh ++++ b/modules.d/95nfs/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + # If our prerequisites are not met, fail anyways. + type -P rpcbind >/dev/null || type -P portmap >/dev/null || return 1 +@@ -19,15 +20,18 @@ check() { + return 0 + } + ++# called by dracut + depends() { + # We depend on network modules being loaded + echo network + } + ++# called by dracut + installkernel() { + instmods nfs sunrpc ipv6 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files + } + ++# called by dracut + install() { + local _i + local _nsslibs +diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh +index a1ddb46..8b37616 100755 +--- a/modules.d/95resume/module-setup.sh ++++ b/modules.d/95resume/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + # No point trying to support resume, if no swap partition exist + [[ $hostonly ]] || [[ $mount_needs ]] && { +@@ -14,6 +15,7 @@ check() { + return 0 + } + ++# called by dracut + install() { + local _bin + # Optional uswsusp support +diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh +index 7e714eb..7bd0d2f 100755 +--- a/modules.d/95rootfs-block/module-setup.sh ++++ b/modules.d/95rootfs-block/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 0 + } + ++# called by dracut + depends() { + echo fs-lib + } + ++# called by dracut + cmdline() { + local dev=/dev/block/$(find_root_block_device) + if [ -e $dev ]; then +@@ -19,6 +22,7 @@ cmdline() { + fi + } + ++# called by dracut + install() { + + if [[ $hostonly ]]; then +diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh +index 66e5307..1f2b733 100755 +--- a/modules.d/95ssh-client/module-setup.sh ++++ b/modules.d/95ssh-client/module-setup.sh +@@ -4,6 +4,7 @@ + + # fixme: assume user is root + ++# called by dracut + check() { + # If our prerequisites are not met, fail. + type -P ssh >/dev/null || return 1 +@@ -20,6 +21,7 @@ check() { + return 255 + } + ++# called by dracut + depends() { + # We depend on network modules being loaded + echo network +@@ -46,6 +48,7 @@ inst_sshenv() + return 0 + } + ++# called by dracut + install() { + inst_multiple ssh scp + inst_sshenv +diff --git a/modules.d/95terminfo/module-setup.sh b/modules.d/95terminfo/module-setup.sh +index 4656cd3..6848cb9 100755 +--- a/modules.d/95terminfo/module-setup.sh ++++ b/modules.d/95terminfo/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- + # ex: ts=8 sw=4 sts=4 et filetype=sh + ++# called by dracut + install() { + local _terminfodir + # terminfo bits make things work better if you fall into interactive mode +diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh +index 2cdcc1b..88c3da2 100755 +--- a/modules.d/95udev-rules/module-setup.sh ++++ b/modules.d/95udev-rules/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- + # ex: ts=8 sw=4 sts=4 et filetype=sh + ++# called by dracut + install() { + local _i + +diff --git a/modules.d/95virtfs/module-setup.sh b/modules.d/95virtfs/module-setup.sh +index 12bd354..7d6d0f1 100755 +--- a/modules.d/95virtfs/module-setup.sh ++++ b/modules.d/95virtfs/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 ]] && { + for fs in ${host_fs_types[@]}; do +@@ -27,14 +28,17 @@ check() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods 9p 9pnet_virtio virtio_pci + } + ++# called by dracut + install() { + inst_hook cmdline 95 "$moddir/parse-virtfs.sh" + inst_hook mount 99 "$moddir/mount-virtfs.sh" +diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh +index 9906695..5d9b506 100755 +--- a/modules.d/95zfcp/module-setup.sh ++++ b/modules.d/95zfcp/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + arch=$(uname -m) + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 +@@ -9,6 +10,7 @@ check() { + return 0 + } + ++# called by dracut + depends() { + arch=$(uname -m) + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 +@@ -16,10 +18,12 @@ depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods zfcp + } + ++# called by dracut + install() { + inst_hook cmdline 30 "$moddir/parse-zfcp.sh" + inst_multiple zfcp_cio_free grep sed seq +diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh +index 16f8493..4c211a9 100755 +--- a/modules.d/95znet/module-setup.sh ++++ b/modules.d/95znet/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + arch=$(uname -m) + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 +@@ -9,14 +10,17 @@ check() { + return 0 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods ctcm lcs qeth qeth_l2 qeth_l3 + } + ++# called by dracut + install() { + inst_hook cmdline 30 "$moddir/parse-ccw.sh" + inst_rules 81-ccw.rules +diff --git a/modules.d/96securityfs/module-setup.sh b/modules.d/96securityfs/module-setup.sh +index fbe3aa3..d4e6118 100755 +--- a/modules.d/96securityfs/module-setup.sh ++++ b/modules.d/96securityfs/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook cmdline 60 "$moddir/securityfs.sh" + } +diff --git a/modules.d/97biosdevname/module-setup.sh b/modules.d/97biosdevname/module-setup.sh +index 4a0b4f4..b51c472 100755 +--- a/modules.d/97biosdevname/module-setup.sh ++++ b/modules.d/97biosdevname/module-setup.sh +@@ -2,16 +2,19 @@ + # -*- 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() { + [[ "$mount_needs" ]] && return 1 + type -P biosdevname >/dev/null || return 1 + return 0 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_multiple biosdevname + inst_rules 71-biosdevname.rules +diff --git a/modules.d/97masterkey/module-setup.sh b/modules.d/97masterkey/module-setup.sh +index a94c4f5..e6e3690 100755 +--- a/modules.d/97masterkey/module-setup.sh ++++ b/modules.d/97masterkey/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 ]] && { + [ -x "/bin/keyctl" ] || return 1 +@@ -10,14 +11,17 @@ check() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + installkernel() { + instmods trusted encrypted + } + ++# called by dracut + install() { + inst_multiple keyctl uname + inst_hook pre-pivot 60 "$moddir/masterkey.sh" +diff --git a/modules.d/98ecryptfs/module-setup.sh b/modules.d/98ecryptfs/module-setup.sh +index b0d6754..e12fad4 100755 +--- a/modules.d/98ecryptfs/module-setup.sh ++++ b/modules.d/98ecryptfs/module-setup.sh +@@ -2,19 +2,23 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + echo masterkey + return 0 + } + ++# called by dracut + installkernel() { + instmods ecryptfs + } + ++# called by dracut + install() { + inst_hook pre-pivot 63 "$moddir/ecryptfs-mount.sh" + } +diff --git a/modules.d/98integrity/module-setup.sh b/modules.d/98integrity/module-setup.sh +index ff1b4aa..f8f30ed 100755 +--- a/modules.d/98integrity/module-setup.sh ++++ b/modules.d/98integrity/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + echo masterkey securityfs selinux + return 0 + } + ++# called by dracut + install() { + inst_hook pre-pivot 61 "$moddir/evm-enable.sh" + inst_hook pre-pivot 62 "$moddir/ima-policy-load.sh" +diff --git a/modules.d/98pollcdrom/module-setup.sh b/modules.d/98pollcdrom/module-setup.sh +index e80ae16..94ff952 100755 +--- a/modules.d/98pollcdrom/module-setup.sh ++++ b/modules.d/98pollcdrom/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook initqueue/settled 99 "$moddir/pollcdrom.sh" + } +diff --git a/modules.d/98selinux/module-setup.sh b/modules.d/98selinux/module-setup.sh +index 4d5147b..90bf34b 100755 +--- a/modules.d/98selinux/module-setup.sh ++++ b/modules.d/98selinux/module-setup.sh +@@ -2,14 +2,17 @@ + # -*- 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() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_hook pre-pivot 50 "$moddir/selinux-loadpolicy.sh" + inst_multiple setenforce +diff --git a/modules.d/98syslog/module-setup.sh b/modules.d/98syslog/module-setup.sh +index daa9021..b8494c8 100755 +--- a/modules.d/98syslog/module-setup.sh ++++ b/modules.d/98syslog/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + # do not add this module by default + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + local _i + local _installs +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index a5ac2a5..748e25b 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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() { + [[ $mount_needs ]] && return 1 + if [[ -x $systemdutildir/systemd ]]; then +@@ -13,10 +14,12 @@ check() { + return 1 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + local _mods + +diff --git a/modules.d/98usrmount/module-setup.sh b/modules.d/98usrmount/module-setup.sh +index a668069..1af789f 100755 +--- a/modules.d/98usrmount/module-setup.sh ++++ b/modules.d/98usrmount/module-setup.sh +@@ -2,6 +2,7 @@ + # -*- 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 _init + [[ $mount_needs ]] && return 1 +@@ -10,10 +11,12 @@ check() { + return 0 + } + ++# called by dracut + depends() { + echo 'fs-lib' + } + ++# called by dracut + install() { + if ! dracut_module_included "systemd"; then + inst_hook pre-pivot 50 "$moddir/mount-usr.sh" +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index d33a0fb..e53cf2e 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + return 0 + } + ++# called by dracut + depends() { + echo udev-rules + return 0 + } + ++# called by dracut + install() { + local _d + +diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh +index c9c88b7..7979bab 100755 +--- a/modules.d/99fs-lib/module-setup.sh ++++ b/modules.d/99fs-lib/module-setup.sh +@@ -2,10 +2,12 @@ + # -*- 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() { + return 0 + } + ++# called by dracut + depends() { + return 0 + } +@@ -44,6 +46,7 @@ include_fs_helper_modules() { + esac + } + ++# called by dracut + installkernel() { + # xfs and btrfs needs crc32c... + if [[ $hostonly ]]; then +@@ -54,6 +57,7 @@ installkernel() { + fi + } + ++# called by dracut + install() { + local _helpers + +diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh +index 28bfc2a..2c3c992 100755 +--- a/modules.d/99img-lib/module-setup.sh ++++ b/modules.d/99img-lib/module-setup.sh +@@ -1,6 +1,7 @@ + #!/bin/bash + # module-setup for img-lib + ++# called by dracut + check() { + for cmd in tar gzip dd; do + command -v $cmd >/dev/null || return 1 +@@ -8,10 +9,12 @@ check() { + return 255 + } + ++# called by dracut + depends() { + return 0 + } + ++# called by dracut + install() { + inst_multiple tar gzip dd bash + # TODO: make this conditional on a cmdline flag / config option +diff --git a/modules.d/99shutdown/module-setup.sh b/modules.d/99shutdown/module-setup.sh +index 5361936..c09d886 100755 +--- a/modules.d/99shutdown/module-setup.sh ++++ b/modules.d/99shutdown/module-setup.sh +@@ -2,15 +2,18 @@ + # -*- 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() { + return 0 + } + ++# called by dracut + depends() { + echo base + return 0 + } + ++# called by dracut + install() { + local _d + inst_multiple umount poweroff reboot halt losetup +-- +1.8.4.3 + diff --git a/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch b/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch new file mode 100644 index 000000000000..b2dfc777814c --- /dev/null +++ b/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch @@ -0,0 +1,40 @@ +From a70dff7f103b27d5b7016e13a64c7710c61dc96e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Wed, 16 Oct 2013 11:30:08 +0200 +Subject: [PATCH 11/12] lvm: fix thin recognition + +The global var setting was happening in a pipe and did not have an +effect. + +Use <<<$() instead. + +< <() cannot be used, because dracut is called in chroot's environments, +where /dev/fd does not point to /proc/self/fd, but bash wants +/dev/fd/<num> for this construct. +--- + modules.d/90lvm/module-setup.sh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index f8b598d..cbdf4a2 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -57,12 +57,13 @@ install() { + inst lvm + + if [[ $hostonly ]]; then +- get_host_lvs | while read line; do ++ while read line; do ++ [[ -n "$line" ]] || continue + printf "%s" " rd.lvm.lv=$line" + if ! [[ $_needthin ]]; then + [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1 + fi +- done >> "${initdir}/etc/cmdline.d/90lvm.conf" ++ done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf" + echo >> "${initdir}/etc/cmdline.d/90lvm.conf" + else + _needthin=1 +-- +1.8.4.3 + diff --git a/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch b/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch new file mode 100644 index 000000000000..074566b69a48 --- /dev/null +++ b/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch @@ -0,0 +1,79 @@ +From 615071016ecfa223b2744fc17e137de780167115 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Mon, 21 Oct 2013 09:09:26 +0200 +Subject: [PATCH 12/12] lvm: always install thin utils for lvm + +--- + modules.d/90lvm/module-setup.sh | 33 +++++++-------------------------- + 1 file changed, 7 insertions(+), 26 deletions(-) + +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index cbdf4a2..87374da 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -24,7 +24,8 @@ depends() { + return 0 + } + +-get_host_lvs() { ++# called by dracut ++cmdline() { + local _activated + declare -A _activated + +@@ -37,37 +38,20 @@ get_host_lvs() { + eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2>/dev/null) + [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1 + if ! [[ ${_activated[${DM_VG_NAME}/${DM_LV_NAME}]} ]]; then +- printf "%s\n" "${DM_VG_NAME}/${DM_LV_NAME} " ++ printf " rd.lvm.lv=%s\n" "${DM_VG_NAME}/${DM_LV_NAME} " + _activated["${DM_VG_NAME}/${DM_LV_NAME}"]=1 + fi + done + } + + # called by dracut +-cmdline() { +- get_host_lvs | while read line; do +- printf " rd.lvm.lv=$line" +- done +-} +- +-# called by dracut + install() { +- local _i _needthin ++ local _i + + inst lvm + +- if [[ $hostonly ]]; then +- while read line; do +- [[ -n "$line" ]] || continue +- printf "%s" " rd.lvm.lv=$line" +- if ! [[ $_needthin ]]; then +- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1 +- fi +- done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf" +- echo >> "${initdir}/etc/cmdline.d/90lvm.conf" +- else +- _needthin=1 +- fi ++ cmdline >> "${initdir}/etc/cmdline.d/90lvm.conf" ++ echo >> "${initdir}/etc/cmdline.d/90lvm.conf" + + inst_rules "$moddir/64-lvm.rules" + +@@ -103,9 +87,6 @@ install() { + + inst_libdir_file "libdevmapper-event-lvm*.so" + +- if [[ $_needthin ]]; then +- inst_multiple -o thin_dump thin_restore thin_check thin_repair +- fi +- ++ inst_multiple -o thin_dump thin_restore thin_check thin_repair + } + +-- +1.8.4.3 + |