Merge pull request #12 from philips/add-dracut

feat(dracut): add the packages necessary for dracut
This commit is contained in:
Michael Marineau 2013-06-11 18:03:05 -07:00
commit 393d00a697
64 changed files with 4464 additions and 0 deletions

View File

@ -101,3 +101,8 @@
# CRIU dependencies # CRIU dependencies
=dev-libs/protobuf-c-0.15 ~amd64 =dev-libs/protobuf-c-0.15 ~amd64
=sys-process/criu-0.5 ~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 >=virtual/jpeg-0 static-libs
>=media-libs/libjpeg-turbo-1.2.0-r1 static-libs >=media-libs/libjpeg-turbo-1.2.0-r1 static-libs
sys-apps/gptfdisk -icu 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>