feat(dracut): add the packages necessary for dracut

We are going to need dracut since our initramfs will need udev, etc for
disk discovery. This pulls in the necessary packages.
This commit is contained in:
Brandon Philips 2013-06-11 17:21:50 -07:00
parent 9eec050a4a
commit 16e4a79e2b
64 changed files with 4464 additions and 0 deletions

View File

@ -101,3 +101,8 @@
# CRIU dependencies
=dev-libs/protobuf-c-0.15 ~amd64
=sys-process/criu-0.5 ~amd64
# Everything needed for the boot engine
=sys-apps/kexec-tools-2.0.4-r1 ~amd64
=sys-kernel/dracut-027-r3 ~amd64
=sys-apps/sysvinit-tools-2.88-r4 ~amd64

View File

@ -64,3 +64,4 @@ app-emulation/xen-tools -ocaml -hvm -xend -pygrub -qemu -flask -screen -doc amd6
>=virtual/jpeg-0 static-libs
>=media-libs/libjpeg-turbo-1.2.0-r1 static-libs
sys-apps/gptfdisk -icu
sys-kernel/dracut dracut_modules_systemd

View File

@ -0,0 +1,5 @@
AUX README 295 SHA256 f842d28cd3372d4b96588dd4b6242901a20df404d0a84c9f0e01ce79790d9027 SHA512 be439cc96a7c99e14ac7c7e4c1bbad3857e2147f8896acc991a428e0f7c927090617d69d43ea43a953d9e8637fa1f8b6ed6358a03d85de3f0059d036697eeeb9 WHIRLPOOL da680781443eec7a0e39ca4f1e02d253d0a4ab71d36ae878208ea09cc67cb016bd98addc886280be6237b519fddcabd4a7bf4c659b28d38f45bf9364a354fb79
AUX sysvinit-2.88-makefile.patch 1545 SHA256 34d6ee50be139ad08b620569df11ac6a4cdf3dae737733dda21a716c4064c194 SHA512 d19e260902f69dd19bfaa4f3e415a816388663a7f89b9d102b27f44c5f2d0654b64ab2e5689a20a3975ff0801e4fb96ef7b6737bfb4ba9466ec58c477de322aa WHIRLPOOL bba46046a59969ac2007c3c932bf07646a5ebece72a216990c185b8eeead724e88cd349219ae528060b9c71a5df97d1e3221691cdbb77e16c9522014c836a76d
AUX sysvinit-2.88-selinux.patch 1041 SHA256 e987ab6e478e5b3987ae1c6e338cfc66ae356f704d0c3ea932f9e4335b4986f0 SHA512 46eeb3ab2dd25f314b9f60b2dc8a7da2aa2aafb978953a730ccc36456d240e317930e86df69ce2592cf45978f3307dfc2522b24ae1158e64ff17dfa6ed84dcb8 WHIRLPOOL 4fe319df09759addf9499367a6da47e8effe93ec0a4ba5b7e7b1d0c746b324a303cdc81eb360c81e529faf41260d69e2b4364d6695b390db9dba1e3d1693c872
DIST sysvinit-2.88dsf.tar.bz2 105551 SHA256 60bbc8c1e1792056e23761d22960b30bb13eccc2cabff8c7310a01f4d5df1519 SHA512 0bd8eeb124e84fdfa8e621b05f796804ee69a9076b65f5115826bfa814ac1d5d28d31a5c22ebe77c86a93b2288edf4891adc0afaecc4de656c4ecda8a83807bf WHIRLPOOL f4809e19ea2c72c733d3c09a4964d7a6e67b091d1f1d9ef276515b2f138148bfbf516034d3fb1009289f9520f2fbe9e29687f432bba06fb437ebd6e2b9ef570c
EBUILD sysvinit-tools-2.88-r4.ebuild 1759 SHA256 09f4ca7c8114782e8de706e7d1f8545f93464df3cae573abccd0e9b24007ee4a SHA512 983eda068ba0bd91b5640951ed34688eda70e32d486bce351d5434cdadc113826ff418f64051a37a0dd223427dafe426eb140c49466b867ae7ea98c6019e5b71 WHIRLPOOL 2eeb14a42fd7c81ce5b40a65a196a162bd10f2da7b06cee156fa3c4604e1bdab234322e8da3ddc004492b501659853d475ad0498983af58bff9709dbebbacd75

View File

@ -0,0 +1,13 @@
This is a stripped down version of sysvinit which only
installs the following programs:
/usr/bin/last
/usr/bin/mesg
/usr/bin/wall
/usr/bin/lastb
/sbin/killall5
/sbin/fstab-decode
/bin/pidof
It is made with the only purpose of having a system
with only systemd installed. Use at your own risk.

View File

@ -0,0 +1,60 @@
http://savannah.nongnu.org/bugs/index.php?29758
From 2b7d90f04cdd0e343f413c5c7672615926c02706 Mon Sep 17 00:00:00 2001
From: wfink <wfink@456724a4-4300-0410-8514-c89748c515a2>
Date: Tue, 4 May 2010 07:50:12 +0000
Subject: [PATCH] Fix sysvinit bug #29758
git-svn-id: svn://svn.sv.gnu.org/sysvinit/sysvinit/trunk@87 456724a4-4300-0410-8514-c89748c515a2
diff --git a/src/Makefile b/src/Makefile
index e2b8028..19675c5 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -92,9 +92,9 @@ all: $(BIN) $(SBIN) $(USRBIN)
init: LDLIBS += $(INITLIBS) $(STATIC)
init: init.o init_utmp.o
-halt: halt.o ifdown.o hddown.o utmp.o reboot.h
+halt: halt.o ifdown.o hddown.o utmp.o
-last: last.o oldutmp.h
+last: last.o
mesg: mesg.o
@@ -109,7 +109,7 @@ sulogin: sulogin.o
wall: dowall.o wall.o
-shutdown: dowall.o shutdown.o utmp.o reboot.h
+shutdown: dowall.o shutdown.o utmp.o
bootlogd: LDLIBS += -lutil
bootlogd: bootlogd.o
@@ -118,14 +118,22 @@ sulogin.o: CPPFLAGS += $(SELINUX_DEF)
sulogin.o: sulogin.c
init.o: CPPFLAGS += $(SELINUX_DEF)
-init.o: init.c init.h set.h reboot.h initreq.h
+init.o: init.c init.h initreq.h paths.h reboot.h set.h
-utmp.o: utmp.c init.h
+utmp.o:
init_utmp.o: CPPFLAGS += -DINIT_MAIN
-init_utmp.o: utmp.c init.h
+init_utmp.o: utmp.c init.h initreq.h paths.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+utmpdump.o: utmpdump.c oldutmp.h
+
+shutdown.o: shutdown.c paths.h reboot.h initreq.h init.h
+
+halt.o: halt.c reboot.h
+
+last.o: last.c oldutmp.h
+
cleanobjs:
rm -f *.o *.bak

View File

@ -0,0 +1,38 @@
http://svn.savannah.nongnu.org/viewvc?view=rev&root=sysvinit&revision=90
https://bugs.gentoo.org/326697
--- sysvinit/trunk/src/init.c 2010/05/07 15:16:26 89
+++ sysvinit/trunk/src/init.c 2010/05/17 09:44:34 90
@@ -54,10 +54,6 @@
#ifdef WITH_SELINUX
# include <selinux/selinux.h>
-# include <sys/mount.h>
-# ifndef MNT_DETACH /* present in glibc 2.10, missing in 2.7 */
-# define MNT_DETACH 2
-# endif
#endif
#ifdef __i386__
@@ -2872,11 +2868,9 @@
#ifdef WITH_SELINUX
if (getenv("SELINUX_INIT") == NULL) {
- const int rc = mount("proc", "/proc", "proc", 0, 0);
- if (is_selinux_enabled() > 0) {
- putenv("SELINUX_INIT=YES");
- if (rc == 0) umount2("/proc", MNT_DETACH);
+ if (is_selinux_enabled() != 1) {
if (selinux_init_load_policy(&enforce) == 0) {
+ putenv("SELINUX_INIT=YES");
execv(myname, argv);
} else {
if (enforce > 0) {
@@ -2887,7 +2881,6 @@
}
}
}
- if (rc == 0) umount2("/proc", MNT_DETACH);
}
#endif
/* Start booting. */

View File

@ -0,0 +1,70 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit eutils toolchain-funcs flag-o-matic
MY_PN="sysvinit"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="/sbin/init - parent of all processes"
HOMEPAGE="http://savannah.nongnu.org/projects/sysvinit"
SRC_URI="mirror://nongnu/${MY_PN}/${MY_P}dsf.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="selinux ibm static"
RDEPEND="selinux? ( >=sys-libs/libselinux-1.28 )"
DEPEND="${RDEPEND}
virtual/os-headers
!sys-apps/sysvinit"
ONLY_INSTALL_REGEXP="last\\|mesg\\|wall\\|lastb\\|killall5\\|fstab-decode\\|pidof"
S=${WORKDIR}/${MY_P}dsf
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${MY_P}-makefile.patch #319197
epatch "${FILESDIR}"/${MY_P}-selinux.patch #326697
sed -i '/^CPPFLAGS =$/d' src/Makefile
}
src_compile() {
local myconf
tc-export CC
append-lfs-flags
use static && append-ldflags -static
use selinux && myconf=WITH_SELINUX=yes
emake -C src ${myconf} || die
}
src_install() {
emake -C src install ROOT="${D}" || die
find "${D}" -xtype f | grep -v "${ONLY_INSTALL_REGEXP}" | xargs /bin/rm -f
rmdir "${D}"/usr/include
rmdir "${D}"/usr/share/man/man5
dodoc "${FILESDIR}"/README
}
pkg_postinst() {
ewarn "This is an stripped down version of sysvinit which only"
ewarn "installs the following programs:"
ewarn ""
ewarn "/usr/bin/last"
ewarn "/usr/bin/mesg"
ewarn "/usr/bin/wall"
ewarn "/usr/bin/lastb"
ewarn "/sbin/killall5"
ewarn "/sbin/fstab-decode"
ewarn "/bin/pidof"
ewarn ""
ewarn "See: https://bugs.gentoo.org/show_bug.cgi?id=399615"
ewarn ""
ewarn "It is not guaranteed to work, and it will probably eat"
ewarn "your system and make it unusable. Use at your own risk."
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,92 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX 019-0001-90multipath-added-kpartx.rules-multipa.patch 851 SHA256 8cae51ab50f991ba46247753b3890f0bc851708396f97ad15345aab49791bd98 SHA512 726a693b035e8b2d99431a3380b7a79d6153289f9e05d46be79cd458bdf49b17b603dde07ed937bc7f36dfa5870a54d446bb71bba8e6f3c5df8f82013781b2df WHIRLPOOL f65e75d9be432ead9b95e6c290f9f669319a83b1c03c2dae71313aa4d71659e61ab1d579868c67db04ab21f5045f3083993aed873f969192d3361b9835da6929
AUX 019-0002-Avoid-annonying-warnings-when-pkg-conf.patch 1737 SHA256 14353023081b2e85dcd070fe6165e9016ee79eb90147a89589a430c28e1171af SHA512 5b1fc9ae019cc2d40991ca5e22fa9188c75a5267584957aac408de2f4a0de800d8ef1f689730241bd3cc20260bfe19dcb575dc9f903710a016d593d6d391f1d7 WHIRLPOOL 17dbb11212359919ddbec6ef5b17e9495f6f8a5677f8ef37948c9be91ce3bff0392ea79ee21b665187f3c824ce3f14dc187501f0638ccf61a8664ba01c439b59
AUX 019-0003-99shutdown-remove-no-wall-argument-for.patch 1098 SHA256 45c73b034dbb5c93cf73afffe030ce1e5929994e5fad16ede0b1fab8fff55a1a SHA512 cb35b8587e6995b0d902335ac60cac2019a0dc7b3033242e843edcc8b720f2e914e58694101c497cd349616183e978c55946b33bf40aa83b55e5d6a9ee07a774 WHIRLPOOL 0652eb2100037a8419f18a93eaa731c920c2949e733a27fcaa5c2e438437505f4497ff248882e4c5625c01a08f6217b9a599343614d3b49ca7be6e8c68ac6b37
AUX 019-0004-dracut.sh-do-not-copy-var-run-and-var-.patch 1006 SHA256 a3432ec17e95368360fdb141a67184e37292e4af09723ced1feed0d748e3d618 SHA512 44420282fb9c0b3efe487ff8638ff03a648d8c73f858971c246c61f6f83ef3d06e968c94ca8699ad082a3eac61cc54e0cbabf71f9c1b669346ca6b0434584dd9 WHIRLPOOL 0c83460aee003f1ffa13ce35a345baa408f185ac1cd4ba148c7be0ba98e031b168594b03b72276d757691177831dcd94342590818457138999c7e715ce9180e3
AUX 019-0005-dracut.sh-create-relative-symlinks-for.patch 758 SHA256 78d2660ac36daa5f4edb65fbe86b35326d1e5f6baf01a70cb489614f0a7fdafe SHA512 4f9ca0f2b2a685f889a8e663b066a57b21b5db22f1d50886844b0f3605593f7814f252c4c90f7f71de50cc00a80021faf01538308292db4d8e36af3716ea6336 WHIRLPOOL 3d66515d0ea2b7a035c8f6e71c702ae2bda12c8ac075729ff0614d7426b88e70caf8d920bf019c68f6dafd653d9a7ed99c8ddb8e6daf8322ba8ad153e337300b
AUX 022-0001-qemu-module-setup.sh-provide-alternati.patch 2278 SHA256 081123931f047233bcec84bdb633015f42716568c114f4d062c139fbe9d938d6 SHA512 4cf067a48078100eaab2964b62666748fa1f9e78351cc642e36b15b9805535d3111501db6c646efa7a86dc46ae3752f353b0de6c420c2ec9e7f97de1aa7f03e1 WHIRLPOOL 0b76547768bd4accf5fdd07c5ded4f7dc729c29937e7853fffb736b47954c0b24572497f0a8ebb6ae5ce859271939d7552a144ea59b19a15cc08fc14c07170b7
AUX 022-0002-Makefile-use-implicit-rules-for-instal.patch 2472 SHA256 5670b5c86570008af7d1a92bb2455f99c9ccefd0146cac5c879ca1d48588bd4c SHA512 84ba93ed30214cf11649eeca10c2036d22a65657496677f0cbff13f82543d5e7c733f087ad41726c5f73ec68c9306d9ee7d347a4080e3f9f5f5d7843e935f9b5 WHIRLPOOL b6d1476166e1ebd5ad01617ae4e4d59a804aa4aa8f9a23004a6937c306d00dbee7124ec21b276a8d7a300f528e9bdb9793c326ff5901bb83f03ba7b9ac792a9c
AUX 022-0003-kernel-modules-module-setup.sh-just-op.patch 1041 SHA256 37e7fe2d7c0d784f2bd38e67f4429ec8f9d19078204045c073a05eef87cd6677 SHA512 35ab161a6739ad2cd6c293d1ac9d2c1bc8a31b24f9105ab223b2f64b0086fe067063857fe8feb735125e6d35811135232fe010ce57028bf5dfd31e2a980cc542 WHIRLPOOL 5990d61d3011a243cbb9d74515c59738c74f815e605e8b0a1c1ebf0a9cdb99ecac78e3459bb55b58bc636fa59116cb606a3c6a8bee529cc9e350164d19e3d084
AUX 022-0004-90multipath-added-kpartx.rules-multipa.patch 852 SHA256 c87f00f13b6d7513eb2b43fcd53740606ea6e997add81621e61109b2856d5e7a SHA512 030edc3a7c6f1239f9b19738085fe14ba4492db2d094058d21f5fb2d8941990d3bcdb6110647b213ace2e113b108dd0a0c890ff237f4f68d93b82f38c1b6c2e7 WHIRLPOOL bd821dc978b09cac50c85b38e86cfea23ab66621d25d988b6236480d6a55c891e30f1c90f5272aaba8adbd3862b2931e97b29b85459dfab278de9c50aff34be9
AUX 022-0005-gentoo.conf-set-udevdir.patch 692 SHA256 417cea09b7352b3457d1a02519b364de841c534782526ecca0f7de42a583bfc8 SHA512 46b62fc6fb5b874983f53949ea35bd89d59b9a0443deecc529f237f4562bae8779fe2e9afa6094603be4fd0cdb2f0a6dfd931fceba72b45783379e952cf8bed8 WHIRLPOOL 16ddafcdc3d895c3ef87023e7751ddb2be6999dc11e1f1c1abc6d21e4deb3f2317e04a669da0e06e591055c08324256252ee99551d5c1734b0168e177e56e9f8
AUX 022-0006-Config-file-for-systemd-on-Gentoo.patch 805 SHA256 eccd38b6f11344c8b93943dc5a207c5c31a4eb8b1acc0287653330db7124f089 SHA512 8d7fc2fcde97481cf54b77efd3d9307410d07f66da85e3f4160f4d8cb3e2ee9c0a37914aa510155dc5e14c63a9d2c83a245ff652202455827ae97ee7014bfbba WHIRLPOOL fa15682b5a4ba02092acd0d527f8f573840a5a0eb30f655b3e5e4630045ca9d5912ce581101c85ae18cf11d508babd8f852db57cb8a76f6e60f59335d55f3a90
AUX 022-0007-Remove-obsolete-gentoo-conf-file.patch 1835 SHA256 5a3fd15754e8308d832c7557bc23c5f1533aeb17dae32a0e9a3aceae0b53c64b SHA512 4832a801eaa35b07b8378571f3bbd57c933e490bde81d5212a7e8cc6f0de57855fbf668613daaa82d51fbb2cb920bca18f865bb30f1ef1bf8eee03b9827a0ab8 WHIRLPOOL 3df7f3fc1b022f3c548e28110cb8273f29d40f3c5770caa8d2b472ad9a8729afc9f6948c718223d55f1967391bf9501f6f730687b5c754a593b4f6d6a58d5ac6
AUX 022-0008-95rootfs-block-fix-left-fsck-rel.-chec.patch 1592 SHA256 5dd85d9b2b5a7c7f9fad5baa7e3b86cda8f402e36acb22f017149a099c74a6fe SHA512 4c4b14cb16eda4182c90bab18f59e3970a1ca2e76793ec9b34ce6541b9155e9fa6d4809d90ea25c8177f1640cf8a3b1260275d6086608f10877eeb74dc3a0a5a WHIRLPOOL 528b8f4e19004c29556842e216e13841d7ce7deafffc33fc13eb9c333d865b4cf9dcb36b73177c8e107c66a642cbd71716699572f607da8f13d998f14d7a7140
AUX 022-0009-98usrmount-use-rw-and-ro-options-inste.patch 3177 SHA256 a7e6a49e8badfabf4ef696a580c784a3006f6232481dc292b448df66b560c603 SHA512 6a538dda33535fb5840c29ec3f8a9f0f4c9142f21e4662bd9854d96f641440f9c37c67335ef7b21fee600ca3520a8e3d6e62fc3675e5fb4801eecffc427121d4 WHIRLPOOL decb681a2fedf68e4d9cac26f967db6e6ac5ed35ee7f059a85c546cdab4a8afcb53461c11c8f7e6d028bac03df6e8db01f14e9ff026417b0b725a0a183794374
AUX 022-0010-98usrmount-print-mount-options.patch 768 SHA256 67c1364e2555f591cce555105bb2c7e35b03a43eb69cb0306b8f435691830392 SHA512 52fcdf5122571871f0b736ad3b97f0fe38e1e1ebc574e7633fb4f714d4c55a3cc3535ec467816bcf28b2f2c5c669f43f377378d0b3420c17e31b0eed280cb5ee WHIRLPOOL fb284dc1a519165886cae18f01059ee8b970ed47412b70111091149d5a2de3b43a8841efa09006d91498482d53d23a37ba30557152c3e6f0e0c53fd064747470
AUX 022-0011-dracut-lib-new-functions-listlist-and-.patch 1766 SHA256 b6295995a57c82dc0034beee678fe85403d3984a4bf6baf22ba10ae6654c474a SHA512 4d7b0f972a7bf83d10f37103f8741d51763eb1cbb2724e8f5923bc6aa34d514dc440b9b6262ae4926244d46f2f0e30b9fb9839a52ffabb625c5c6124d84441ba WHIRLPOOL bcaf81e23a36155b282c7d4b82be072e130455ab93342481589b13924c3b4bc50ee31d6a11f554ba124658a961b0a1a297ed5ff126f00b2dc2730be5092ff1b1
AUX 022-0012-apply-ro-and-rw-options-from-cmdline-t.patch 3607 SHA256 d5f54c14055c7aa083fc68a0636a0d8bbeb97c245fc54b7eb3c091f1fb2653d8 SHA512 202c4fc7e8a53506ce63cea0ef54fe2b5d11b4f8184c542b248838e783132dd4193a49275aa538eb79f6a565457633a102a093442bcf1dfaf9d9494bfea17bf5 WHIRLPOOL 2bbf79c6c93122a129edc5010d85acea5c999cd5c4cc10af4275444a280f9eb2de564e35313d0a83fd66d06be05a3500b0d8ffa30b8b3c1b764f1d4bc133b82e
AUX 022-0013-ro_mnt-option-at-build-time-to-force-r.patch 3774 SHA256 db451499ee272cb78d779bf373a489cfa25a0bc52fe499206ccbcf85f4bd5e24 SHA512 a4e3329aa2e9bc3eb942195d28ce12ea877596a51d4f090bcc908c35ed0d1e622b421e4fa9e8f9c0510a9e3b7bd3d8ce4d104dce2cdb0e196547eec54731565c WHIRLPOOL 7bb71adc5561d195f3b5e9d0b78c3deae8be2f871a41d56c9022c164d5f5fae2cf75ed3c0366c70083a28457c691f9c44fefafd214956d1cd9e65628b779a062
AUX 022-0014-parse-root-opts-first-check-for-ro-lat.patch 861 SHA256 a639f4e8bfc0008a8e2e3c0294096649c5daab1e8ae05fbdcfdfde0ef0f1aae0 SHA512 aa5ab89849207ece6bce2ae0a58cbc76a8ee6c3d2c620f0ea9d75498cb6e9badd606c0291c4b82aa3bc694f4846c4c10bcf337c50ee625689e4a7034c4e58085 WHIRLPOOL 3642f21648106f45de740bbe38f599beef4ebc6ff917a9c86466751ab436c96177d582d1018489b6da18b2b22b30004ad3a90995a4e4a600a6e2caabb47fdf43
AUX 022-0015-gentoo.conf-enable-ro_mnt.patch 668 SHA256 1c4df1a1066570dafc3eba2fda1fe6c98075b0de51bc9b71ec42cafbdbfc679d SHA512 3863729cce56c614b91ef6b7720dc9b56bef33b65b0e24f6d4c217f58f69c94377f2110a58d4150e1244a12635d8b92e1e474cdbcdc8fe17f334e7d5fc55efd6 WHIRLPOOL b3ce606f781807279b796ccfaab966f54a51c0bb982907ba4b15aa0c2594079362c9eaa8357f58de306e3422ebfd2ca316a2935c584958310f13cc298a6df4b6
AUX 022-0016-dracut.sh-test-if-we-can-lazy-resolve-.patch 1008 SHA256 037be5e7f1ccef44c94dfaf07d821fd38dd305e0c28d727473fb8d61f763d4c8 SHA512 4cc91b0a37e086644c7346470355540e0142c0704ea0bfa9931b37489bd2dc03325f132f2a3c52b86cc76f0b4c945600ddf4560648c720deaecfbb0fd801442f WHIRLPOOL 6c79e697512423b363d751422bbf78a2148de34705b27a6515ac1745f0b8db49a4f66625256e3e1f40382f66c12b8cb59b799953183de51459996b49d8cf54b1
AUX 022-0017-99shutdown-remove-no-wall-argument-for.patch 1100 SHA256 5cb23350107a594742d4a84eb89a9d64a1b67cd79eea364bcba29e835a78102d SHA512 fc5d856375285391e96dc096a010bd8a405f819e50bcdaf85bc23f996c8072c7dc6b5f93967c432926231d652cf74743c5890c379e950d46ab1f1ce0ef5dbeb6 WHIRLPOOL f65aabdf2578179836f67212c59d5c1b4fa3e23f48df565c163e44c26e07ef60157aae39c3ae1e8aa5094f4b72629cf087c13389e13fdbf443bf738e9ce2fd5c
AUX 022-0018-dracut.sh-do-not-copy-var-run-and-var-.patch 983 SHA256 e33e80b3e66aa5ec441ab70248ef4c3a886c69d09e428130b252fe6775e9a83b SHA512 4678647e03805d0fc7324d47b47868a2486c0170d69da8333280d42cee61226a62e983c9bbd71a9223e4c4ae30217316d7e4b633192a69f2ab71bcf8663418b1 WHIRLPOOL ff14593d97e896e537068f12b16b9ca3b1b34bf8b87b60b725a41319b7856b4fbcad67c5c8a39c51cbb5516f41cd817cb3fa18654a63606243801542e91c1b69
AUX 022-0019-dracut.sh-create-relative-symlinks-for.patch 760 SHA256 d0e17c2847c6e411d673dcfc068edaad91a658299d6f1d41026c2f81d5c80a3e SHA512 72c9d92477fdaade5d7bb92364c465ff3915bc2f4fa47ab61293c72daa5daa6d849824c6f469a28d071794bac79d1798606d798b2f1eebe4ba143aa729a0869e WHIRLPOOL 849e424757e28930552598f1fde97c3d698bb0646e96937a613b0e0b4911da185940d0298242d09e58a16df8d0c391d7d614a154e88e6af673df0b5c824f6d4c
AUX 023-0001-dracut-functions.sh-find_binary-path-s.patch 1272 SHA256 f4d4789f33f6c40894f6fd48da9168a7b8c597e78665f5b2d6256e00c1c7286b SHA512 ff5015dc08d07e0c8a62dd5e93f5bfbf4f20e9999705c0ca45e4dbb0a71f8e0322d8ee7891263866430116127d7dddd56d5e16e0fd60e480399cc90a599c7b67 WHIRLPOOL a0874103b54f729e7c59a4e53f3563918923b83ecdcb6664fccd4e2eaeab0c7f231ef838b4ab2213bcad05a25abde3003bef74f6643f0c0e77d231caee1ae061
AUX 023-0002-90crypt-call-systemd-commands-only-if-.patch 1090 SHA256 827185a3110e850236ba6d080f269b5e73356822d9571a1e5e826c7b5a04fb08 SHA512 a8d2bcd473ff1b0628ada82276d125da0e508ab723446dc1f36075ffe1c7af3d664c0f417c3865f581cda986572a57a9bc7a933696fee1e44f18826849f45093 WHIRLPOOL bd6d4431698471505d7b77eb43490b09c138e23465f4db926e65bc7eb94bd891698cece53aafa072150dfc0a4ea639e1642a9ecc5f7541c7f14ed297e5b70adf
AUX 023-0003-Fallback-to-external-blkid-and-path_id.patch 4583 SHA256 74d61ec7f895bcf31b86f29caa6bff7c99865bd0976220befc40f6c16d4e4087 SHA512 98c65c088a606a9fa3f0e870234d418dbd6fc63d67448df4c7de02bc80460a4d9c8077c031d5a6bd24ad309f381f8b0090423439ec22f117b86c8de4f16da13a WHIRLPOOL 51575d6a61b557c933b6f59fcc4f6016cf1318f8fbcca9358b75c53c5a8ad5f30dd184e9a35482ff411d7a037c1a61e713cc8603a5caa389c4d85d2d812a40ca
AUX 024-0001-Fallback-to-external-blkid-and-path_id.patch 4582 SHA256 77cf33b6e397888a7ab5eecbfa6a7521b1874893a8a87b41b2b7294210393031 SHA512 591bc93a64814d8c7611cb1f357a6faa1ecb853829e7bec7b00e97f9402b835eb842e9e66e1b87826c4454d0ed4f9e9c5bcb6c17660bd166260247d76ea7a0d9 WHIRLPOOL 2a73db2ddfa53c1e31def6114f8f70d5ecca10c91ae265720698565f6dae21329a55e2334b7bd60ee4b75efbc5cd7d9e756ff8f6ffe595929e3b7ebee589ee6b
AUX 024-0002-dracut-functions.sh-fixed-inst_rules-s.patch 809 SHA256 6dcc35f5f038de9eb3e8ecdbba134f55ccb3046920fcb699b7b321296c509e83 SHA512 f55475159d31a23b5f017b784f1488e376f572e4807b0e46fa6d01a9f36d589f2a7ad51feca5c0a90cbbdbb2ba386bb0c42fd6f55193381b1e4238023577ccd1 WHIRLPOOL f78f7220a14599e845e6f592c38f107faa822508ac957e81f981ca976bac188c5aac7e5ff3a37ef5dab344f94cd09d1a00ece003eec33f7c08a697c4ea129217
AUX 024-0003-dracut-functions.sh-support-for-altern.patch 1387 SHA256 e32e6e8779a1c98f620171eb46611d72837b0516496987fee2440559cf9c1bd2 SHA512 c3cdd7ff6e7fa1ea8f4d1e5a0a87ecb20dfe4cd4f3778e745af7e3726c2061b71b922d4fc378c587e06a451e7868d0d6ad6d4e8b08f273bb63d4b20efad48dc6 WHIRLPOOL 190185a3d09d0c20f35a86630bd1d76a7d0e68a798ad4aefbffdad25bb3a0c69d1d826883e44ae46d1a880cc72e669df9bbbdff94cba295ccd44df6420a64434
AUX 024-0004-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 b7b086cb46310822080b8c74d4221159a85db9c834d9d94340716892b599cfb6 SHA512 578da34f91274b4ae7e9e62bb1ed6985f0aff5355023e98585d5afe8683475bde546f48795f1da18eeda0736b32bf8f4894db1aa5e770a3bede2a7738f67b8f2 WHIRLPOOL e74c52b71aac01d1fbd05c9316d9042080af4b035425e8c457ea0369236966d5925f151dbce730a0c9ff134aecf0fe84f08b1001d66bf03275f2f41a8b498f8e
AUX 025-0000-fix-version-print.patch 365 SHA256 c065b20c95b24a9fc0e8e1e20de19ec3dca7cb4bd62d7a3d26adf099c39fc57b SHA512 2f622d8bc4e483d91674cb7acaa2ef9bde613bcda7c8b5c8b79bed4919fdcf0852798ba38615f796528e8c83fc18a89322a1fbde7fc5effaa6c4c4d0a389638f WHIRLPOOL b38923d3e04e161b23b9fa510b0dc0b3ce5238f3008ef0f92a1918e38c7a9ecf6d6c99a14006b734c8c77df01213c866bdce293c684c073a6cb61691a5700102
AUX 025-0001-dracut-functions.sh-support-for-altern.patch 1387 SHA256 ba139a1b36c69141a7fc6c4762fdc6823007eab86bc8d4f7b7cc3ed0af1d3246 SHA512 2c593ba69934c64be99458f79587b32bf323deb562dbbb292770fb5fd6d985b9e594ae200060c7a11628edb2094c4ba69e52e966a255964d08f511e487385966 WHIRLPOOL 4d7c2fc0790df43d9ac5f70cbb183a0c7c6afcf994a18be1bf8f22f4deca0ef0ea49167d4f6962cc29e6ebccb63f85958301c0d3c2026c53699f0845be316e4f
AUX 025-0002-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 775d000c11467384a21cdadde90dccc2bb41528d22d6c1e6056605297556fff6 SHA512 bfa2df00178a8dd3c52cc36a8e385e759cda55849846986e2af262ffd5beae64c505ece8905b2f53b625042c709965c2b7f11d58c63654b1843c76dd6585d369 WHIRLPOOL 0b6f81a5f660c0333867a6ae24bd10f697426c3654555c50f0fef1fe7cd5e112aa9d8dbf990ae093c6d836a48b211d3e28445f8664f2a5a2094d4e4924988e5d
AUX 025-0003-rootfs-block-mount-root.sh-fixup-for-8.patch 1011 SHA256 4e4e4ccb303131f5d9c6dc51b8c510ea0e5562fbf123647fdbc451885222500a SHA512 0cd0f258aa87dfdb391b9c4e2913bdfce9e451c93e5d358aca68d7ed470667c1b8b569b25ec8b903b285b6c92d021a7b0f1e10aa342f76d79c07361fe608bc83 WHIRLPOOL ca7c278266be1c2f6ac94976b8425b336dd7f012c4e8dd4d8cfb293af9327f11f1c69b56ab669635719f5629d2d7296a0a82165db42258ea6f27dbc1a55d0113
AUX 025-0004-dracut.sh-reverting-return-value-chang.patch 1038 SHA256 3fc32e1cacd5713d5490eee45f874c261200a4e48824376c9a66490abeb02705 SHA512 62a546263f9ce2ff92bf30f514d17f17605ece0a76beff490bbdc55f9395989d4694f50254689e2aae37e8a5c44a726e2ed8797003982ff827fd2d8d9d1cdcde WHIRLPOOL cdfde7194936a812dc87704ac47ca5cd8f005d02ac95d32479006ab3c67b24fac7b2baebdf1fd02892ce58cb0f8c781ec8f20bf3e7f4808e02fdc450ae0e5eaa
AUX 025-0005-Mount-proc-before-including-dracut-lib.patch 1168 SHA256 03049a22a1086486aab6ee1daef4c2f23695fe14ac51683f121c6953aa384c81 SHA512 6e40a0d4527ec2d0534c0c8cab9597a98568906d7394bbf214df6e8cb03e541147928885b600aaacf2fe95cd187510f9a40aadd3c54e6d33d04c3b67757fba9d WHIRLPOOL 459b654c23c135519a15ebcb48965e43daf92799d0278510b1e55e2f7915114fb645c9bbeea4ebd2ac74bd4de61a8ee9a2331a0b0b0b87ead6667269845a29da
AUX 026-0000-fix-version-print.patch 365 SHA256 c065b20c95b24a9fc0e8e1e20de19ec3dca7cb4bd62d7a3d26adf099c39fc57b SHA512 2f622d8bc4e483d91674cb7acaa2ef9bde613bcda7c8b5c8b79bed4919fdcf0852798ba38615f796528e8c83fc18a89322a1fbde7fc5effaa6c4c4d0a389638f WHIRLPOOL b38923d3e04e161b23b9fa510b0dc0b3ce5238f3008ef0f92a1918e38c7a9ecf6d6c99a14006b734c8c77df01213c866bdce293c684c073a6cb61691a5700102
AUX 026-0001-dracut-functions.sh-support-for-altern.patch 1387 SHA256 be904413df41df5800d0c07b79c4f92ba9041277325f65fbe186f42d87493b04 SHA512 a18a311cfc3586db342afabd5c8871d6b9a215f05481626a8d6cad64d6239e407b58326da8d81bc562605c400fb2961ab22e3a362ac3b4d9c31dbaf6f115157c WHIRLPOOL dab7d1748f3267bd4a0efe3d78c2b7d1a5a62e6596d09e3abca942cb2c8a6046296da65b794241b66078dbea78f9e815e58944cddcc12e345990ebe9f6e4729d
AUX 026-0002-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 72b03ba848dbb7644fb0211adbe25b26e2bdacde12afb41f56baea591f629f29 SHA512 f61bd11f3a635e7ec10d854eca963cbe94b687d7162a03a200ddfc8719d0e8b5c8fc90da38ce9249136a7fdd0446123f2048d563ea4e819ab825f45fb5a424ff WHIRLPOOL dea401b272e65d98fa6d194298c032f8e66a21eb25a49094d7c598c6a69863a6902d7161f4bfc51b63b8939ab625702c7082380fbd957d01b7662dc91203ef56
AUX 026-0003-Revert-crypt-dmraid-mdraid-use-for_eac.patch 1809 SHA256 2928ef9bb5ede778ba508e168e2ff2ca54f85f10dd36f417c60d9b0815f0759a SHA512 20985b3ed23d0102501be1cf2893db25b5e037fdecc5f95a54da3262c7d099b2164f98330a305abeddfbdd874579e46e96f5821d8ea679077dd3833835b31b58 WHIRLPOOL 336aa39eb42fd7720e1f803e2f4ae21521f364bd7bca46203763cd118b848ee62f70b91c6e536b328933526173888d57d833c6f50cb3a272df14396f469efe0e
AUX 026-0004-lsinitrd.sh-fix-for-default-initrd-not.patch 1249 SHA256 b9b29f65354120db67fa0a815def5d907f0a598367f616de86b473e16c087ddb SHA512 ef482d1f3b0bac385f4e4cbb030f4f6ef9cc7ec6143bb11773105b09a357bdb34f06b87cdd62f1f38b95e85ff4d1a6e6052c4b3e018db96ec5585c4ae74ef620 WHIRLPOOL a7c8697d380fcd876f5f10c590ecff4e74ded4f6f69bc4e1ceaa10f497c6aec45362dc9c778410ec30549f3fc54c2738a54bea27264cb8a39a71c16aee8243ca
AUX 026-0005-lsinitrd.sh-removed-trailing.patch 714 SHA256 c54d8d5a8bf22e40edc82343fd20b80ffcf346a842f54af68d840c84e6ebab15 SHA512 96e5dcf866860705bb6138f82816bb1a7a6c1cc352db3803aba14af581882464a7762ea4020a0047c3081aca24b0f8c5cdf9c37dd79295b558ecd30cb72cdf70 WHIRLPOOL d371a09e6771f79be4fa27c4fe8be1094500a1d7af52900bb4b13b2a073a04e50dfa0bff49d62f5903940cc912604bc139b04276ff2da5864f221a95b245c132
AUX 026-0006-make-host_fs_types-a-hashmap.patch 12563 SHA256 59ea961e4112c64840a98cc87223cf2ee412f3aab149d35d550aeac8b1dc9d47 SHA512 1ace774c411109338479c2686e7aa98f802eb8858f864eeff4c07dd1deeace23143e83849cfb50d523bff003669423beb793a9a44d71a5d390f6062a4559a610 WHIRLPOOL c134cc7027df34a7920ec04c33f2552560ca40fd5d6cab54162f4866196b45e0e8ccb95b8370a41f315ea4df30446f3bd330de539bca464009bc728475937bf6
AUX 027-0000-fix-version-print.patch 365 SHA256 c065b20c95b24a9fc0e8e1e20de19ec3dca7cb4bd62d7a3d26adf099c39fc57b SHA512 2f622d8bc4e483d91674cb7acaa2ef9bde613bcda7c8b5c8b79bed4919fdcf0852798ba38615f796528e8c83fc18a89322a1fbde7fc5effaa6c4c4d0a389638f WHIRLPOOL b38923d3e04e161b23b9fa510b0dc0b3ce5238f3008ef0f92a1918e38c7a9ecf6d6c99a14006b734c8c77df01213c866bdce293c684c073a6cb61691a5700102
AUX 027-0001-dracut-functions.sh-support-for-altern.patch 1387 SHA256 992e44243e87b07833154d4b2299d08df4d7c1d3b931aa22e1ad75acce21330b SHA512 d3dd82a6f976bb4aab0e70a5c483e89e6ef43f59401bbe756ea8376a758003b434610f31d2d661d749d865b6a943da01867d0223856981262dddc5f12457ccdf WHIRLPOOL eb11e2d39e18d6e2f47c34f4c9d52c90becefe71507069e333c08f96b2b3b2630e4f0d9acff265858546f63f876bd6f83227d8e9459a6732b7488c0f7e77503e
AUX 027-0002-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 e778ee1fb9179e3898b25e5ae558060d1ee75a0c63e03ad1ddb36b5275c53b35 SHA512 3ce017f58d7eea16342631b02f86330f8e86d8357928df2fb2009d3544b17f4d12a9446e83d6a47cd8fa90c2a910df34a0c680277174bf865a34f1a771f1902a WHIRLPOOL fb5cfa821abd55e6a16ec710cb418d34c1ace1be9e787310054ca5b0d08c31a26600a7ec2d8e27ee8b74773ecbc0d93810ec67f225e909e88623914eb0eb7bbc
AUX 027-0003-Do-not-call-plymouth-with-full-path.patch 7131 SHA256 0a4d3482713417969a946760b4b25473ba9b4f42224d1fa4223bcc7967137e12 SHA512 bd35e3f22de44df839680f7b28db0bb5a14fd164faafc47a90d3fd799455d83e4e03811c003818c8db76ed56c14ca22b4806e8d6fec3e9f8d90831859f3dbe3f WHIRLPOOL 65917161c32c1f9796e7d8ddf498415ab4e9d09b19140798f4a44df2d3e75bf655bba723603598348f2c657d34bfa7376536e4361afd8ee5d8ab40e2bf233ee6
AUX 027-0004-plymouth-plymouth-pretrigger.sh-fixup-.patch 1056 SHA256 8e126a78eb051ccc69b9a3edb2d7b74515170ce8acdb9420aceaee750068cc11 SHA512 b1bda85237331aa51d0105e1ad0dee655284ea23d8e47c0818e6ea74190b65593e70b366a254140c9706e33d23eccb7893b83f0a28514806318d9f08cae01281 WHIRLPOOL 5b78398b28cc06c5a25e99b5ae687ad1c7dc14c67605fe7256f3617b458fa21af24f783ab5cad24278225e93f59fd40d1ba97ed42b460f77d1814f0546058c25
AUX dracut-014-multipath-udev-rules.patch 848 SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18 SHA512 c83e2a4e8bc5d25351ce82afdd4f63d9abedbe16a3dfd8aa69f1b0828a841e5106555319f112d93af92b3c1f5e2154a7bf36c8825f1e91feeb512e7c69b5fa16 WHIRLPOOL abc1bc20c022bb040e12ef00aa0aaa5cbbdcdcea71fddb3c222dbf393f7cc1ed1a0725fa95440ba90165c222dc07c6ab530d0b02577608500224f406e66f6257
AUX dracut-014-usrmount-fsck-fix.patch 1208 SHA256 192ed24457c07d282cbdc75576d6bfc272572c482d28188c34a48c613a5b1565 SHA512 71d3199a5acf81cce0527c6e95db61ae07e833e4c27147b9a339655ac01c7e32db40956f171cb9a13a97062f89c6cb5bdcb8e33a2a4b1898c86a1b700fd5c444 WHIRLPOOL 648aa6e97df18f8dd24bd5eba48e18a56ea6a10e36c4e40ec9734547750b10064393c96b31ce2e52229e80507c8333dd95a04aaa873158a220ef4cab6998f8cc
AUX dracut-018-lsinitrd-support-symlinks.patch 699 SHA256 b2d422b0a026265101045b641a2b4cef20e0ca15ca3e6fce8616d721b334ea2f SHA512 6b6f83fa8e99b5160130de6ae86699e6327665d852fdc7910e751c7644f668357f83f108896ebb73130546c76f17f6d0dff50c0da4634779e8d461685529a98b WHIRLPOOL bb2e2c6b12daf8727e874e393e58380b9d49e083ebf929c48104d23d088cc455de3c039fcaa3ac74aa88516c733c2536ccd4a950ee9a8b9745d63e61dbafbb47
AUX dracut-018-multipath-udev-rules.patch 848 SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18 SHA512 c83e2a4e8bc5d25351ce82afdd4f63d9abedbe16a3dfd8aa69f1b0828a841e5106555319f112d93af92b3c1f5e2154a7bf36c8825f1e91feeb512e7c69b5fa16 WHIRLPOOL abc1bc20c022bb040e12ef00aa0aaa5cbbdcdcea71fddb3c222dbf393f7cc1ed1a0725fa95440ba90165c222dc07c6ab530d0b02577608500224f406e66f6257
DIST dracut-014.tar.bz2 155914 SHA256 1b81a71d121fa4e268bab098daadabb3077ecde7573b5726fe35591347fdd2e3 SHA512 7a187e5c43667da3632f9df7a45c56d4ac6705e604afd397ab44da95ce7ea7fe0abb2e2f643f9d8b6a86e337ec138c0c3832711b791ce875dcc5d847b823404c WHIRLPOOL a92b3ca95e7bba310520b468298636a4078ac0640f12b589d2db94777ef7691c3c3752732acce17eac568085db1537a74f9831a5fff0580640915319a3909f7c
DIST dracut-018.tar.bz2 189067 SHA256 3ebc0e9c9df24802dd4061aea6907670453fc865257885abfd9166af5caccb42 SHA512 a89623ea3ff34a57bb54aada9a11c872f6319d05876d2320e7c9e0c0c1e178342f7b48e839f6d77da7556cfb7fa8df69609c6a8807e5405e9ba4e1a3d36d6763 WHIRLPOOL d76322f3c9f6513f8e500b776f3075a2941aee74ff4423a09614e70645ad35d4cd967aca344c0e3b95de25c682c07f31ab6c9060f1e58325967d482544d6182a
DIST dracut-019.tar.bz2 199187 SHA256 a68f00f896aef1cdebc8479f522d6a10b9d20b7dfcdaca85168d54dcf3891da7 SHA512 543cfb1c2079d6a5525d28c2738933aa5ad046a184ba80cf6c82f8aebac031d1f6e3c0f489ce94bc013f707b4dcd756228b03f4e6f7a8752d438a043b18bbbb0 WHIRLPOOL 627d972a31cda9d36d7a577aa10802d7ddf9e95e5ac7128e306a3b487241cdbbfaf3771a63b70810577f41dc776d9a6a698215af37a038095bc0b10aea9e6970
DIST dracut-022.tar.bz2 243314 SHA256 32f574efb0a48a2ee6e1967f8b410b241f93bc9eea9bd0b90437be5e9aa028e5 SHA512 43906e147270a548ef6c98539fd36ac7e89a0ca88de600dbffe02d7b03a2acf6347ae4951557b3af0101594fab100a112cb57b7d6a1490dbaa6ddc9156c0a88a WHIRLPOOL 17d0d4dafb6c399b61845655e7b25b513f636b1ee152fe4373036dfa34c46f8d4f5016d5f74350112483b81911dfca751a15eb15a963ad2f4066840a8c9b80d2
DIST dracut-023.tar.bz2 238823 SHA256 6899cbf0c32f0d8ec1c420a4b6b3fd348b30fe3f4d557783ec40de1e8da26239 SHA512 abd5b165e67cf7298ef0ba8352de924232bdeb7390917f5fbd98a7a2a10b01fe1b3e35f8b619154ce21e5a90b3f9cb07a6fae9e4d8f017b9d7696d15ae46f11f WHIRLPOOL b50b309f4d128d785e62f21c084f4a79100aed0570127376643626e84d9d019b2c5bc32ff14aecec23fbb929456ac51d0a334a1aee275bafc6e4135e80a03789
DIST dracut-024.tar.bz2 241264 SHA256 c0f5a905a838772246246b960050307211177c7d113664bba8d306b83e23c6da SHA512 2eaea3ce2d7ea777491d7798a99764278c7c2b7a70be8b7050ca264e5debeeca2c9309acf56cb497f5d806c41f992fb8b77fbb6a837c8318d9e1e9413f3af199 WHIRLPOOL a03d947e4368f1edac01628bdc8ca81c0a9aadebf493c1dc46d1d7618ecdb55307a8fb762c36e260191759eb794a4b029537b2bb9795188b158a66a4f029b3fd
DIST dracut-025.tar.bz2 245979 SHA256 dff2bc61787606ce3c4a22800dce99cf620fa521e69669a61edd19a955bcd69b SHA512 4fdda789197c5da229bf3dab54eb73d085aafc220113cf3325d36fa76a9bd684741b2f9dedf67703c09e1adcd8c890183adf2f6a550a1ef6a77e174781d5d2da WHIRLPOOL 946339acc8b988ec8f8b58500f14bf45a9db01b41e7329042fb075d44c9623ca059fc6b2ed536c7d0330ed4a52af516af298f2dcabff778bdd7b0c35e4853fbc
DIST dracut-026.tar.bz2 249079 SHA256 1b3b25350dbf71c9d92dd6fd0cd128db13453e200e89b649ec3753e6f92438f7 SHA512 6484645df118ce2337920f6da574e04ede8131c4f5ae2986008cba527b591fde2274c3cbf8cacf20e3dcd765adab7f6afaffd2e1cdbd5a5a021193f328a844cf WHIRLPOOL 87934eb5d7d118be61a609aebbec94a4e70df58a883f0c856f90e8e8b011c695a23d5b00a120bcd74e0644f06f54038712b1ca620d8182c1fcffb4f3f5ea8ec2
DIST dracut-027.tar.bz2 253049 SHA256 9a8f1ad2e133b4072ff433410be5b14a01cec4f75ab72ef0296e5f49a15fad13 SHA512 1e44b1ad09bc631cc554be4917c5f56514d6f5f4f9658401a7c7e9dc20ef79029246106682146785cb63beef39061aaa944fb24acd106086f02ba1356c61e938 WHIRLPOOL ebd0e0f1c4ba6e95a320e01f98ed7e31d7f399b05c7133fff8a686750f39f29c803b02764995775fa3f2c383205bc09b35a905116d366298bd6587d8d1cac572
EBUILD dracut-014-r3.ebuild 5241 SHA256 3fac95d90c150e226e23d845dc1266f73cce267f084f97e1949b4c7669a39579 SHA512 9182b8ea0c51f39398d476f317b8c97eca3a6bf807ef5ad25a631689a9ae48c4ce646b49b9d43c2aede76f6cfabb9e64f91459a16678f33870d847387a83ec6e WHIRLPOOL 6520eb01c4a4ece9ae8c8fbe9f2ce778c3997171eef42b094401f84cbe89101c58b610b4f9bd0b907159047335c52d1850833761a0e150b037bc990fa0c3401b
EBUILD dracut-018-r3.ebuild 6880 SHA256 9e37f688db218fed13517b4074a71c8d40632cad9419c14ba9c474a5f8324f01 SHA512 fc33e69fd2d0bba2d8613de4af92313840f5b53a334de2f3bf36b1896538cd26ffdd6055dcd233b443299d98f17e116bd50aa3fb4a7df6b93ccfc70fa42481b4 WHIRLPOOL 881e05608be0948f6efa1dcccb73917b37ae40190a1f1f2cf07925c55f4d98affb9ca67c1f775e9b2260499d4e6b7dd3b47a1a184cb0479967d4deefeb1bdfa6
EBUILD dracut-019-r6.ebuild 7064 SHA256 c7e5a819d3320621d0e73dd61837822d79a26e3bddface9c7b39dae356c6f7c7 SHA512 d532d05f0825ea3daae669a59c558962d4c1a9e07d40cbc7e133c2508561ee803dd3f2f48ecf07b613805ef9f888cfd714dcea1213a860041ffb46fff28f096a WHIRLPOOL 8c4c31417a034820274664007d8163d62ba048ed13b62f39522947ba9e534c7dd8dd1ea728e92fbddadf4b2d63351be2fabab884ff103736cb6d0db1ccd99cff
EBUILD dracut-022-r6.ebuild 8496 SHA256 0f7dbda1e8b642a20939ffbc99674adf9b80669fc6bd0d5c4d023604f994fa16 SHA512 ecd826c4d527a70b80e763e8212b601d63952ff9cb66569a137e830afcf354826aae71dcf89716faee872b4aa66989b12ec8b74ba73fad5c03e927d5a5f14c8b WHIRLPOOL 1acddb3823f76ed0a15c203b58c507ee75e797c046d7254680f5d687890a53010849efaf632c4a65a6c7c6ea48d72098f27e63c7f7896b3eb7d96fa31ed1c071
EBUILD dracut-023-r4.ebuild 8224 SHA256 34d9546e15720a3a58d4a76cd98aa4a2aa4c967b1cacff07a667f4c0980627ac SHA512 4e8bab041d147ae1c57aae3b1c66eda33aa39465acef1c40fcc8c9931407af086d22cf6a14c8528ebba2e87acf24d0ad2ff1236389666338e4877b04f6cba011 WHIRLPOOL 8d107953fc506eb73214a3fee7c68d53a1691494e8b088451d6665766de6f1c44e958085ddec207e27c6f334c6e47819ef743917548645b4e638d532c67934c8
EBUILD dracut-024-r4.ebuild 8429 SHA256 c60028ba1e9d0a1b4e562a07e893f2e55a0e52cb5f0a75e69e2941b62836b81c SHA512 8e245be5809e534a26f1a36a45a4f167bd78c72343e0a03cf88d1ea0eb8e55aa53bfd4016bae6ff94b3dabb56813cc41fc4d481910247e7c8f939362d3a59acb WHIRLPOOL c18eb68df7002b6d8c20f8695cc04a621861897620e5fede6d76d6796390cf5bad91b8f0fa8c0e3de9e85316c2ccbc60426592bff9497478e751bbf9fe4b2270
EBUILD dracut-025.ebuild 8794 SHA256 0fce3600dd8f24e09817a7d6bb2ae3b6caf447a0b3cacd4e8a84deb5be31939a SHA512 b8489e5438c1f86db8c5653553b82dbb937bb2b904fb277d53fc4d748c9f9f97ca66bc59226a98d709b7acfb4f34984b75a1fe24e1c3bf156cde63f28ed58ed4 WHIRLPOOL 9e1be988aab039bb34d1da987b4a42e3d973d2b78bec0ffec17da5e7a71b32a5617a568f0e00860b1540f7516207d1900908722df7aac50af577b2e02032ad98
EBUILD dracut-026-r1.ebuild 8507 SHA256 882c023696321a7f7290aaaf2daaa200f5dc906ab88848c6361949ac8528955e SHA512 6dd4a43741b058d781665cb1d0f3037a134ac39b4edc5fef9263a8bcbfb2feb2f191b8e9baa19cb804a811cc22ec9014d8bffa2be951566154efc42c1d21d719 WHIRLPOOL 58d1f9a8dce2bfe5408925aeb2319749cdbffac74dbc04905ae2d3af67c9cd397f6908d7c1e80eccada1e54959ce185836ba9ea9b0429a613a90b8dc76cf6e7d
EBUILD dracut-026-r2.ebuild 8862 SHA256 11a7bdf25a8fa2621b033becdde449009ded72e2767e340a51e126d078286f79 SHA512 61eb9bd15a279d016c7c7741ced263c8b71437843499525347b9975b4a0dfb504a42846bacaca3a8fddac4007bde247b381bb2339bd12c3e98003e5bd9e6236b WHIRLPOOL 74a2279f658cae03b0c09c91a1a96bfe4b53f86d00cf9392f943ca72d216f6b13e37073b83e037367a2fbb8f457e7380ac078a383ab9c0311931b7019d878e83
EBUILD dracut-026.ebuild 8359 SHA256 8a50df815858bf08932d5ac2960e1eb7a280fca448e08f7441c467de9bd040a2 SHA512 25e329ca32852c7e16c3f05de01d3236dfd269bf3aa2a5848bb0e974b5cad91f49b60edd25378e7deee8cb3ed28922f547e36b77614cecb9ac214b6f011b5245 WHIRLPOOL 103fcc267b121e1d043e36d2768358b17a8e2253721f9118d9f083037c64f63bd35abaa2aae0a188ff008a36ab0602a98ce0dc0c8d7ea5b7967f1b1f34eebf74
EBUILD dracut-027-r1.ebuild 8768 SHA256 687481806e3632eb2d6fe2f6ed0e4f4985ae683909c45b6a9edddbf88f54006e SHA512 c625253f0f0d2a51ebaf64d1ae1dca81bcb7c5a8318df27bf03943632393c9c039ac7a43800eca8e8d4ae143d1c53ae7bb37e2b618ca43f9c7a17123acae875f WHIRLPOOL 711d78c3501cb2888d4279673a043c08034437451876614bf4f0ef926cb146752f1728da96b8a2f6243a8c9f7930ef1e69e27075f7499d09c016c110f9878f77
EBUILD dracut-027-r2.ebuild 8673 SHA256 d50772a8f49d418435a14f82abe7cc995f8b4b66cf9e8926117f36f13103b893 SHA512 43164f83694add514d4129ff427829bd7ff6f81b82a28ad48e0c897650510d6eb7728e23b8dcab43d877ac7fe57dc763efddd2885c4e19ca3a9fb65879a203fc WHIRLPOOL 0847fdb0055f0e2c2a0cb093909e66fdffeb896fa7bc3e62ca2673e3eed6c4b01c646ef8f6b497bdddbab733693dc196ad37686cb10719605485506438f052a7
EBUILD dracut-027-r3.ebuild 8863 SHA256 9c6c38b212f9c9f2c81713a78f60413712a960a338fc071241698adbfb97aea0 SHA512 25072b959f8eee5f1ced8793294675eb1736e3dbcd6612f9f14971e109033d3b79614be66ec7e0cbe709e7cd91692c9e99fb3471d367e73411f0f29a3641876e WHIRLPOOL 1e594dbcb141529be0ac17682ac798f7e0fbfb1d63535fe072c84b7be3d235ffa8a3091a3f74801cdeb148ce26bd7a9a7b65b787ecae924e12275d20919b6d5b
EBUILD dracut-027.ebuild 8614 SHA256 ec94d9cf166fd57ba4ff359bc9759380ed226d40257d00f9d7748a379a380d92 SHA512 bc5dbba81983b6abd9a4c505bd7370d7c2c3149cd37fa6e86431582f533d71b0a97c18f80dc4127de637177906b55a12ef5904aa0c2e9e46426923c95fdac8af WHIRLPOOL 6a0dfc5abc78a0b6f9f02dcf4691a2ec49c7776bd00d9e9af9ae2785a449a2d89254360458db09ca75d4509271dda7e59f0e5b098b5d05a725a35bc3e5ba6b09
MISC ChangeLog 45793 SHA256 826fd7fb2d14b250ac2063bef91ec034fe69e18e726c6e3244b44bcd7979fba8 SHA512 b28945b9e70b99a4b460924ee6a4b05972c2222580f4ace6e767946af3773919d9512e71b115862298acc1557352f2dc9b3e24743553e099f9e06719ebdad576 WHIRLPOOL 2a12a1651cc6722fcfc3067f9ceb453deee65e380c35a77ba19bc3f013ec53bd9d9df9f0ae91535ee5c0036273caf2593e7422f849755f7471202981bc19f750
MISC metadata.xml 926 SHA256 b895115d72a686208816e1042bd295abb183ea832cdda73859deb690c11b932c SHA512 e6695bc301c6b3621e1730bc8e6ecc6c317705037a3004aab36bfea0b7f6a8b235a6d61ec4e4b9bb234ea53971d6c18dfbd0d09b3f30080a07eeb9e57da98c96 WHIRLPOOL d844828523e7bb0805b4b3d64d72163702adb6d4bedf7929494208e50696e43ddddc1e4a262c663ec98e05b65037868454135c0a46f82fb6b455e692826b48dc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQEcBAEBCAAGBQJRmmoEAAoJEPATRTHh2/q1QaMH/0IL/rZvCVfzkQujKce2d33B
EC7TYoQQ43UKS1U3c+lScRO7DA+Kb+KI8WXqkCQwBJMEJhyCF0yWppkXuv+IYVJu
t7eYnaaS3Tr9RiyaAGKgumobW2XTRG3Ecpjd9kLjPTPzKbxVmQtO9VnkSFjyVYle
A9iZCMPWhycrGNy+/haIeP+5NvIOI6QqbLkLCcB4H8wy6Bhv2JF+adVnmSKYVbrH
l3lL4GYHoNubJSY4oFgmL5/fmRmDaX91Ez5d+sRk3y8yOtU5x7PR1JulNYKBikxa
ZCmAvx/puh3w9YLI/buJRL7OaicaR06cW8bm8pwPdkQ+NCD1FqIc1xgGiUbTSDE=
=9DzL
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,309 @@
# 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-027-r3.ebuild,v 1.1 2013/05/20 18:22:56 aidecoe Exp $
EAPI=4
inherit eutils linux-info 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_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 optimization net selinux ${IUSE_DRACUT_MODULES}"
RESTRICT="test"
CDEPEND="virtual/udev
dracut_modules_systemd? ( >=sys-apps/systemd-199 )
"
RDEPEND="${CDEPEND}
app-arch/cpio
>=app-shells/bash-4.0
>=app-shells/dash-0.5.4.11
>=sys-apps/baselayout-1.12.14-r1
|| ( >=sys-apps/module-init-tools-3.8 >sys-apps/kmod-5[tools] )
>=sys-apps/util-linux-2.21
sys-apps/sysvinit-tools
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_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 )
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}-0000-fix-version-print.patch"
epatch "${FILESDIR}/${PV}-0001-dracut-functions.sh-support-for-altern.patch"
epatch "${FILESDIR}/${PV}-0002-gentoo.conf-let-udevdir-be-handled-by-.patch"
epatch "${FILESDIR}/${PV}-0003-Do-not-call-plymouth-with-full-path.patch"
epatch "${FILESDIR}/${PV}-0004-plymouth-plymouth-pretrigger.sh-fixup-.patch"
if use dracut_modules_systemd; then
local systemdutildir="$(systemd_get_utildir)"
local systemdsystemunitdir="$(systemd_get_unitdir)"
einfo "Setting systemdutildir to ${systemdutildir} and ..."
sed -e "4asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir}..."
sed -e "5asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
fi
}
src_configure() {
local myconf="--libdir='${MY_LIBDIR}'"
local bashcompletiondir=/usr/share/bash-completion
if $(tc-getPKG_CONFIG) bash-completion --exists; then
bashcompletiondir="$($(tc-getPKG_CONFIG) bash-completion \
--variable=completionsdir)"
fi
myconf+=" --bashcompletiondir=${bashcompletiondir}"
if use dracut_modules_systemd; then
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
fi
econf ${myconf}
}
src_compile() {
emake doc
if use optimization; then
ewarn "Enabling experimental optimization!"
tc-export CC
emake install/dracut-install
fi
}
src_install() {
default
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 ! [[ $(</proc/cmdline) =~ rd.auto[\ =] ]]; then
ewarn "Autoassembly of special devices like cryptoLUKS, dmraid, "
ewarn "mdraid or lvm is off for default as of >=dracut-024."
ewarn "Use rd.auto option to turn it on."
fi
fi
}

View File

@ -0,0 +1,25 @@
From 03d8ef0c6d58573d7a1bbc86fce490324ddd6725 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 11:38:04 +0200
Subject: [PATCH 1/5] 90multipath: added kpartx.rules; multipath.rules -
different prefix
---
modules.d/90multipath/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index bf71fdc..67d6068 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -72,6 +72,6 @@ install() {
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook cleanup 02 "$moddir/multipathd-stop.sh"
- inst_rules 40-multipath.rules
+ inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
}
--
1.7.8.6

View File

@ -0,0 +1,47 @@
From c3f0423502968bcee19f307cd2dfa6762a2e5ccf Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Wed, 6 Jun 2012 14:19:59 +0200
Subject: [PATCH 2/5] Avoid annonying warnings when pkg-config is not
installed.
---
dracut-functions.sh | 2 +-
modules.d/95udev-rules/module-setup.sh | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index f788878..4180f03 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -531,7 +531,7 @@ inst_symlink() {
ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target"
}
-udevdir=$(pkg-config udev --variable=udevdir)
+udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
if ! [[ -d "$udevdir" ]]; then
[[ -d /lib/udev ]] && udevdir=/lib/udev
[[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index e8c1c04..ff47021 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -5,13 +5,13 @@
install() {
local _i
- systemdutildir=$(pkg-config systemd --variable=systemdutildir)
+ systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
if ! [[ -d "$systemdutildir" ]]; then
[[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
[[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
fi
- udevdir=$(pkg-config udev --variable=udevdir)
+ udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
if ! [[ -d "$udevdir" ]]; then
[[ -d /lib/udev ]] && udevdir=/lib/udev
[[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
--
1.7.8.6

View File

@ -0,0 +1,30 @@
From 7b565af4f41615bad43f710514a4f8fb9d2d2721 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Tue, 31 Jul 2012 10:49:58 +0200
Subject: [PATCH 3/5] 99shutdown: remove --no-wall argument for reboot, halt,
etc...
In some distros (Gentoo, for example) these commands don't honor
--no-wall argument.
---
modules.d/99shutdown/shutdown.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh
index aa0a81f..e1da91b 100755
--- a/modules.d/99shutdown/shutdown.sh
+++ b/modules.d/99shutdown/shutdown.sh
@@ -56,7 +56,7 @@ done
_check_shutdown final
getarg 'rd.break=shutdown' && emergency_shell --shutdown shutdown "Break before shutdown"
-[ "$1" = "reboot" ] && reboot -f -d -n --no-wall
-[ "$1" = "poweroff" ] && poweroff -f -d -n --no-wall
-[ "$1" = "halt" ] && halt -f -d -n --no-wall
+[ "$1" = "reboot" ] && reboot -f -d -n
+[ "$1" = "poweroff" ] && poweroff -f -d -n
+[ "$1" = "halt" ] && halt -f -d -n
[ "$1" = "kexec" ] && kexec -e
--
1.7.8.6

View File

@ -0,0 +1,35 @@
From a2540ba4d2f6a943a957775ac9a14f9207df1860 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 31 Jul 2012 11:44:40 +0200
Subject: [PATCH 4/5] dracut.sh: do not copy /var/run and /var/lock from the
system
https://bugs.gentoo.org/show_bug.cgi?id=428142
If /var/run and /var/lock are real directories, we would end up with:
var/lock/lock -> /run/lock
var/run/run -> /run
Conflicts:
dracut.sh
---
dracut.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index c9e412e..8a7cb01 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -678,7 +678,7 @@ if [[ $prefix ]]; then
fi
if [[ $kernel_only != yes ]]; then
- for d in usr/bin usr/sbin bin etc lib "$libdir" sbin tmp usr var var/log var/run var/lock; do
+ for d in usr/bin usr/sbin bin etc lib sbin tmp usr var var/log $libdirs; do
[[ -e "${initdir}${prefix}/$d" ]] && continue
if [ -L "/$d" ]; then
inst_symlink "/$d" "${prefix}/$d"
--
1.7.8.6

View File

@ -0,0 +1,28 @@
From 7c687607133e1e58a601ad328898daec4bb41f3e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 31 Jul 2012 11:48:03 +0200
Subject: [PATCH 5/5] dracut.sh: create relative symlinks for /var/lock and
/var/run
---
dracut.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 8a7cb01..49421f6 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -695,8 +695,8 @@ if [[ $kernel_only != yes ]]; then
fi
done
- ln -sfn /run "$initdir/var/run"
- ln -sfn /run/lock "$initdir/var/lock"
+ ln -sfn ../run "$initdir/var/run"
+ ln -sfn ../run/lock "$initdir/var/lock"
else
for d in lib "$libdir"; do
[[ -e "${initdir}${prefix}/$d" ]] && continue
--
1.7.8.6

View File

@ -0,0 +1,73 @@
From e72c3bf925e277f43d1c412f6a6bc9115a2257d5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 16:03:49 +0200
Subject: [PATCH 01/14] qemu*/module-setup.sh: provide alternative for
systemd-detect-virt
---
modules.d/90qemu-net/module-setup.sh | 19 +++++++++++++++----
modules.d/90qemu/module-setup.sh | 18 ++++++++++++++----
2 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/modules.d/90qemu-net/module-setup.sh b/modules.d/90qemu-net/module-setup.sh
index 35c8f0f..e617230 100755
--- a/modules.d/90qemu-net/module-setup.sh
+++ b/modules.d/90qemu-net/module-setup.sh
@@ -3,10 +3,21 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
- vm=$(systemd-detect-virt --vm &>/dev/null)
- (($? != 0)) && return 255
- [[ $vm = "qemu" ]] && return 0
- [[ $vm = "kvm" ]] && return 0
+ if type -P systemd-detect-virt &>/dev/null; then
+ vm=$(systemd-detect-virt --vm &>/dev/null)
+ (($? != 0)) && return 255
+ [[ $vm = "qemu" ]] && return 0
+ [[ $vm = "kvm" ]] && return 0
+ [[ $vm = "bochs" ]] && return 0
+ fi
+
+ for i in /sys/class/dmi/id/*_vendor; do
+ [[ -f $i ]] || continue
+ read vendor < $i
+ [[ "$vendor" == "QEMU" ]] && return 0
+ [[ "$vendor" == "Bochs" ]] && return 0
+ done
+
return 255
}
diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh
index 3e55f23..fc258ac 100755
--- a/modules.d/90qemu/module-setup.sh
+++ b/modules.d/90qemu/module-setup.sh
@@ -3,10 +3,20 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
- vm=$(systemd-detect-virt --vm &>/dev/null)
- (($? != 0)) && return 255
- [[ $vm = "qemu" ]] && return 0
- [[ $vm = "kvm" ]] && return 0
+ if type -P systemd-detect-virt &>/dev/null; then
+ vm=$(systemd-detect-virt --vm &>/dev/null)
+ (($? != 0)) && return 255
+ [[ $vm = "qemu" ]] && return 0
+ [[ $vm = "kvm" ]] && return 0
+ [[ $vm = "bochs" ]] && return 0
+ fi
+
+ for i in /sys/class/dmi/id/*_vendor; do
+ [[ -f $i ]] || continue
+ read vendor < $i
+ [[ "$vendor" == "QEMU" ]] && return 0
+ [[ "$vendor" == "Bochs" ]] && return 0
+ done
return 255
}
--
1.7.8.6

View File

@ -0,0 +1,84 @@
From e1199b1fdcf09549cf415bb96a34d14633324719 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 25 Jul 2012 20:37:06 +0200
Subject: [PATCH 02/14] Makefile: use implicit rules for
install/dracut-install
Don't fail on install rule if install/dracut-install is not build - just
skip it. $(strip) is not used by install rule, because it is nowhere
set.
Conflicts:
Makefile
---
Makefile | 29 ++++++++++++++---------------
1 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index 0b29161..e36c2c2 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,8 @@ pkglibdir ?= ${libdir}/dracut
sysconfdir ?= ${prefix}/etc
bindir ?= ${prefix}/bin
mandir ?= ${prefix}/share/man
+CFLAGS ?= -O2 -g -Wall
+CFLAGS += -std=gnu99
manpages = dracut.8 \
dracut.cmdline.7 \
@@ -18,22 +20,17 @@ manpages = dracut.8 \
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
-all: syncheck dracut-version.sh dracut-install
+DRACUT_INSTALL_BIN = install/dracut-install
-DRACUT_INSTALL_SOURCE = \
- install/dracut-install.c \
- install/hashmap.c\
- install/log.c \
- install/util.c
+DRACUT_INSTALL_OBJECTS = \
+ install/dracut-install.o \
+ install/hashmap.o\
+ install/log.o \
+ install/util.o
-DRACUT_INSTALL_HEADER = \
- install/hashmap.h \
- install/log.h \
- install/macro.h \
- install/util.h
+all: syncheck dracut-version.sh $(DRACUT_INSTALL_BIN)
-dracut-install: $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
- gcc -std=gnu99 -O2 -g -Wall -o dracut-install $(DRACUT_INSTALL_SOURCE)
+$(DRACUT_INSTALL_BIN): $(DRACUT_INSTALL_OBJECTS)
indent:
indent -i8 -nut -br -linux -l120 install/dracut-install.c
@@ -88,7 +85,9 @@ install: doc dracut-version.sh
ln -s ../dracut-shutdown.service \
$(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
fi
- install $(strip) -m 0755 dracut-install $(DESTDIR)$(pkglibdir)/dracut-install
+ if [ -x $(DRACUT_INSTALL_BIN) ]; then \
+ install -m 0755 $(DRACUT_INSTALL_BIN) $(DESTDIR)$(pkglibdir)/dracut-install; \
+ fi
dracut-version.sh:
@echo "DRACUT_VERSION=$(VERSION)-$(GITVERSION)" > dracut-version.sh
@@ -99,7 +98,7 @@ clean:
$(RM) */*/*~
$(RM) test-*.img
$(RM) dracut-*.rpm dracut-*.tar.bz2
- $(RM) dracut-install
+ $(RM) $(DRACUT_INSTALL_BIN) $(DRACUT_INSTALL_OBJECTS)
$(RM) $(manpages) dracut.html
$(MAKE) -C test clean
--
1.7.8.6

View File

@ -0,0 +1,29 @@
From 418f79110e8df91cec5bdc23dd123555515c3e86 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Jul 2012 15:40:20 +0200
Subject: [PATCH 03/14] kernel-modules/module-setup.sh: just optionally
install all modprobe.d
Conflicts:
modules.d/90kernel-modules/module-setup.sh
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index f309de8..1632367 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -77,7 +77,7 @@ installkernel() {
install() {
local _f i
[ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf
- dracut_install $(find -L /{etc,lib}/modprobe.d/ -maxdepth 1 -type f -name '*.conf')
+ dracut_install -o /{etc,lib}/modprobe.d/*.conf
inst_hook cmdline 01 "$moddir/parse-kernel.sh"
inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
}
--
1.7.8.6

View File

@ -0,0 +1,25 @@
From 2a45f1926adebc78940358d323d85ce89499eb0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sat, 9 Jun 2012 14:18:56 +0200
Subject: [PATCH 04/14] 90multipath: added kpartx.rules; multipath.rules -
different prefix
---
modules.d/90multipath/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 5944d25..69c4441 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -85,6 +85,6 @@ install() {
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook cleanup 02 "$moddir/multipathd-stop.sh"
- inst_rules 40-multipath.rules
+ inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
}
--
1.7.8.6

View File

@ -0,0 +1,25 @@
From 58eb0686d99510c2b7c5e1296c8487de83ab6d5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 09:35:58 +0200
Subject: [PATCH 05/14] gentoo.conf: set udevdir
---
dracut.conf.d/gentoo.conf.example | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index a40b746..6e4d89f 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,6 +1,8 @@
# /etc/dracut.conf.d/gentoo.conf
# Dracut config file customized for Gentoo Base System release 1
+udevdir=/lib/udev
+
#
# Modules
#
--
1.7.8.6

View File

@ -0,0 +1,24 @@
From 6046e77c8d71663a0cbe643d6410c3115c502256 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 09:35:57 +0200
Subject: [PATCH 06/14] Config file for systemd on Gentoo.
---
dracut.conf.d/gentoo-systemd.conf.example | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
create mode 100644 dracut.conf.d/gentoo-systemd.conf.example
diff --git a/dracut.conf.d/gentoo-systemd.conf.example b/dracut.conf.d/gentoo-systemd.conf.example
new file mode 100644
index 0000000..00af70b
--- /dev/null
+++ b/dracut.conf.d/gentoo-systemd.conf.example
@@ -0,0 +1,5 @@
+# /etc/dracut.conf.d/gentoo-systemd.conf
+
+# Paths of systemd dirs on Gentoo
+systemdutildir=/usr/lib/systemd
+systemdsystemunitdir=/usr/lib/systemd/system
--
1.7.8.6

View File

@ -0,0 +1,47 @@
From f4b47f9394194140a6703b4ace34b81637fe69dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 09:35:56 +0200
Subject: [PATCH 07/14] Remove obsolete gentoo conf file.
---
dracut.conf.d/gentoo-openrc.conf.example | 9 ---------
dracut.conf.d/gentoo.conf.example | 6 +++---
2 files changed, 3 insertions(+), 12 deletions(-)
delete mode 100644 dracut.conf.d/gentoo-openrc.conf.example
diff --git a/dracut.conf.d/gentoo-openrc.conf.example b/dracut.conf.d/gentoo-openrc.conf.example
deleted file mode 100644
index f5aa8ed..0000000
--- a/dracut.conf.d/gentoo-openrc.conf.example
+++ /dev/null
@@ -1,9 +0,0 @@
-# /etc/dracut.conf.d/gentoo-openrc.conf
-# Dracut config file customized for Gentoo Base System release 2
-
-#
-# Modules
-#
-
-# i18n
-i18n_vars="/etc/conf.d/keymaps:keymap-KEYMAP,extended_keymaps-EXT_KEYMAPS /etc/conf.d/consolefont:consolefont-FONT,consoletranslation-FONT_MAP /etc/rc.conf:unicode-UNICODE"
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 6e4d89f..411f9a0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,5 +1,5 @@
-# /etc/dracut.conf.d/gentoo.conf
-# Dracut config file customized for Gentoo Base System release 1
+# /etc/dracut.conf.d/gentoo-openrc.conf
+# Dracut config file customized for Gentoo Base System release 2
udevdir=/lib/udev
@@ -8,4 +8,4 @@ udevdir=/lib/udev
#
# i18n
-i18n_vars="/etc/conf.d/keymaps:KEYMAP,EXTENDED_KEYMAPS-EXT_KEYMAPS /etc/conf.d/consolefont:CONSOLEFONT-FONT,CONSOLETRANSLATION-FONT_MAP /etc/rc.conf:UNICODE"
+i18n_vars="/etc/conf.d/keymaps:keymap-KEYMAP,extended_keymaps-EXT_KEYMAPS /etc/conf.d/consolefont:consolefont-FONT,consoletranslation-FONT_MAP /etc/rc.conf:unicode-UNICODE"
--
1.7.8.6

View File

@ -0,0 +1,45 @@
From 5f2516a386ee422e75ec567f7af6abba84e06083 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 11:32:13 +0200
Subject: [PATCH 08/14] 95rootfs-block: fix left fsck rel. checks
---
modules.d/95rootfs-block/mount-root.sh | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index e61b0e8..8259ff9 100755
--- a/modules.d/95rootfs-block/mount-root.sh
+++ b/modules.d/95rootfs-block/mount-root.sh
@@ -52,11 +52,11 @@ mount_root() {
fastboot=yes
fi
- if [ -f "$NEWROOT"/fsckoptions ]; then
- fsckoptions=$(cat "$NEWROOT"/fsckoptions)
- fi
-
if ! getargbool 0 rd.skipfsck; then
+ if [ -f "$NEWROOT"/fsckoptions ]; then
+ fsckoptions=$(cat "$NEWROOT"/fsckoptions)
+ fi
+
if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck ; then
fsckoptions="-f $fsckoptions"
elif [ -f "$NEWROOT"/.autofsck ]; then
@@ -130,8 +130,10 @@ mount_root() {
mount -o remount "$NEWROOT" 2>&1 | vinfo
fi
- [ -f "$NEWROOT"/forcefsck ] && rm -f "$NEWROOT"/forcefsck 2>/dev/null
- [ -f "$NEWROOT"/.autofsck ] && rm -f "$NEWROOT"/.autofsck 2>/dev/null
+ if ! getargbool 0 rd.skipfsck; then
+ [ -f "$NEWROOT"/forcefsck ] && rm -f "$NEWROOT"/forcefsck 2>/dev/null
+ [ -f "$NEWROOT"/.autofsck ] && rm -f "$NEWROOT"/.autofsck 2>/dev/null
+ fi
}
if [ -n "$root" -a -z "${root%%block:*}" ]; then
--
1.7.8.6

View File

@ -0,0 +1,82 @@
From ff628b5614be607925fddd22c591ab9eda9c33c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 12:31:30 +0200
Subject: [PATCH 09/14] 98usrmount: use rw and ro options instead of
rd.usrmount.ro
In result /usr is forced to be mounted ro or rw along with /.
---
dracut.cmdline.7.asc | 12 ++++++++----
modules.d/98usrmount/mount-usr.sh | 18 +++++++++---------
2 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 755d641..8f642f3 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -61,6 +61,14 @@ rootfstype=ext3
_/etc/fstab_ of the real root will be parsed for special mount options and
mounted accordingly.
+**ro**::
+ force mounting _/_ and _/usr_ (if it is a separate device) read-only. If
+ none of ro and rw is present, both are mounted according to _/etc/fstab_.
+
+**rw**::
+ force mounting _/_ and _/usr_ (if it is a separate device) read-write.
+ See also ro option.
+
**rd.fstab=0**::
do not honor special mount options for the root filesystem found in
_/etc/fstab_ of the real root.
@@ -81,10 +89,6 @@ resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
the init system performs fsck before remount, you might want to use this
option to avoid duplication.
-**rd.usrmount.ro**:
- force mounting _/usr_ read-only. Use this option if your init system
- performs remount of _/usr_ the same as it does with rootfs.
-
Misc
~~~~
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
index c277d74..98e08e3 100755
--- a/modules.d/98usrmount/mount-usr.sh
+++ b/modules.d/98usrmount/mount-usr.sh
@@ -57,9 +57,12 @@ mount_usr()
[ -n "$rflags" ]; then
# for btrfs subvolumes we have to mount /usr with the same rflags
_opts="${_opts:+${_opts},}${rflags}"
- elif getarg ro; then
- # if "ro" is specified, we want /usr to be readonly, too
+ elif getargbool 0 ro; then
+ # if "ro" is specified, we want /usr to be mounted read-only
_opts="${_opts:+${_opts},}ro"
+ elif getargbool 0 rw; then
+ # if "rw" is specified, we want /usr to be mounted read-write
+ _opts="${_opts:+${_opts},}rw"
fi
echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_freq $_passno"
_usr_found="1"
@@ -77,13 +80,10 @@ mount_usr()
[ $_fsck_ret -ne 255 ] && echo $_fsck_ret >/run/initramfs/usr-fsck
fi
fi
- if getargbool 0 rd.usrmount.ro; then
- info "Mounting /usr (read-only forced)"
- mount -r "$NEWROOT/usr" 2>&1 | vinfo
- else
- info "Mounting /usr"
- mount "$NEWROOT/usr" 2>&1 | vinfo
- fi
+
+ info "Mounting /usr"
+ mount "$NEWROOT/usr" 2>&1 | vinfo
+
if ! ismounted "$NEWROOT/usr"; then
warn "Mounting /usr to $NEWROOT/usr failed"
warn "*** Dropping you to a shell; the system will continue"
--
1.7.8.6

View File

@ -0,0 +1,25 @@
From d5ed8b1f8b1240f31953a45992cbc92ee23601bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 14:54:19 +0200
Subject: [PATCH 10/14] 98usrmount: print mount options
---
modules.d/98usrmount/mount-usr.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
index 98e08e3..f4d59b3 100755
--- a/modules.d/98usrmount/mount-usr.sh
+++ b/modules.d/98usrmount/mount-usr.sh
@@ -81,7 +81,7 @@ mount_usr()
fi
fi
- info "Mounting /usr"
+ info "Mounting /usr with -o $_opts"
mount "$NEWROOT/usr" 2>&1 | vinfo
if ! ismounted "$NEWROOT/usr"; then
--
1.7.8.6

View File

@ -0,0 +1,60 @@
From c01f9b4827a50f8cc3e0a4832e70616c8faf990f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sat, 30 Jun 2012 18:11:11 +0200
Subject: [PATCH 11/14] dracut-lib: new functions: listlist and are_lists_eq
listlist is like strstr for lists with specified separator and
are_lists_eq uses listlist to check equality of specified lists.
---
modules.d/99base/dracut-lib.sh | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 1ee671e..ba94b81 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -878,3 +878,41 @@ export_n()
[ -n "$val" ] && eval $var=\"$val\"
done
}
+
+# returns OK if list1 contains all elements of list2, i.e. checks if list2 is a
+# sublist of list1. An order and a duplication doesn't matter.
+#
+# $1 = separator
+# $2 = list1
+# $3 = list2
+# $4 = ignore values, separated by $1
+listlist() {
+ local _sep="$1"
+ local _list="${_sep}${2}${_sep}"
+ local _sublist="$3"
+ [ -n "$4" ] && local _iglist="${_sep}${4}${_sep}"
+ local IFS="$_sep"
+ local _v
+
+ [ "$_list" = "$_sublist" ] && return 0
+
+ for _v in $_sublist; do
+ if [ -n "$_v" ] && ! ( [ -n "$_iglist" ] && strstr "$_iglist" "$_v" )
+ then
+ strstr "$_list" "$_v" || return 1
+ fi
+ done
+
+ return 0
+}
+
+# returns OK if both lists contain the same values. An order and a duplication
+# doesn't matter.
+#
+# $1 = separator
+# $2 = list1
+# $3 = list2
+# $4 = ignore values, separated by $1
+are_lists_eq() {
+ listlist "$1" "$2" "$3" "$4" && listlist "$1" "$3" "$2" "$4"
+}
--
1.7.8.6

View File

@ -0,0 +1,111 @@
From 6e9f7b09e4316b1337642f876092dcc429efaa52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 13:17:05 +0200
Subject: [PATCH 12/14] apply "ro" and "rw" options from cmdline to / mount
rflags is no longer guaranteed to be non empty. / is mounted according
to rootflags parameter but forced ro at first. Later it is remounted
according to /etc/fstab + rootflags parameter and "ro"/"rw". If
parameters are still the same as for first mount, / isn't remounted.
Conflicts:
modules.d/95rootfs-block/mount-root.sh
modules.d/99base/parse-root-opts.sh
---
modules.d/95rootfs-block/mount-root.sh | 35 +++++++------------------------
modules.d/99base/parse-root-opts.sh | 11 +++------
2 files changed, 12 insertions(+), 34 deletions(-)
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index 8259ff9..b5d45c4 100755
--- a/modules.d/95rootfs-block/mount-root.sh
+++ b/modules.d/95rootfs-block/mount-root.sh
@@ -5,32 +5,13 @@
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
type det_fs >/dev/null 2>&1 || . /lib/fs-lib.sh
-filter_rootopts() {
- rootopts=$1
- # strip ro and rw options
- local OLDIFS="$IFS"
- IFS=,
- set -- $rootopts
- IFS="$OLDIFS"
- local v
- while [ $# -gt 0 ]; do
- case $1 in
- defaults);;
- *)
- v="$v,${1}";;
- esac
- shift
- done
- rootopts=${v#,}
- echo $rootopts
-}
-
mount_root() {
local _ret
+ local _rflags_ro="$rflags,ro"
# sanity - determine/fix fstype
rootfs=$(det_fs "${root#block:}" "$fstype")
- while ! mount -t ${rootfs} -o "$rflags",ro "${root#block:}" "$NEWROOT"; do
- warn "Failed to mount -t ${rootfs} -o $rflags,ro ${root#block:} $NEWROOT"
+ while ! mount -t ${rootfs} -o "$_rflags_ro" "${root#block:}" "$NEWROOT"; do
+ warn "Failed to mount -t ${rootfs} -o $_rflags_ro ${root#block:} $NEWROOT"
fsck_ask_err
done
@@ -96,13 +77,13 @@ mount_root() {
break
fi
done < "$NEWROOT/etc/fstab"
-
- rootopts=$(filter_rootopts $rootopts)
fi
# we want rootflags (rflags) to take precedence so prepend rootopts to
- # them; rflags is guaranteed to not be empty
- rflags="${rootopts:+${rootopts},}${rflags}"
+ # them
+ rflags="${rootopts},${rflags}"
+ rflags="${rflags#,}"
+ rflags="${rflags%,}"
# backslashes are treated as escape character in fstab
# esc_root=$(echo ${root#block:} | sed 's,\\,\\\\,g')
@@ -125,7 +106,7 @@ mount_root() {
if ! ismounted "$NEWROOT"; then
info "Mounting ${root#block:} with -o ${rflags}"
mount "$NEWROOT" 2>&1 | vinfo
- else
+ elif ! are_lists_eq , "$rflags" "$_rflags_ro" defaults; then
info "Remounting ${root#block:} with -o ${rflags}"
mount -o remount "$NEWROOT" 2>&1 | vinfo
fi
diff --git a/modules.d/99base/parse-root-opts.sh b/modules.d/99base/parse-root-opts.sh
index 44dcc09..7b0b758 100755
--- a/modules.d/99base/parse-root-opts.sh
+++ b/modules.d/99base/parse-root-opts.sh
@@ -4,13 +4,10 @@
root=$(getarg root=)
-if rflags="$(getarg rootflags=)"; then
- getarg rw && rflags="${rflags},rw"
- getarg ro && rflags="${rflags},ro"
-else
- getarg rw && rflags=rw
- getarg ro && rflags=ro
-fi
+rflags="$(getarg rootflags=)"
+getargbool 0 rw && rflags="${rflags},rw"
+getargbool 0 ro && rflags="${rflags},ro"
+rflags="${rflags#,}"
fstype="$(getarg rootfstype=)"
if [ -z "$fstype" ]; then
--
1.7.8.6

View File

@ -0,0 +1,103 @@
From 9e32e0e7e1f8daee9f8ae2912ece8b7789f31e87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 16:44:09 +0200
Subject: [PATCH 13/14] ro_mnt - option at build time to force ro mount of /
and /usr
---
dracut.conf | 3 +++
dracut.conf.5.asc | 3 +++
dracut.sh | 6 +++++-
modules.d/99base/module-setup.sh | 3 +++
4 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/dracut.conf b/dracut.conf
index f47d571..f912acc 100644
--- a/dracut.conf
+++ b/dracut.conf
@@ -43,6 +43,9 @@ lvmconf="yes"
# inhibit installation of any fsck tools
#nofscks="yes"
+# mount / and /usr read-only by default
+#ro_mnt="no"
+
# set the directory for temporary files
# default: /var/tmp
#tmpdir=/tmp
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
index d17477d..89bbf61 100644
--- a/dracut.conf.5.asc
+++ b/dracut.conf.5.asc
@@ -97,6 +97,9 @@ If chrooted to another root other than the real root device, use --fstab and pro
*nofscks=*"__{yes|no}__"::
If specified, inhibit installation of any fsck tools.
+*ro_mnt*
+ Mount _/_ and _/usr_ read-only by default.
+
*kernel_only=*"__{yes|no}__"::
Only install kernel drivers and firmware files. (default=no)
diff --git a/dracut.sh b/dracut.sh
index ffdcbcc..107fc27 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -101,6 +101,7 @@ Creates initial ramdisk images for preloading modules
--nolvmconf Do not include local /etc/lvm/lvm.conf
--fscks [LIST] Add a space-separated list of fsck helpers.
--nofscks Inhibit installation of any fsck helpers.
+ --ro-mnt Mount / and /usr read-only by default.
-h, --help This message
--debug Output debug information of the build process
--profile Output profile information of the build process
@@ -261,6 +262,7 @@ TEMP=$(unset POSIXLY_CORRECT; getopt \
--long add-fstab: \
--long mount: \
--long nofscks: \
+ --long ro-mnt \
--long kmoddir: \
--long conf: \
--long confdir: \
@@ -326,6 +328,7 @@ while :; do
--add-fstab) push add_fstab_l "$2"; shift;;
--mount) push fstab_lines "$2"; shift;;
--nofscks) nofscks_l="yes";;
+ --ro-mnt) ro_mnt_l="yes";;
-k|--kmoddir) drivers_dir_l="$2"; shift;;
-c|--conf) conffile="$2"; shift;;
--confdir) confdir="$2"; shift;;
@@ -558,6 +561,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $compress_l ]] && compress=$compress_l
[[ $show_modules_l ]] && show_modules=$show_modules_l
[[ $nofscks_l ]] && nofscks="yes"
+[[ $ro_mnt_l ]] && ro_mnt="yes"
# eliminate IFS hackery when messing with fw_dir
fw_dir=${fw_dir//:/ }
@@ -779,7 +783,7 @@ fi
export initdir dracutbasedir dracutmodules drivers \
fw_dir drivers_dir debug no_kernel kernel_only \
add_drivers omit_drivers mdadmconf lvmconf filesystems \
- use_fstab fstab_lines libdirs fscks nofscks \
+ use_fstab fstab_lines libdirs fscks nofscks ro_mnt \
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
debug host_fs_types host_devs sshkey add_fstab \
DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir \
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
index f20ca1a..dde1285 100755
--- a/modules.d/99base/module-setup.sh
+++ b/modules.d/99base/module-setup.sh
@@ -50,6 +50,9 @@ install() {
fi
ln -fs /proc/self/mounts "$initdir/etc/mtab"
+ if [[ $ro_mnt = yes ]]; then
+ echo ro >> "${initdir}/etc/cmdline.d/base.conf"
+ fi
if [ -e /etc/os-release ]; then
. /etc/os-release
--
1.7.8.6

View File

@ -0,0 +1,27 @@
From e061c0f683d4c9504ed16284fd46e8fce3845c2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 15:58:27 +0200
Subject: [PATCH 14/14] parse-root-opts: first check for ro, later for rw
This order is already in 98usrmount.
---
modules.d/99base/parse-root-opts.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/99base/parse-root-opts.sh b/modules.d/99base/parse-root-opts.sh
index 7b0b758..b74eeb3 100755
--- a/modules.d/99base/parse-root-opts.sh
+++ b/modules.d/99base/parse-root-opts.sh
@@ -5,8 +5,8 @@
root=$(getarg root=)
rflags="$(getarg rootflags=)"
-getargbool 0 rw && rflags="${rflags},rw"
getargbool 0 ro && rflags="${rflags},ro"
+getargbool 0 rw && rflags="${rflags},rw"
rflags="${rflags#,}"
fstype="$(getarg rootfstype=)"
--
1.7.8.6

View File

@ -0,0 +1,24 @@
From 5ee9d6bad16c18d17cea4a9ca737bc5583209fa0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 26 Jul 2012 19:04:30 +0200
Subject: [PATCH 15/15] gentoo.conf: enable ro_mnt
---
dracut.conf.d/gentoo.conf.example | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 411f9a0..6b74954 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -2,6 +2,7 @@
# Dracut config file customized for Gentoo Base System release 2
udevdir=/lib/udev
+ro_mnt=yes
#
# Modules
--
1.7.8.6

View File

@ -0,0 +1,36 @@
From d642c41070e1e8f3a74346a3105a35a5c0af0058 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 13:02:41 +0200
Subject: [PATCH 16/16] dracut.sh: test if we can lazy resolve with ldd
---
dracut.sh | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 107fc27..2235e9a 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -600,11 +600,18 @@ else
exit 1
fi
+inst /bin/sh
+if ! $DRACUT_INSTALL ${initdir+-D "$initdir"} -R "$initdir/bin/sh" &>/dev/null; then
+ unset DRACUT_RESOLVE_LAZY
+ export DRACUT_RESOLVE_DEPS=1
+fi
+rm -fr ${initdir}/*
+
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
-# Verify bash version, curret minimum is 3.1
+# Verify bash version, current minimum is 3.1
if (( ${BASH_VERSINFO[0]} < 3 ||
( ${BASH_VERSINFO[0]} == 3 && ${BASH_VERSINFO[1]} < 1 ) )); then
dfatal 'You need at least Bash 3.1 to use dracut, sorry.'
--
1.7.8.6

View File

@ -0,0 +1,30 @@
From dd3517f38302f6e55b3cba13ec764166163be541 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Tue, 31 Jul 2012 10:49:58 +0200
Subject: [PATCH 17/17] 99shutdown: remove --no-wall argument for reboot,
halt, etc...
In some distros (Gentoo, for example) these commands don't honor
--no-wall argument.
---
modules.d/99shutdown/shutdown.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh
index aa0a81f..e1da91b 100755
--- a/modules.d/99shutdown/shutdown.sh
+++ b/modules.d/99shutdown/shutdown.sh
@@ -56,7 +56,7 @@ done
_check_shutdown final
getarg 'rd.break=shutdown' && emergency_shell --shutdown shutdown "Break before shutdown"
-[ "$1" = "reboot" ] && reboot -f -d -n --no-wall
-[ "$1" = "poweroff" ] && poweroff -f -d -n --no-wall
-[ "$1" = "halt" ] && halt -f -d -n --no-wall
+[ "$1" = "reboot" ] && reboot -f -d -n
+[ "$1" = "poweroff" ] && poweroff -f -d -n
+[ "$1" = "halt" ] && halt -f -d -n
[ "$1" = "kexec" ] && kexec -e
--
1.7.8.6

View File

@ -0,0 +1,31 @@
From f5e10c1e3911a1cdc928fa0e4ab9bf775e9bac30 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 31 Jul 2012 11:44:40 +0200
Subject: [PATCH 18/19] dracut.sh: do not copy /var/run and /var/lock from the
system
https://bugs.gentoo.org/show_bug.cgi?id=428142
If /var/run and /var/lock are real directories, we would end up with:
var/lock/lock -> /run/lock
var/run/run -> /run
---
dracut.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 2235e9a..91e510c 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -810,7 +810,7 @@ if [[ $prefix ]]; then
fi
if [[ $kernel_only != yes ]]; then
- for d in usr/bin usr/sbin bin etc lib sbin tmp usr var var/log var/run var/lock $libdirs; do
+ for d in usr/bin usr/sbin bin etc lib sbin tmp usr var var/log $libdirs; do
[[ -e "${initdir}${prefix}/$d" ]] && continue
if [ -L "/$d" ]; then
inst_symlink "/$d" "${prefix}/$d"
--
1.7.8.6

View File

@ -0,0 +1,28 @@
From 8156e70294a911c0dc2c762f925bf544354763df Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 31 Jul 2012 11:48:03 +0200
Subject: [PATCH 19/19] dracut.sh: create relative symlinks for /var/lock and
/var/run
---
dracut.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 91e510c..dfe0f08 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -827,8 +827,8 @@ if [[ $kernel_only != yes ]]; then
fi
done
- ln -sfn /run "$initdir/var/run"
- ln -sfn /run/lock "$initdir/var/lock"
+ ln -sfn ../run "$initdir/var/run"
+ ln -sfn ../run/lock "$initdir/var/lock"
else
for d in lib "$libdir"; do
[[ -e "${initdir}${prefix}/$d" ]] && continue
--
1.7.8.6

View File

@ -0,0 +1,41 @@
From 3d15bc001e6ae4d92ff749a8159f9d1bfa2a7a74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 7 Oct 2012 14:23:29 +0200
Subject: [PATCH 1/2] dracut-functions.sh: find_binary: path starting with
variable
Credits go to Alexander Tsoy <bugs+gentoo@puleglot.ru> who provided the
patch with following explanation:
I get messages "Skipping program $env{DM_SBIN_PATH}/..." when
generating initramfs. This happens because some udev rules contains
variables in path to command:
$ egrep -r 'IMPORT\{program\}=\"\$' /lib64/udev/rules.d/
/lib64/udev/rules.d/10-dm.rules:ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}"
[...]
$ sudo dracut -f "" 3.5.4-hardened-r1
I: *** Including module: dm ***
I: Skipping program $env{DM_SBIN_PATH}/dmsetup using in udev rule 10-dm.rules as it cannot be found
---
dracut-functions.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 2ad8f4a..43a0e16 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -45,7 +45,7 @@ find_binary() {
fi
fi
- type -P $1
+ type -P ${1##*/}
}
if ! [[ $dracutbasedir ]]; then
--
1.7.12

View File

@ -0,0 +1,31 @@
From df079b0cc8f5f0e564078c89513412f37ab58771 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 7 Oct 2012 15:00:22 +0200
Subject: [PATCH 2/2] 90crypt: call systemd commands only if systemd binaries
are there
---
modules.d/90crypt/crypt-run-generator.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh
index f2f2da1..aed2f20 100755
--- a/modules.d/90crypt/crypt-run-generator.sh
+++ b/modules.d/90crypt/crypt-run-generator.sh
@@ -12,7 +12,10 @@ if [ -f /etc/crypttab ]; then
fi
echo "$luks $dev" >> /etc/crypttab
-/lib/systemd/system-generators/systemd-cryptsetup-generator
-systemctl daemon-reload
-systemctl start cryptsetup.target
+if [ -x /lib/systemd/system-generators/systemd-cryptsetup-generator ] &&
+ command -v systemctl >/dev/null; then
+ /lib/systemd/system-generators/systemd-cryptsetup-generator
+ systemctl daemon-reload
+ systemctl start cryptsetup.target
+fi
exit 0
--
1.7.12

View File

@ -0,0 +1,115 @@
From ee71a87472029c1838d0c834e9610ee578cb6d7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 1 Nov 2012 09:31:01 +0100
Subject: [PATCH 3/3] Fallback to external blkid and path_id in udev rules for
<udev-176.
Starting with commit 24a38bc1cbe461c344ce61c7e10b6d51d5689c93 dracut
uses udev builtins but still depends on >=udev-166 in dracut.spec. This
patch makes dracut work with older udev again.
All credits go to Alexander Tsoy <alexander@tsoy.me>; see
https://bugs.gentoo.org/show_bug.cgi?id=437700
---
modules.d/95udev-rules/59-persistent-storage.rules | 8 +++----
modules.d/95udev-rules/61-persistent-storage.rules | 2 +-
modules.d/95udev-rules/module-setup.sh | 2 ++
modules.d/95udev-rules/udev-rules-prepare.sh | 27 ++++++++++++++++++++++
4 files changed, 34 insertions(+), 5 deletions(-)
create mode 100755 modules.d/95udev-rules/udev-rules-prepare.sh
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules
index f2756ee..c221cda 100644
--- a/modules.d/95udev-rules/59-persistent-storage.rules
+++ b/modules.d/95udev-rules/59-persistent-storage.rules
@@ -3,8 +3,8 @@ ACTION!="add|change", GOTO="ps_end"
# Also don't process disks that are slated to be a multipath device
ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end"
-KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid"
-KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid"
+KERNEL=="cciss[0-9]*", IMPORT BLKID
+KERNEL=="nbd[0-9]*", IMPORT BLKID
KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end"
@@ -21,7 +21,7 @@ ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
LABEL="md_ignore_state"
IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
-IMPORT{builtin}="blkid"
+IMPORT BLKID
OPTIONS+="link_priority=100"
OPTIONS+="watch"
LABEL="md_end"
@@ -34,7 +34,7 @@ ENV{DM_NAME}!="?*", GOTO="ps_end"
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="ps_end"
ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="ps_end"
ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="ps_end"
-IMPORT{builtin}="blkid"
+IMPORT BLKID
LABEL="ps_end"
diff --git a/modules.d/95udev-rules/61-persistent-storage.rules b/modules.d/95udev-rules/61-persistent-storage.rules
index 7dbd151..37148b0 100644
--- a/modules.d/95udev-rules/61-persistent-storage.rules
+++ b/modules.d/95udev-rules/61-persistent-storage.rules
@@ -12,7 +12,7 @@ GOTO="pss_end"
LABEL="do_pss"
# by-path (parent device path)
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
+ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 2e3c955..a9a8655 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -55,5 +55,7 @@ install() {
inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh
inst_libdir_file "libnss_files*"
+
+ inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh"
}
diff --git a/modules.d/95udev-rules/udev-rules-prepare.sh b/modules.d/95udev-rules/udev-rules-prepare.sh
new file mode 100755
index 0000000..a340e38
--- /dev/null
+++ b/modules.d/95udev-rules/udev-rules-prepare.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+[ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version)
+
+for f in /etc/udev/rules.d/*-persistent-storage.rules; do
+ [ -e "$f" ] || continue
+ while read line; do
+ if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then
+ if [ $UDEVVERSION -ge 174 ]; then
+ printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}"
+ else
+ printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}"
+ fi
+ elif [ "${line%%IMPORT BLKID}" != "$line" ]; then
+ if [ $UDEVVERSION -ge 176 ]; then
+ printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}"
+ else
+ printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}"
+ fi
+ else
+ echo "$line"
+ fi
+ done < "${f}" > "${f}.new"
+ mv "${f}.new" "$f"
+done
--
1.7.12.4

View File

@ -0,0 +1,115 @@
From 2a0b056b156c471a8cf5cbac918f9bfc30f86e06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 1 Nov 2012 09:31:01 +0100
Subject: [PATCH 1/3] Fallback to external blkid and path_id in udev rules for
<udev-176.
Starting with commit 24a38bc1cbe461c344ce61c7e10b6d51d5689c93 dracut
uses udev builtins but still depends on >=udev-166 in dracut.spec. This
patch makes dracut work with older udev again.
All credits go to Alexander Tsoy <alexander@tsoy.me>; see
https://bugs.gentoo.org/show_bug.cgi?id=437700
---
modules.d/95udev-rules/59-persistent-storage.rules | 8 +++----
modules.d/95udev-rules/61-persistent-storage.rules | 2 +-
modules.d/95udev-rules/module-setup.sh | 2 ++
modules.d/95udev-rules/udev-rules-prepare.sh | 27 ++++++++++++++++++++++
4 files changed, 34 insertions(+), 5 deletions(-)
create mode 100755 modules.d/95udev-rules/udev-rules-prepare.sh
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules
index f2756ee..c221cda 100644
--- a/modules.d/95udev-rules/59-persistent-storage.rules
+++ b/modules.d/95udev-rules/59-persistent-storage.rules
@@ -3,8 +3,8 @@ ACTION!="add|change", GOTO="ps_end"
# Also don't process disks that are slated to be a multipath device
ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end"
-KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid"
-KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid"
+KERNEL=="cciss[0-9]*", IMPORT BLKID
+KERNEL=="nbd[0-9]*", IMPORT BLKID
KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end"
@@ -21,7 +21,7 @@ ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
LABEL="md_ignore_state"
IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
-IMPORT{builtin}="blkid"
+IMPORT BLKID
OPTIONS+="link_priority=100"
OPTIONS+="watch"
LABEL="md_end"
@@ -34,7 +34,7 @@ ENV{DM_NAME}!="?*", GOTO="ps_end"
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="ps_end"
ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="ps_end"
ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="ps_end"
-IMPORT{builtin}="blkid"
+IMPORT BLKID
LABEL="ps_end"
diff --git a/modules.d/95udev-rules/61-persistent-storage.rules b/modules.d/95udev-rules/61-persistent-storage.rules
index 7dbd151..37148b0 100644
--- a/modules.d/95udev-rules/61-persistent-storage.rules
+++ b/modules.d/95udev-rules/61-persistent-storage.rules
@@ -12,7 +12,7 @@ GOTO="pss_end"
LABEL="do_pss"
# by-path (parent device path)
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
+ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 533dfeb..54a192e 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -74,5 +74,7 @@ install() {
inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh
inst_libdir_file "libnss_files*"
+
+ inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh"
}
diff --git a/modules.d/95udev-rules/udev-rules-prepare.sh b/modules.d/95udev-rules/udev-rules-prepare.sh
new file mode 100755
index 0000000..a340e38
--- /dev/null
+++ b/modules.d/95udev-rules/udev-rules-prepare.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+[ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version)
+
+for f in /etc/udev/rules.d/*-persistent-storage.rules; do
+ [ -e "$f" ] || continue
+ while read line; do
+ if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then
+ if [ $UDEVVERSION -ge 174 ]; then
+ printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}"
+ else
+ printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}"
+ fi
+ elif [ "${line%%IMPORT BLKID}" != "$line" ]; then
+ if [ $UDEVVERSION -ge 176 ]; then
+ printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}"
+ else
+ printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}"
+ fi
+ else
+ echo "$line"
+ fi
+ done < "${f}" > "${f}.new"
+ mv "${f}.new" "$f"
+done
--
1.8.0.2

View File

@ -0,0 +1,25 @@
From d49d600c12ed2a2ed057b082a46e3139ebe6afe5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 3 Jan 2013 09:29:05 +0100
Subject: [PATCH 2/4] dracut-functions.sh: fixed inst_rules search path
---
dracut-functions.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index f1c797c..5481368 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -900,7 +900,7 @@ inst_rules() {
inst_dir "${udevdir}/rules.d"
inst_dir "$_target"
for _rule in "$@"; do
- if [ "${rule#/}" = "$rule" ]; then
+ if [ "${_rule#/}" = "$_rule" ]; then
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
if [[ -f $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.0.2

View File

@ -0,0 +1,37 @@
From f0beefbb40b90ac53896dcc0d4b9ee33369373e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 3/4] 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 <alexander@tsoy.me>.
---
dracut-functions.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 5481368..5b6394e 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -901,6 +901,15 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -f $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
if [[ -f $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.0.2

View File

@ -0,0 +1,30 @@
From 3380611905062ef7796114a45502882b1ed0df65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 4/4] 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 1361a30..b78e5c6 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.0.2

View File

@ -0,0 +1,13 @@
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index b441a27..410201a 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -104,7 +104,7 @@ else
fi
[ -f /etc/initrd-release ] && . /etc/initrd-release
-[ -n "$VERSION" ] && info "dracut-$VERSION"
+[ -n "$VERSION_ID" ] && info "$NAME-$VERSION_ID"
source_conf /etc/conf.d

View File

@ -0,0 +1,37 @@
From fcb28882b1eaaa20ad9d831857ecf176dd0e3006 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/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 <alexander@tsoy.me>.
---
dracut-functions.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index e23db76..812ea2b 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -941,6 +941,15 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -f $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
if [[ -f $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.1.4

View File

@ -0,0 +1,30 @@
From 1f8ab99eca988b15e9573155dd6207cc82842aff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 2/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 1361a30..b78e5c6 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.1.4

View File

@ -0,0 +1,29 @@
From 6cf23a82629409c25d5d36ca71a02171075705ab Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 23 Jan 2013 16:23:07 +0100
Subject: [PATCH 3/5] rootfs-block/mount-root.sh: fixup for 8b6bf0ef5
not only fix the warning message, but the real mount arguments, too
---
modules.d/95rootfs-block/mount-root.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index 54d5012..c7626c3 100755
--- a/modules.d/95rootfs-block/mount-root.sh
+++ b/modules.d/95rootfs-block/mount-root.sh
@@ -26,9 +26,10 @@ mount_root() {
fi
_rflags_ro="$rflags,ro"
+ _rflags_ro="${_rflags_ro##,}"
while ! mount -t ${rootfs} -o "$_rflags_ro" "${root#block:}" "$NEWROOT"; do
- warn "Failed to mount -t ${rootfs} -o ${_rflags_ro##,} ${root#block:} $NEWROOT"
+ warn "Failed to mount -t ${rootfs} -o $_rflags_ro ${root#block:} $NEWROOT"
fsck_ask_err
done
--
1.8.1.4

View File

@ -0,0 +1,41 @@
From 826b11e8adea942a7fb63fa54374d5571aab0930 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 5 Feb 2013 16:45:42 +0100
Subject: [PATCH 4/5] dracut.sh: reverting return value change
reverting _get_fs_type() return values of patch
c8d685c9d3860e49f39a9c85ffebbb4c4fec341f
---
dracut.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index cfd10a1..23ffaa4 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -766,18 +766,18 @@ if [[ $hostonly ]]; then
fi
_get_fs_type() (
- [[ $1 ]] || return 1
+ [[ $1 ]] || return
if [[ -b $1 ]] && get_fs_env $1; then
echo "$(readlink -f $1)|$ID_FS_TYPE"
- return 0
+ return 1
fi
if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
echo "$(readlink -f /dev/block/$1)|$ID_FS_TYPE"
- return 0
+ return 1
fi
if fstype=$(find_dev_fstype $1); then
echo "$1|$fstype"
- return 0
+ return 1
fi
return 1
)
--
1.8.1.4

View File

@ -0,0 +1,44 @@
From 8ad40b5d5f3f036f38eb328cb35e8d0f8a1b3df2 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Sat, 26 Jan 2013 18:13:28 +0000
Subject: [PATCH 5/5] Mount /proc before including dracut-lib.sh.
When dracut-lib.sh is sourced it checks the command line (when not using systemd)
as part of the check_quiet() call.
Therefore mount /proc earlier in init.
Avoids the error:
init: 77: /lib/dracut-lib.sh: /proc/cmdline: No such file or directory
---
modules.d/99base/init.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index 0259053..37b5996 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -17,9 +17,6 @@ OLDPATH=$PATH
PATH=/usr/sbin:/usr/bin:/sbin:/bin
export PATH
-RD_DEBUG=""
-. /lib/dracut-lib.sh
-
# mount some important things
[ ! -d /proc/self ] && \
mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null
@@ -37,6 +34,9 @@ if [ "$?" != "0" ]; then
exit 1
fi
+RD_DEBUG=""
+. /lib/dracut-lib.sh
+
if [ -x /lib/systemd/systemd-timestamp ]; then
RD_TIMESTAMP=$(/lib/systemd/systemd-timestamp)
else
--
1.8.1.4

View File

@ -0,0 +1,13 @@
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index b441a27..410201a 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -104,7 +104,7 @@ else
fi
[ -f /etc/initrd-release ] && . /etc/initrd-release
-[ -n "$VERSION" ] && info "dracut-$VERSION"
+[ -n "$VERSION_ID" ] && info "$NAME-$VERSION_ID"
source_conf /etc/conf.d

View File

@ -0,0 +1,37 @@
From 76e3d3ac2d753f17c59dfe9758ea36897bedaddf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/3] 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 <alexander@tsoy.me>.
---
dracut-functions.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 2a84d17..a6a609c 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -955,6 +955,15 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -f $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
if [[ -f $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.1.4

View File

@ -0,0 +1,30 @@
From f4bfd74c673c5f4d01cf9855f2e4f58c59f5b658 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 2/3] 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 1361a30..b78e5c6 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.1.4

View File

@ -0,0 +1,55 @@
From a6b0fde8f776d28988a9ab4e5bf09f78fa858744 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 10 Mar 2013 13:31:02 +0100
Subject: [PATCH 3/3] Revert "crypt, dmraid, mdraid: use
for_each_host_dev_and_slaves_all()"
This reverts commit cf24ac8c19b803e6f5c0576f2d7e78187331cf02.
---
modules.d/90crypt/module-setup.sh | 2 +-
modules.d/90dmraid/module-setup.sh | 2 +-
modules.d/90mdraid/module-setup.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 2b4456b..93b996c 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -25,7 +25,7 @@ check() {
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_crypt || return 1
+ for_each_host_dev_fs check_crypt || return 1
}
return 0
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
index c315961..eb949dc 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -38,7 +38,7 @@ check() {
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_dmraid || return 1
+ for_each_host_dev_fs check_dmraid || return 1
}
return 0
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 0efffbb..a2b9ac2 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -27,7 +27,7 @@ check() {
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_mdraid || return 1
+ for_each_host_dev_fs check_mdraid || return 1
}
return 0
--
1.8.1.4

View File

@ -0,0 +1,42 @@
From f6e0e5653fac1f856192bfafdcb2fbd86ed8a22a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sun, 10 Mar 2013 14:44:32 +0100
Subject: [PATCH 3/5] lsinitrd.sh: fix for default initrd not found, but image
given
---
lsinitrd.sh | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 7a09423..4b8a7e2 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -54,16 +54,17 @@ if [[ "$1" ]]; then
usage
exit 1
fi
-fi
-
-[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
-
-if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
- image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
else
- image="/boot/initramfs-${KERNEL_VERSION}.img}"
+ [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
+
+ if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
+ image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
+ else
+ image="/boot/initramfs-${KERNEL_VERSION}.img}"
+ fi
fi
+
if ! [[ -f "$image" ]]; then
{
echo "No <initramfs file> specified and the default image '$image' cannot be accessed!"
--
1.8.1.4

View File

@ -0,0 +1,25 @@
From bf7a572d8f978e16d92385ebf36e2f837fc2f3d1 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 11 Mar 2013 15:46:37 +0100
Subject: [PATCH 4/5] lsinitrd.sh: removed trailing "}"
---
lsinitrd.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 4b8a7e2..5cd8c2a 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -60,7 +60,7 @@ else
if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
else
- image="/boot/initramfs-${KERNEL_VERSION}.img}"
+ image="/boot/initramfs-${KERNEL_VERSION}.img"
fi
fi
--
1.8.1.4

View File

@ -0,0 +1,409 @@
From 86152848ed452bf1a01d0bea25c47ea54884a4fd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 11 Mar 2013 16:32:16 +0100
Subject: [PATCH 5/5] make host_fs_types a hashmap
This requires bash >= 4, but hash maps are so much more comfortable
---
dracut-functions.sh | 14 +++---------
dracut.sh | 23 +++++++++----------
modules.d/90btrfs/module-setup.sh | 6 ++---
modules.d/90crypt/module-setup.sh | 39 +++++++++++++++++++--------------
modules.d/90dmraid/module-setup.sh | 34 ++++++++++++++++------------
modules.d/90lvm/module-setup.sh | 36 +++++++++++++++++-------------
modules.d/90mdraid/module-setup.sh | 45 +++++++++++++++++++++-----------------
modules.d/95cifs/module-setup.sh | 2 +-
modules.d/95nfs/module-setup.sh | 6 ++---
modules.d/95virtfs/module-setup.sh | 4 ++--
10 files changed, 112 insertions(+), 97 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index a6a609c..52a1781 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -450,23 +450,15 @@ find_mp_fstype() {
find_root_block_device() { find_block_device /; }
# for_each_host_dev_fs <func>
-# Execute "<func> <dev> <filesystem>" for every "<dev>|<fs>" pair found
+# Execute "<func> <dev> <filesystem>" for every "<dev> <fs>" pair found
# in ${host_fs_types[@]}
for_each_host_dev_fs()
{
local _func="$1"
local _dev
- local _fs
local _ret=1
- for f in ${host_fs_types[@]}; do
- OLDIFS="$IFS"
- IFS="|"
- set -- $f
- IFS="$OLDIFS"
- _dev="$1"
- [[ -b "$_dev" ]] || continue
- _fs="$2"
- $_func $_dev $_fs && _ret=0
+ for _dev in "${!host_fs_types[@]}"; do
+ $_func "$_dev" "${host_fs_types[$_dev]}" && _ret=0
done
return $_ret
}
diff --git a/dracut.sh b/dracut.sh
index 28ed4f1..15e66f3 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -744,11 +744,13 @@ trap 'exit 1;' SIGINT
# Need to be able to have non-root users read stuff (rpcbind etc)
chmod 755 "$initdir"
+declare -A host_fs_types
+
for line in "${fstab_lines[@]}"; do
set -- $line
#dev mp fs fsopts
push host_devs "$1"
- push host_fs_types "$1|$3"
+ host_fs_types["$1"]="$3"
done
for f in $add_fstab; do
@@ -791,28 +793,27 @@ fi
_get_fs_type() (
[[ $1 ]] || return
if [[ -b $1 ]] && get_fs_env $1; then
- echo "$(readlink -f $1)|$ID_FS_TYPE"
+ echo "$(readlink -f $1) $ID_FS_TYPE"
return 1
fi
if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
- echo "$(readlink -f /dev/block/$1)|$ID_FS_TYPE"
+ echo "$(readlink -f /dev/block/$1) $ID_FS_TYPE"
return 1
fi
if fstype=$(find_dev_fstype $1); then
- echo "$1|$fstype"
+ echo "$1 $fstype"
return 1
fi
return 1
)
for dev in "${host_devs[@]}"; do
- unset fs_type
- for fstype in $(_get_fs_type $dev) \
- $(check_block_and_slaves _get_fs_type $(get_maj_min $dev)); do
- if ! strstr " ${host_fs_types[*]} " " $fstype ";then
- push host_fs_types "$fstype"
- fi
- done
+ while read key val; do
+ host_fs_types["$key"]="$val"
+ done < <(
+ _get_fs_type $dev
+ check_block_and_slaves_all _get_fs_type $(get_maj_min $dev)
+ )
done
[[ -d $udevdir ]] \
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 0f79f5e..4a7c01d 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -9,12 +9,10 @@ check() {
type -P btrfs >/dev/null || return 1
[[ $hostonly ]] || [[ $mount_needs ]] && {
- local _found
for fs in ${host_fs_types[@]}; do
- strstr "$fs" "\|btrfs" && _found="1"
+ [[ "$fs" == "btrfs" ]] && return 0
done
- [[ $_found ]] || return 1
- unset _found
+ return 255
}
return 0
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 2b4456b..b76f6ae 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -7,8 +7,30 @@ check() {
# if cryptsetup is not installed, then we cannot support encrypted devices.
type -P cryptsetup >/dev/null || return 1
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for fs in "${host_fs_types[@]}"; do
+ [[ $fs = "crypto_LUKS" ]] && return 0
+ done
+ return 255
+ }
+
+ return 0
+}
+
+depends() {
+ echo dm rootfs-block
+ return 0
+}
+
+installkernel() {
+ instmods dm_crypt =crypto
+}
+
+install() {
+
check_crypt() {
local dev=$1 fs=$2
+
[[ $fs = "crypto_LUKS" ]] || return 1
ID_FS_UUID=$(udevadm info --query=property --name=$dev \
| while read line; do
@@ -24,23 +46,8 @@ check() {
return 0
}
- [[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_crypt || return 1
- }
-
- return 0
-}
-
-depends() {
- echo dm rootfs-block
- return 0
-}
-
-installkernel() {
- instmods dm_crypt =crypto
-}
+ for_each_host_dev_fs check_crypt
-install() {
dracut_install cryptsetup rmdir readlink umount
inst_script "$moddir"/cryptroot-ask.sh /sbin/cryptroot-ask
inst_script "$moddir"/probe-keydev.sh /sbin/probe-keydev
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
index c315961..76daa4a 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -8,9 +8,27 @@ check() {
# in trying to support it in the initramfs.
type -P dmraid >/dev/null || return 1
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for fs in "${host_fs_types[@]}"; do
+ [[ $fs = *_raid_member ]] && return 0
+ done
+ return 255
+ }
+
+ return 0
+}
+
+depends() {
+ echo dm rootfs-block
+ return 0
+}
+
+install() {
+ local _i
+
check_dmraid() {
local dev=$1 fs=$2 holder DEVPATH DM_NAME
- [[ "$fs" = "${fs%%_raid_member}" ]] && return 1
+ [[ "$fs" != *_raid_member ]] && return 1
DEVPATH=$(udevadm info --query=property --name=$dev \
| while read line; do
@@ -37,20 +55,8 @@ check() {
return 0
}
- [[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_dmraid || return 1
- }
+ for_each_host_dev_fs check_dmraid
- return 0
-}
-
-depends() {
- echo dm rootfs-block
- return 0
-}
-
-install() {
- local _i
dracut_install dmraid
dracut_install -o kpartx
inst $(command -v partx) /sbin/partx
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index e0e4043..22186f4 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -7,22 +7,11 @@ check() {
# No point trying to support lvm if the binaries are missing
type -P lvm >/dev/null || return 1
- check_lvm() {
- local DM_VG_NAME DM_LV_NAME DM_UDEV_DISABLE_DISK_RULES_FLAG
- eval $(udevadm info --query=property --name=/dev/block/$1|egrep '(DM_VG_NAME|DM_LV_NAME|DM_UDEV_DISABLE_DISK_RULES_FLAG)=')
- [[ "$DM_UDEV_DISABLE_DISK_RULES_FLAG" = "1" ]] && return 1
- [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
- if ! strstr " ${_activated[*]} " " ${DM_VG_NAME}/${DM_LV_NAME} "; then
- if ! [[ $kernel_only ]]; then
- echo " rd.lvm.lv=${DM_VG_NAME}/${DM_LV_NAME} " >> "${initdir}/etc/cmdline.d/90lvm.conf"
- fi
- push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
- fi
- return 0
- }
-
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_lvm || return 1
+ for fs in "${host_fs_types[@]}"; do
+ [[ $fs = LVM*_member ]] && return 0
+ done
+ return 255
}
return 0
@@ -38,6 +27,23 @@ install() {
local _i
inst lvm
+ check_lvm() {
+ local DM_VG_NAME DM_LV_NAME DM_UDEV_DISABLE_DISK_RULES_FLAG
+
+ eval $(udevadm info --query=property --name=$1 | egrep '(DM_VG_NAME|DM_LV_NAME|DM_UDEV_DISABLE_DISK_RULES_FLAG)=')
+ [[ "$DM_UDEV_DISABLE_DISK_RULES_FLAG" = "1" ]] && return 1
+ [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
+ if ! strstr " ${_activated[*]} " " ${DM_VG_NAME}/${DM_LV_NAME} "; then
+ if ! [[ $kernel_only ]]; then
+ echo " rd.lvm.lv=${DM_VG_NAME}/${DM_LV_NAME} " >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ fi
+ push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
+ fi
+ return 0
+ }
+
+ for_each_host_dev_fs check_lvm
+
inst_rules "$moddir/64-lvm.rules"
if [[ $hostonly ]] || [[ $lvmconf = "yes" ]]; then
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 0efffbb..70c27dd 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -7,27 +7,11 @@ check() {
# No mdadm? No mdraid support.
type -P mdadm >/dev/null || return 1
- check_mdraid() {
- local dev=$1 fs=$2 holder DEVPATH MD_UUID
- [[ "$fs" = "${fs%%_raid_member}" ]] && return 1
-
- MD_UUID=$(/sbin/mdadm --examine --export $dev \
- | while read line; do
- [[ ${line#MD_UUID} = $line ]] && continue
- eval "$line"
- echo $MD_UUID
- break
- done)
-
- [[ ${MD_UUID} ]] || return 1
- if ! [[ $kernel_only ]]; then
- echo " rd.md.uuid=${MD_UUID} " >> "${initdir}/etc/cmdline.d/90mdraid.conf"
- fi
- return 0
- }
-
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves_all check_mdraid || return 1
+ for fs in "${host_fs_types[@]}"; do
+ [[ "$fs" == *_raid_member ]] && return 0
+ done
+ return 255
}
return 0
@@ -48,6 +32,27 @@ install() {
inst $(command -v partx) /sbin/partx
inst $(command -v mdadm) /sbin/mdadm
+ check_mdraid() {
+ local dev=$1 fs=$2 holder DEVPATH MD_UUID
+ [[ "$fs" != *_raid_member ]] && return 1
+
+ MD_UUID=$(/sbin/mdadm --examine --export $dev \
+ | while read line; do
+ [[ ${line#MD_UUID} = $line ]] && continue
+ eval "$line"
+ echo $MD_UUID
+ break
+ done)
+
+ [[ ${MD_UUID} ]] || return 1
+ if ! [[ $kernel_only ]]; then
+ echo " rd.md.uuid=${MD_UUID} " >> "${initdir}/etc/cmdline.d/90mdraid.conf"
+ fi
+ return 0
+ }
+
+ for_each_host_dev_fs check_mdraid
+
inst_rules 64-md-raid.rules
# remove incremental assembly from stock rules, so they don't shadow
# 65-md-inc*.rules and its fine-grained controls, or cause other problems
diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh
index 1c7d0be..bf0eddf 100755
--- a/modules.d/95cifs/module-setup.sh
+++ b/modules.d/95cifs/module-setup.sh
@@ -8,7 +8,7 @@ check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in ${host_fs_types[@]}; do
- strstr "$fs" "\|cifs" && return 0
+ [[ "$fs" == "cifs" ]] && return 0
done
return 255
}
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index 38ee5d7..7c3a64d 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -9,9 +9,9 @@ check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in ${host_fs_types[@]}; do
- strstr "$fs" "\|nfs" && return 0
- strstr "$fs" "\|nfs3" && return 0
- strstr "$fs" "\|nfs4" && return 0
+ [[ "$fs" == "nfs" ]] && return 0
+ [[ "$fs" == "nfs3" ]] && return 0
+ [[ "$fs" == "nfs4" ]] && return 0
done
return 255
}
diff --git a/modules.d/95virtfs/module-setup.sh b/modules.d/95virtfs/module-setup.sh
index 0b961a8..12bd354 100755
--- a/modules.d/95virtfs/module-setup.sh
+++ b/modules.d/95virtfs/module-setup.sh
@@ -5,9 +5,9 @@
check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in ${host_fs_types[@]}; do
- strstr "$fs" "\|9p" && return 0
+ [[ "$fs" == "9p" ]] && return 0
done
- return 1
+ return 255
}
if type -P systemd-detect-virt >/dev/null 2>&1; then
--
1.8.1.4

View File

@ -0,0 +1,13 @@
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index b441a27..410201a 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -104,7 +104,7 @@ else
fi
[ -f /etc/initrd-release ] && . /etc/initrd-release
-[ -n "$VERSION" ] && info "dracut-$VERSION"
+[ -n "$VERSION_ID" ] && info "$NAME-$VERSION_ID"
source_conf /etc/conf.d

View File

@ -0,0 +1,37 @@
From 3688462730a97d4cc5644dab87aadf147d8c72f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/2] 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 <alexander@tsoy.me>.
---
dracut-functions.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index eba7412..d888f4c 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -961,6 +961,15 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -f $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
if [[ -f $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.1.5

View File

@ -0,0 +1,30 @@
From 624a97d4e2b548889b5f758ed6a908a1495b44be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 2/2] 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 1361a30..b78e5c6 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.1.5

View File

@ -0,0 +1,167 @@
From d084ce382e70723854f960daa8b0e486ee1ce97f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 11 Apr 2013 16:08:26 +0200
Subject: [PATCH 3/4] Do not call plymouth with full path
---
modules.d/50plymouth/module-setup.sh | 2 +-
modules.d/50plymouth/plymouth-emergency.sh | 2 +-
modules.d/50plymouth/plymouth-newroot.sh | 4 ++--
modules.d/50plymouth/plymouth-populate-initrd.sh | 5 ++---
modules.d/50plymouth/plymouth-pretrigger.sh | 6 +++---
modules.d/90crypt/crypt-lib.sh | 4 ++--
modules.d/90dmsquash-live/dmsquash-live-root.sh | 4 ++--
modules.d/98systemd/dracut-emergency.sh | 2 +-
modules.d/99base/dracut-lib.sh | 4 ++--
9 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
index f754e24..ae35b11 100755
--- a/modules.d/50plymouth/module-setup.sh
+++ b/modules.d/50plymouth/module-setup.sh
@@ -4,7 +4,7 @@
check() {
[[ "$mount_needs" ]] && return 1
- [[ -x /sbin/plymouthd && -x /bin/plymouth && -x /usr/sbin/plymouth-set-default-theme ]]
+ type -P plymouthd >/dev/null && type -P plymouth >/dev/null
}
depends() {
diff --git a/modules.d/50plymouth/plymouth-emergency.sh b/modules.d/50plymouth/plymouth-emergency.sh
index 68955b8..ed0b0ac 100755
--- a/modules.d/50plymouth/plymouth-emergency.sh
+++ b/modules.d/50plymouth/plymouth-emergency.sh
@@ -1,4 +1,4 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /bin/plymouth ] && /bin/plymouth --hide-splash
+plymouth --hide-splash 2>/dev/null || :
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index 2311b47..96cd138 100755
--- a/modules.d/50plymouth/plymouth-newroot.sh
+++ b/modules.d/50plymouth/plymouth-newroot.sh
@@ -2,6 +2,6 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if [ -x /bin/plymouth -a -z "$DRACUT_SYSTEMD" ]; then
- /bin/plymouth --newroot=$NEWROOT
+if type plymouth >/dev/null 2>&1 && [ -z "$DRACUT_SYSTEMD" ]; then
+ plymouth --newroot=$NEWROOT
fi
diff --git a/modules.d/50plymouth/plymouth-populate-initrd.sh b/modules.d/50plymouth/plymouth-populate-initrd.sh
index 1e2ffe7..6e0f561 100755
--- a/modules.d/50plymouth/plymouth-populate-initrd.sh
+++ b/modules.d/50plymouth/plymouth-populate-initrd.sh
@@ -4,15 +4,14 @@
PLYMOUTH_LOGO_FILE="/usr/share/pixmaps/system-logo-white.png"
PLYMOUTH_THEME=$(plymouth-set-default-theme)
-inst /sbin/plymouthd /bin/plymouthd
-dracut_install /bin/plymouth \
+dracut_install plymouthd plymouth \
"${PLYMOUTH_LOGO_FILE}" \
/etc/system-release
mkdir -m 0755 -p "${initdir}/usr/share/plymouth"
inst_libdir_file "plymouth/text.so" "plymouth/details.so"
-
+
if [[ $hostonly ]]; then
dracut_install \
"/usr/share/plymouth/themes/details/details.plymouth" \
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index 0e3cb02..8087bf6 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -2,7 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if [ -x /bin/plymouthd -a -z "$DRACUT_SYSTEMD" ]; then
+if type plymouthd >/dev/null 2>&1 && [-z "$DRACUT_SYSTEMD" ]; then
if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -d -n rd_NO_PLYMOUTH; then
# first trigger graphics subsystem
udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
@@ -16,8 +16,8 @@ if [ -x /bin/plymouthd -a -z "$DRACUT_SYSTEMD" ]; then
read consoledev rest < /sys/class/tty/console/active
consoledev=${consoledev:-tty0}
[ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
- [ -x /bin/plymouthd ] && /bin/plymouthd --attach-to-session --pid-file /run/plymouth/pid
- /bin/plymouth --show-splash 2>&1 | vinfo
+ plymouthd --attach-to-session --pid-file /run/plymouth/pid
+ plymouth --show-splash 2>&1 | vinfo
# reset tty after plymouth messed with it
[ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
fi
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
index d66ba88..ebe09f8 100755
--- a/modules.d/90crypt/crypt-lib.sh
+++ b/modules.d/90crypt/crypt-lib.sh
@@ -47,8 +47,8 @@ ask_for_password() {
{ flock -s 9;
# Prompt for password with plymouth, if installed and running.
- if [ -x /bin/plymouth ] && /bin/plymouth --ping; then
- /bin/plymouth ask-for-password \
+ if type plymouth >/dev/null 2>&1 && plymouth --ping 2>/dev/null; then
+ plymouth ask-for-password \
--prompt "$ply_prompt" --number-of-tries=$ply_tries \
--command="$ply_cmd"
ret=$?
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index a79b0d9..07e41f0 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -31,7 +31,7 @@ if [ "$fs" = "iso9660" -o "$fs" = "udf" ]; then
fi
getarg rd.live.check -d check || check=""
if [ -n "$check" ]; then
- [ -x /bin/plymouth ] && /bin/plymouth --hide-splash
+ type plymouth >/dev/null 2>&1 && plymouth --hide-splash
if [ -n "$DRACUT_SYSTEMD" ]; then
p=$(str_replace "$livedev" "-" '\x2d')
systemctl start checkisomd5@${p}.service
@@ -42,7 +42,7 @@ if [ -n "$check" ]; then
die "CD check failed!"
exit 1
fi
- [ -x /bin/plymouth ] && /bin/plymouth --show-splash
+ type plymouth >/dev/null 2>&1 && plymouth --show-splash
fi
ln -s $livedev /run/initramfs/livedev
diff --git a/modules.d/98systemd/dracut-emergency.sh b/modules.d/98systemd/dracut-emergency.sh
index a0a4b12..8ab045e 100755
--- a/modules.d/98systemd/dracut-emergency.sh
+++ b/modules.d/98systemd/dracut-emergency.sh
@@ -10,7 +10,7 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
source_conf /etc/conf.d
-[ -x /bin/plymouth ] && /bin/plymouth quit
+type plymouth >/dev/null 2>&1 && plymouth quit
export _rdshell_name="dracut" action="Boot" hook="emergency"
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index e456b01..b8919f3 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -952,8 +952,8 @@ emergency_shell()
shift 2
elif [ "$1" = "--shutdown" ]; then
_rdshell_name=$2; action="Shutdown"; hook="shutdown-emergency"
- if [ -x /bin/plymouth ]; then
- /bin/plymouth --hide-splash
+ if type plymouth >/dev/null 2>&1; then
+ plymouth --hide-splash
elif [ -x /oldroot/bin/plymouth ]; then
/oldroot/bin/plymouth --hide-splash
fi
--
1.8.2.1

View File

@ -0,0 +1,25 @@
From 331ebcb5f3530597f49a344c7392c7f330838fdd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 12 Apr 2013 15:25:44 +0200
Subject: [PATCH 4/4] plymouth/plymouth-pretrigger.sh: fixup of ca2c6936
---
modules.d/50plymouth/plymouth-pretrigger.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index 8087bf6..196f2f9 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -2,7 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if type plymouthd >/dev/null 2>&1 && [-z "$DRACUT_SYSTEMD" ]; then
+if type plymouthd >/dev/null 2>&1 && [ -z "$DRACUT_SYSTEMD" ]; then
if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -d -n rd_NO_PLYMOUTH; then
# first trigger graphics subsystem
udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
--
1.8.2.1

View File

@ -0,0 +1,24 @@
From 7f3e0c13f1c10e93c3823b6367f9ac83865f3d90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Fri, 25 Feb 2011 01:44:25 +0100
Subject: [PATCH] 90multipath: added kpartx.rules; multipath.rules - different prefix
---
modules.d/90multipath/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index f78517c..3f4f612 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -58,6 +58,6 @@ install() {
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook pre-pivot 02 "$moddir/multipathd-stop.sh"
- inst_rules 40-multipath.rules
+ inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
}
--
1.7.4.1

View File

@ -0,0 +1,45 @@
From 5926a2cb526f11d4a4a3cd3980e5894f8e96e615 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Thu, 12 Jan 2012 10:23:38 +0100
Subject: [PATCH] 98usrmount: don't pass fstab fs options as fsck options
For example for line in /etc/fstab:
/dev/vg/usr /usr ext4 nosuid,nodev 0 2
fsck_single is called as follows:
fsck_single /dev/vg/usr ext4 nosuid,nodev
and this eventually resolves to:
e2fsck -a nosuid,nodev /dev/vg/usr
which causes e2fsck usage error.
---
modules.d/98usrmount/mount-usr.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
index a61f935..fc205d5 100755
--- a/modules.d/98usrmount/mount-usr.sh
+++ b/modules.d/98usrmount/mount-usr.sh
@@ -19,7 +19,7 @@ mount_usr()
if [ "x$_usr_found" != "x" ]; then
# we have to mount /usr
- fsck_single "$_dev" "$_fs" "$_opts"
+ fsck_single "$_dev" "$_fs"
_ret=$?
echo $_ret >/run/initramfs/usr-fsck
if [ $_ret -ne 255 ]; then
@@ -29,4 +29,4 @@ mount_usr()
fi
}
-mount_usr
\ No newline at end of file
+mount_usr
--
1.7.8.3

View File

@ -0,0 +1,25 @@
From d8cb6a4ef1b51656566529f2315aa0828d693846 Mon Sep 17 00:00:00 2001
From: Nikoli <nikoli@lavabit.com>
Date: Tue, 17 Apr 2012 11:31:27 +0200
Subject: [PATCH] lsinitrd: support symlinks
---
lsinitrd.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 1eaa37d..e6767dc 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -34,7 +34,7 @@ image="${1:-/boot/initramfs-$(uname -r).img}"
[[ -f "$image" ]] || { echo "$image does not exist" ; exit 1 ; }
CAT=zcat
-FILE_T=$(file "$image")
+FILE_T=$(file --dereference "$image")
if echo "test"|xz|xz -dc --single-stream >/dev/null 2>&1; then
XZ_SINGLE_STREAM="--single-stream"
--
1.7.8.6

View File

@ -0,0 +1,24 @@
From 7f3e0c13f1c10e93c3823b6367f9ac83865f3d90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Fri, 25 Feb 2011 01:44:25 +0100
Subject: [PATCH] 90multipath: added kpartx.rules; multipath.rules - different prefix
---
modules.d/90multipath/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index f78517c..3f4f612 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -58,6 +58,6 @@ install() {
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook pre-pivot 02 "$moddir/multipathd-stop.sh"
- inst_rules 40-multipath.rules
+ inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
}
--
1.7.4.1

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>aidecoe@gentoo.org</email>
<name>Amadeusz Żołnowski</name>
</maintainer>
<use>
<flag name="debug">Module installing additional tools like strace, file
editor, ssh and more</flag>
<flag name="device-mapper">Set of helper modules providing support for
device mapper. You need to enable this only if emerge says
so.</flag>
<flag name="net">Set of helper modules providing networking support. You
need to enable this only if emerge says so.</flag>
<flag name="optimization">Build optimized version of dracut_install
function. It will be used instead of the one written in
bash.</flag>
</use>
<longdescription lang="en">
Generic, modular initramfs generation tool that can be used across various
distributions.
</longdescription>
</pkgmetadata>