From 2c9dfc449498af543b75bc3eeabd8e33717084f0 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 25 Nov 2013 17:45:33 -0800 Subject: [PATCH] bump(sys-kernel/dracut): Update to dracut 034-r1 Copy from upstream, minus the sysvinit dependency. --- .../coreos-overlay/sys-kernel/dracut/Manifest | 1 + .../sys-kernel/dracut/dracut-034-r1.ebuild | 320 +++ ...acut.sh-do-not-bail-out-if-kernel-mo.patch | 42 + ...acut-functions.sh-support-for-altern.patch | 41 + ...ntoo.conf-let-udevdir-be-handled-by-.patch | 30 + ...e-the-same-paths-in-dracut.sh-as-tho.patch | 74 + ...stall-dracut-install-into-libexec-di.patch | 81 + ...esume-fix-swap-detection-in-hostonly.patch | 31 + ...acut.sh-also-mkdir-run-lock-which-is.patch | 25 + ...acut.sh-no-need-to-make-subdirs-in-r.patch | 25 + ...m-install-thin-utils-for-non-hostonl.patch | 41 + ...dule-setup.sh-add-comments-for-dracu.patch | 1785 +++++++++++++++++ .../034-0011-lvm-fix-thin-recognition.patch | 40 + ...vm-always-install-thin-utils-for-lvm.patch | 79 + 14 files changed, 2615 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/dracut-034-r1.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0002-dracut-functions.sh-support-for-altern.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0003-gentoo.conf-let-udevdir-be-handled-by-.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0005-Install-dracut-install-into-libexec-di.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0006-resume-fix-swap-detection-in-hostonly.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/Manifest index 3f603aef4d..0ced870bbd 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/Manifest @@ -1 +1,2 @@ DIST dracut-031.tar.bz2 260601 SHA256 a62fd3d22600adc0f370d2eff474f9aec51bc3dfb2be619647f258a9805bbb77 SHA512 ddde1279cff61b6fd8567f5e21b5f8d95e935e42520a342960432749c6a085637a5e049e6fd121d491727aea3b35af59e86c8b80e55180f3b5e496aff2b6eb23 WHIRLPOOL 46c9d2a3717fd8c36aac269a213a433f6534b2a547e0b23a31ffca9a4101c69c7253358fccb8a55a0ab9b19d4c4218eb902c49a6cc0fc08c48e3cd70c40eebc2 +DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1e2ffaa40b762f257516d7f SHA512 ae06510668e63550d4d6b509b314c7668880387cfe696fc7f21cf04cc488be743440871dbd1fcf4e8314f9aa9e61ee3e78a42a75631123c420767677c6744e34 WHIRLPOOL 0412dea239fbd82d79e873869211ea31b7495dac74d7079e8aa52dd8d2484986fd0a0831aefffe29cfe5acfbf64fa01a9a1fa742192a28276a8671b663a69e13 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/dracut-034-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/dracut-034-r1.ebuild new file mode 100644 index 0000000000..1d5389a453 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/dracut-034-r1.ebuild @@ -0,0 +1,320 @@ +# 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.3 2013/11/18 19:10:48 aidecoe Exp $ + +EAPI=4 + +inherit bash-completion-r1 eutils linux-info multilib systemd + +add_req_use_for() { + local dep="$1"; shift + local f + + for f in "$@"; do + REQUIRED_USE+="${f}? ( ${dep} ) +" + done +} + +DESCRIPTION="Generic initramfs generation tool" +HOMEPAGE="http://dracut.wiki.kernel.org" +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +REQUIRED_USE=" + dracut_modules_bootchart? ( !dracut_modules_systemd ) + dracut_modules_crypt-gpg? ( dracut_modules_crypt ) + dracut_modules_crypt-loop? ( dracut_modules_crypt ) + dracut_modules_livenet? ( dracut_modules_dmsquash-live ) + " +COMMON_MODULES=" + dracut_modules_biosdevname + dracut_modules_bootchart + dracut_modules_btrfs + dracut_modules_caps + dracut_modules_crypt-gpg + dracut_modules_crypt-loop + dracut_modules_dash + dracut_modules_gensplash + dracut_modules_mdraid + dracut_modules_multipath + dracut_modules_plymouth + dracut_modules_syslog + dracut_modules_systemd + " +DM_MODULES=" + dracut_modules_crypt + dracut_modules_dmraid + dracut_modules_dmsquash-live + dracut_modules_livenet + dracut_modules_lvm + " +NETWORK_MODULES=" + dracut_modules_cifs + dracut_modules_iscsi + dracut_modules_livenet + dracut_modules_nbd + dracut_modules_nfs + dracut_modules_ssh-client + " +add_req_use_for device-mapper ${DM_MODULES} +add_req_use_for net ${NETWORK_MODULES} +IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}" +IUSE="debug device-mapper net selinux ${IUSE_DRACUT_MODULES}" + +RESTRICT="test" + +CDEPEND="virtual/udev + dracut_modules_systemd? ( >=sys-apps/systemd-199 ) + selinux? ( sec-policy/selinux-dracut ) + " +RDEPEND="${CDEPEND} + app-arch/cpio + >=app-shells/bash-4.0 + >=sys-apps/baselayout-1.12.14-r1 + >sys-apps/kmod-5[tools] + >=sys-apps/util-linux-2.21 + virtual/pkgconfig + + debug? ( dev-util/strace ) + device-mapper? ( >=sys-fs/lvm2-2.02.33 ) + net? ( net-misc/curl >=net-misc/dhcp-4.2.4_p2-r1[client] sys-apps/iproute2 ) + selinux? ( sys-libs/libselinux sys-libs/libsepol ) + dracut_modules_biosdevname? ( sys-apps/biosdevname ) + dracut_modules_bootchart? ( app-benchmarks/bootchart2 sys-apps/usleep + sys-process/acct ) + dracut_modules_btrfs? ( sys-fs/btrfs-progs ) + dracut_modules_caps? ( sys-libs/libcap ) + dracut_modules_cifs? ( net-fs/cifs-utils ) + dracut_modules_crypt? ( sys-fs/cryptsetup ) + dracut_modules_crypt-gpg? ( app-crypt/gnupg ) + dracut_modules_dash? ( >=app-shells/dash-0.5.4.11 ) + dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools ) + dracut_modules_gensplash? ( media-gfx/splashutils ) + dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 ) + dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 ) + dracut_modules_mdraid? ( >=sys-fs/mdadm-3.2.6-r1 ) + dracut_modules_multipath? ( sys-fs/multipath-tools ) + dracut_modules_nbd? ( sys-block/nbd ) + dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind ) + dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 ) + dracut_modules_ssh-client? ( dev-libs/openssl ) + dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) ) + " +DEPEND="${CDEPEND} + app-text/asciidoc + >=dev-libs/libxslt-1.1.26 + app-text/docbook-xml-dtd:4.5 + >=app-text/docbook-xsl-stylesheets-1.75.2 + " + +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules + README.testsuite TODO ) +MY_LIBDIR=/usr/lib + +# +# Helper functions +# + +# Returns true if any of specified modules is enabled by USE flag and false +# otherwise. +# $1 = list of modules (which have corresponding USE flags of the same name) +any_module() { + local m modules=" $@ " + + for m in ${modules}; do + ! use $m && modules=${modules/ $m / } + done + + shopt -s extglob + modules=${modules%%+( )} + shopt -u extglob + + [[ ${modules} ]] +} + +# Removes module from modules.d. +# $1 = module name +# Module name can be specified without number prefix. +rm_module() { + local force m + [[ $1 = -f ]] && force=-f + + for m in $@; do + if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then + rm ${force} --interactive=never -r "${modules_dir}"/$m + else + rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m + fi + done +} + +# +# ebuild functions +# + +src_prepare() { + epatch "${FILESDIR}/${PV}-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch" + epatch "${FILESDIR}/${PV}-0002-dracut-functions.sh-support-for-altern.patch" + epatch "${FILESDIR}/${PV}-0003-gentoo.conf-let-udevdir-be-handled-by-.patch" + 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 + + #local ldir + #for ldir in $(get_all_libdirs); do + # libdirs+=" /$ldir /usr/$ldir" + #done + #libdirs="${libdirs# }" + + libdirs="/$(get_libdir) /usr/$(get_libdir)" + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib" + einfo "Setting libdirs to \"${libdirs}\" ..." + sed -e "3alibdirs=\"${libdirs}\"" \ + -i "${S}/dracut.conf.d/gentoo.conf.example" || die + + if use dracut_modules_systemd; then + local systemdutildir="$(systemd_get_utildir)" + local systemdsystemunitdir="$(systemd_get_unitdir)" + einfo "Setting systemdutildir to ${systemdutildir} and ..." + sed -e "5asystemdutildir=\"${systemdutildir}\"" \ + -i "${S}/dracut.conf.d/gentoo.conf.example" || die + einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir}..." + sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \ + -i "${S}/dracut.conf.d/gentoo.conf.example" || die + fi +} + +src_configure() { + local myconf="--libdir=${MY_LIBDIR}" + myconf+=" --bashcompletiondir=$(get_bashcompdir)" + + if use dracut_modules_systemd; then + myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'" + fi + + econf ${myconf} +} + +src_compile() { + tc-export CC + emake doc install/dracut-install +} + +src_install() { + default + + local my_libdir="${MY_LIBDIR}" + local dracutlibdir="${my_libdir#/}/dracut" + + echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh" + + insinto "${dracutlibdir}/dracut.conf.d/" + newins dracut.conf.d/gentoo.conf.example gentoo.conf + + insinto /etc/logrotate.d + newins dracut.logrotate dracut + + dodir /var/lib/dracut/overlay + + dohtml dracut.html + + # + # Modules + # + local module + modules_dir="${D%/}/${dracutlibdir}/modules.d" + + # Remove modules not enabled by USE flags + for module in ${IUSE_DRACUT_MODULES} ; do + ! use ${module} && rm_module -f ${module#dracut_modules_} + done + + # Those flags are specific, and even are corresponding to modules, they need + # to be declared as regular USE flags. + use debug || rm_module 95debug + use selinux || rm_module 98selinux + + # Following flags define set of helper modules which are base dependencies + # for others and as so have no practical use, so remove these modules. + use device-mapper || rm_module 90dm + use net || rm_module 40network 45ifcfg 45url-lib + + if use dracut_modules_systemd; then + # With systemd following modules do not make sense + rm_module 96securityfs 98selinux + else + # Without systemd following modules do not make sense + rm_module 00systemd-bootchart + fi + + # Remove S/390 modules which are not tested at all + rm_module 80cms 95dasd 95dasd_mod 95zfcp 95znet + + # Remove modules which won't work for sure + rm_module 95fcoe # no tools + # fips module depends on masked app-crypt/hmaccalc + rm_module 01fips 02fips-aesni + + # Remove extra modules which go to future dracut-extras + rm_module 05busybox 97masterkey 98ecryptfs 98integrity +} + +pkg_postinst() { + if linux-info_get_any_version && linux_config_src_exists; then + ewarn "" + ewarn "If the following test report contains a missing kernel" + ewarn "configuration option, you should reconfigure and rebuild your" + ewarn "kernel before booting image generated with this Dracut version." + ewarn "" + + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS" + + # Kernel configuration options descriptions: + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev" + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\ +"(initramfs/initrd) support" + + local opt desc + + # Generate ERROR_* variables for check_extra_config. + for opt in ${CONFIG_CHECK}; do + opt=${opt#\~} + desc=desc_${opt} + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \ + "is missing and REQUIRED'" + done + + check_extra_config + echo + else + ewarn "" + ewarn "Your kernel configuration couldn't be checked. Do you have" + ewarn "/usr/src/linux/.config file there? Please check manually if" + ewarn "following options are enabled:" + ewarn "" + ewarn " CONFIG_BLK_DEV_INITRD" + ewarn " CONFIG_DEVTMPFS" + ewarn "" + fi + + if use dracut_modules_crypt || use dracut_modules_dmraid || use \ + dracut_modules_mdraid || use dracut_modules_lvm; then + + if ! [[ $(=dracut-024." + ewarn "Use rd.auto option to turn it on." + fi + fi +} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch new file mode 100644 index 0000000000..7500ecfdb7 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch @@ -0,0 +1,42 @@ +From 45e5079d4be0ac1a977bc41dcda423fcfa3280fc Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 8 Oct 2013 15:03:40 +0200 +Subject: [PATCH 1/5] dracut.sh: do not bail out, if kernel modules dir is + missing + +and only print a warning message +--- + dracut.sh | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/dracut.sh b/dracut.sh +index e135dfc..d9533dd 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -496,17 +496,18 @@ if [[ $regenerate_all == "yes" ]]; then + ((ret+=$?)) + done + exit $ret +-elif [[ $kernel ]]; then +- if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then +- printf -- "Kernel version $kernel has no modules in /lib/modules/$kernel\n" >&2 +- exit 1 +- fi + fi + + if ! [[ $kernel ]]; then + kernel=$(uname -r) + fi + ++if [[ $kernel ]]; then ++ if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then ++ printf -- "Kernel version $kernel has no module directory /lib/modules/$kernel\n" >&2 ++ fi ++fi ++ + if ! [[ $outfile ]]; then + [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id + +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0002-dracut-functions.sh-support-for-altern.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0002-dracut-functions.sh-support-for-altern.patch new file mode 100644 index 0000000000..acb2db7677 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0002-dracut-functions.sh-support-for-altern.patch @@ -0,0 +1,41 @@ +From c5a2f35eb2a90d8787d127b44cb6b5e0536d16ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Sun, 6 Jan 2013 13:35:01 +0100 +Subject: [PATCH 2/5] dracut-functions.sh: support for alternative udev dirs - + udevaltdirs + +It is required for Gentoo which moves udev from / to /usr and supports +both /lib/udev and /usr/lib/udev for compatibility with other packages. + +Credits go to Alexander Tsoy . + +Conflicts: + dracut-functions.sh +--- + dracut-functions.sh | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 45e0911..c1cbdeb 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -872,6 +872,16 @@ inst_rules() { + inst_dir "$_target" + for _rule in "$@"; do + if [ "${_rule#/}" = "$_rule" ]; then ++ for r in ${udevaltdirs}; do ++ [[ "$r" = "${udevdir}" ]] && continue ++ if [[ -e $r/rules.d/$_rule ]]; then ++ _found="$r/rules.d/$_rule" ++ inst_rule_programs "$_found" ++ inst_rule_group_owner "$_found" ++ inst_rule_initqueue "$_found" ++ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}" ++ fi ++ done + for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do + if [[ -e $r/$_rule ]]; then + _found="$r/$_rule" +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0003-gentoo.conf-let-udevdir-be-handled-by-.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0003-gentoo.conf-let-udevdir-be-handled-by-.patch new file mode 100644 index 0000000000..e5bee434ef --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0003-gentoo.conf-let-udevdir-be-handled-by-.patch @@ -0,0 +1,30 @@ +From 29ade4d78b7609877659aa5938b3fba2954ce415 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Sun, 16 Dec 2012 20:02:48 +0100 +Subject: [PATCH 3/5] gentoo.conf: let udevdir= be handled by pkg-config and + use udevaltdirs + +To avoid need of rebuild after udev update/downgrade let udevdir= be set +dynamically with pkg-config. Use udevaltdirs to search for rules both +in old and new locations. +--- + dracut.conf.d/gentoo.conf.example | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example +index 26e7314..f9617f0 100644 +--- a/dracut.conf.d/gentoo.conf.example ++++ b/dracut.conf.d/gentoo.conf.example +@@ -1,7 +1,8 @@ + # /etc/dracut.conf.d/gentoo.conf + # dracut config file customized for Gentoo Base System release 2 + +-udevdir=/lib/udev ++udevdir= ++udevaltdirs="/lib/udev /usr/lib/udev" + ro_mnt=yes + + # +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch new file mode 100644 index 0000000000..dec964e5a8 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch @@ -0,0 +1,74 @@ +From 6660721bd34b7a25026ffc6a6df4cdfdc8742ed3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Wed, 2 Oct 2013 22:37:09 +0200 +Subject: [PATCH 4/5] Use the same paths in dracut.sh as those set with + configure script + +Makefile alters destination main dracut script and sets dracutbasedir to +the value of pkglibdir set in configure. +--- + Makefile | 3 +++ + dracut.sh | 9 ++++----- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 124a41b..ea504f5 100644 +--- a/Makefile ++++ b/Makefile +@@ -91,6 +91,9 @@ install: dracut-version.sh + mkdir -p $(DESTDIR)$(pkglibdir)/modules.d + mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8 + install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut ++ sed -r \ ++ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \ ++ -i $(DESTDIR)$(bindir)/dracut + install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages + install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd + install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd +diff --git a/dracut.sh b/dracut.sh +index d9533dd..cf18c81 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -26,10 +26,13 @@ + # store for logging + dracut_args=( "$@" ) + ++# base dirs ++pkglibdir=/usr/lib/dracut ++dracutbasedir="$pkglibdir" ++ + set -o pipefail + + usage() { +- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut + if [[ -f $dracutbasedir/dracut-version.sh ]]; then + . $dracutbasedir/dracut-version.sh + fi +@@ -54,7 +57,6 @@ EOF + } + + long_usage() { +- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut + if [[ -f $dracutbasedir/dracut-version.sh ]]; then + . $dracutbasedir/dracut-version.sh + fi +@@ -549,8 +551,6 @@ export DRACUT_LOG_LEVEL=warning + debug=yes + } + +-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +- + # if we were not passed a config file, try the default one + if [[ ! -f $conffile ]]; then + if [[ $allowlocal ]]; then +@@ -669,7 +669,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) + [[ $use_fstab_l ]] && use_fstab=$use_fstab_l + [[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l + [[ $lvmconf_l ]] && lvmconf=$lvmconf_l +-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut + [[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware" + [[ $tmpdir_l ]] && tmpdir="$tmpdir_l" + [[ $tmpdir ]] || tmpdir=/var/tmp +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0005-Install-dracut-install-into-libexec-di.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0005-Install-dracut-install-into-libexec-di.patch new file mode 100644 index 0000000000..6af99197ed --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0005-Install-dracut-install-into-libexec-di.patch @@ -0,0 +1,81 @@ +From 80dbe6dfbdb2cd3475006e210fe057dceb81ddf2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Wed, 2 Oct 2013 22:40:43 +0200 +Subject: [PATCH 5/5] Install dracut-install into libexec dir instead of lib + dir + +dracut-install script is the only thing ABI specific atm. + +See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the +problem. +--- + Makefile | 4 +++- + configure | 1 + + dracut-functions.sh | 4 ++++ + dracut.sh | 1 + + 4 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index ea504f5..e004a79 100644 +--- a/Makefile ++++ b/Makefile +@@ -92,6 +92,7 @@ install: dracut-version.sh + mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8 + install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut + sed -r \ ++ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \ + -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \ + -i $(DESTDIR)$(bindir)/dracut + install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages +@@ -135,7 +136,8 @@ endif + done \ + fi + if [ -f install/dracut-install ]; then \ +- install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \ ++ mkdir -p $(DESTDIR)$(libexecdir); \ ++ install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut-install; \ + fi + mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d + install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install +diff --git a/configure b/configure +index 19b5e1f..d2ffc2c 100755 +--- a/configure ++++ b/configure +@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin} + mandir ?= ${mandir:-${prefix}/share/man} + enable_documentation ?= ${enable_documentation:-yes} + bindir ?= ${bindir:-${prefix}/bin} ++libexecdir ?= ${libexecdir:-${prefix}/libexec} + EOF + + { +diff --git a/dracut-functions.sh b/dracut-functions.sh +index c1cbdeb..72b7f1b 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -694,6 +694,10 @@ if ! [[ $DRACUT_INSTALL ]]; then + DRACUT_INSTALL=$(find_binary dracut-install) + fi + ++if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then ++ DRACUT_INSTALL=$libexecdir/dracut-install ++fi ++ + if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then + DRACUT_INSTALL=$dracutbasedir/dracut-install + fi +diff --git a/dracut.sh b/dracut.sh +index cf18c81..e28b929 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -27,6 +27,7 @@ + dracut_args=( "$@" ) + + # base dirs ++libexecdir=/usr/libexec + pkglibdir=/usr/lib/dracut + dracutbasedir="$pkglibdir" + +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0006-resume-fix-swap-detection-in-hostonly.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0006-resume-fix-swap-detection-in-hostonly.patch new file mode 100644 index 0000000000..e97780c259 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0006-resume-fix-swap-detection-in-hostonly.patch @@ -0,0 +1,31 @@ +From 0c89bcc27516803d68444488ede3d513ba982039 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Wed, 9 Oct 2013 06:39:46 +0400 +Subject: [PATCH 6/6] resume: fix swap detection in hostonly + +Check for other possible fs types. This fixes swap detection when using +TuxOnIce kernel. + +Note that parse-resume.sh generate udev rules with support for +ID_FS_TYPE=suspend, but we do not include it here, because it is +libvolume_id thing and host_fs_types is populated using blkid. +--- + modules.d/95resume/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh +index 518ebf0..a1ddb46 100755 +--- a/modules.d/95resume/module-setup.sh ++++ b/modules.d/95resume/module-setup.sh +@@ -6,7 +6,7 @@ check() { + # No point trying to support resume, if no swap partition exist + [[ $hostonly ]] || [[ $mount_needs ]] && { + for fs in "${host_fs_types[@]}"; do +- [[ $fs = swap ]] && return 0 ++ [[ $fs =~ ^(swap|swsuspend|swsupend)$ ]] && return 0 + done + return 255 + } +-- +1.8.3.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch new file mode 100644 index 0000000000..0cf2586ed4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch new file mode 100644 index 0000000000..380411cc5f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0009-lvm-install-thin-utils-for-non-hostonl.patch new file mode 100644 index 0000000000..8bf0f7c398 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0010-module-setup.sh-add-comments-for-dracu.patch new file mode 100644 index 0000000000..47fb399aca --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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 + ++# 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/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0011-lvm-fix-thin-recognition.patch new file mode 100644 index 0000000000..b2dfc77781 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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/ 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/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/034-0012-lvm-always-install-thin-utils-for-lvm.patch new file mode 100644 index 0000000000..074566b69a --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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 +