version 024

This commit is contained in:
Harald Hoyer 2012-08-01 15:35:09 +02:00
parent ae59c42afb
commit bd8a891e6e
101 changed files with 7 additions and 6278 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
/dracut-020.tar.bz2
/dracut-021.tar.bz2
/dracut-022.tar.bz2
/dracut-023.tar.bz2

View File

@ -1,45 +0,0 @@
From 24450a5ab74db0f4ecaeee5dedaa8aff6e04ca5c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 20 Jul 2012 14:44:12 +0200
Subject: [PATCH] resume: move resume in the initqueue/finished hook
this ensures, that resume is called as soon as possible
---
modules.d/95resume/resume-genrules.sh | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/modules.d/95resume/resume-genrules.sh b/modules.d/95resume/resume-genrules.sh
index 34511d7..f16df8c 100755
--- a/modules.d/95resume/resume-genrules.sh
+++ b/modules.d/95resume/resume-genrules.sh
@@ -21,14 +21,14 @@ if [ -n "$resume" ]; then
{
if [ -x /usr/sbin/resume ]; then
- printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '%s'\"\n" \
+ printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \'%s\'\"\n" \
${resume#/dev/} "$a_splash" "$resume";
- printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '%s'\"\n" \
+ printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \'%s\'\"\n" \
${resume#/dev/} "$a_splash" "$resume";
fi
- printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+ printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %%M:%%m > /sys/power/resume\"\n" \
${resume#/dev/};
- printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+ printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %%M:%%m > /sys/power/resume\"\n" \
${resume#/dev/};
} >> /etc/udev/rules.d/99-resume.rules
@@ -43,9 +43,9 @@ if [ -n "$resume" ]; then
elif ! getarg noresume; then
{
if [ -x /usr/sbin/resume ]; then
- printf "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '\$tempnode'\"\n" "$a_splash"
+ printf "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \$tempnode\"\n" "$a_splash"
fi
echo "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," \
- " RUN+=\"/sbin/initqueue /bin/sh -c 'echo %M:%m > /sys/power/resume'\"";
+ " RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %M:%m > /sys/power/resume\"";
} >> /etc/udev/rules.d/99-resume.rules
fi

View File

@ -1,83 +0,0 @@
From 4c3be42cdf4c49785298ddb6b34beed1c8cc9d40 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sat, 21 Jul 2012 12:52:01 +0200
Subject: [PATCH] dracut.8: add more description about calling dracut
---
dracut.8.asc | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 55 insertions(+), 1 deletion(-)
diff --git a/dracut.8.asc b/dracut.8.asc
index 0cd1663..24af936 100644
--- a/dracut.8.asc
+++ b/dracut.8.asc
@@ -14,6 +14,12 @@ SYNOPSIS
DESCRIPTION
-----------
+
+Create an initramfs <image> for the kernel with the version <kernel version>.
+If <kernel version> is omitted, then the version of the actual running
+kernel is used. If <image> is omitted or empty, then the default location
+/boot/initramfs-<kernel version>.img is used.
+
dracut creates an initial image used by the kernel for preloading the block
device modules (such as IDE, SCSI or RAID) which are needed to access the root
filesystem, mounting the root filesystem and booting into the real system.
@@ -22,7 +28,55 @@ At boot time, the kernel unpacks that archive into RAM disk, mounts and uses it
as initial root file system. All finding of the root device happens in this
early userspace.
-For a complete list of kernel command line options see *dracut.cmdline*(7)
+For a complete list of kernel command line options see *dracut.cmdline*(7).
+
+EXAMPLE
+-------
+
+To create a initramfs image, the most simple command is:
+----
+# dracut
+----
+
+This will generate a general purpose initramfs image, with all possible
+functionality resulting of the combination of the installed dracut modules and
+system tools. The image is /boot/initramfs-_++<kernel version>++_.img and
+contains the kernel modules of the currently active kernel with version
+_++<kernel version>++_.
+
+If the initramfs image already exists, dracut will display an error message, and
+to overwrite the existing image, you have to use the --force option.
+----
+# dracut --force
+----
+
+If you want to specify another filename for the resulting image you would issue
+a command like:
+----
+# dracut foobar.img
+----
+
+To generate an image for a specific kernel version, the command would be:
+----
+# dracut foobar.img 2.6.40-1.rc5.f20
+----
+
+A shortcut to generate the image at the default location for a specific kernel
+version is:
+----
+# dracut --kver 2.6.40-1.rc5.f20
+----
+
+If you want to create lighter, smaller initramfs images, you may want to specify
+the --host-only or -H option. Using this option, the resulting image will
+contain only those dracut modules, kernel modules and filesystems, which are
+needed to boot this specific machine. This has the drawback, that you can't put
+the disk on another controller or machine, and that you can't switch to another
+root filesystem, without recreating the initramfs image. The usage of the
+--host-only option is only for experts and you will have to keep the broken
+pieces. At least keep a copy of a general purpose image (and corresponding
+kernel) as a fallback to rescue your system.
+
OPTIONS
-------

View File

@ -1,100 +0,0 @@
From e5ec81a3543332ff31441647c99e202c25a59664 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sat, 21 Jul 2012 12:55:23 +0200
Subject: [PATCH] AUTHORS: update
---
AUTHORS | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index f7a1007..c4ed2e8 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,16 +1,16 @@
Harald Hoyer <harald@redhat.com>
Victor Lowther <victor.lowther@gmail.com>
+Amadeusz Żołnowski <aidecoe@aidecoe.name>
Philippe Seewer <philippe.seewer@bfh.ch>
Warren Togami <wtogami@redhat.com>
-Amadeusz Żołnowski <aidecoe@aidecoe.name>
+Will Woods <wwoods@redhat.com>
Jeremy Katz <katzj@redhat.com>
David Dillow <dave@thedillows.org>
-Will Woods <wwoods@redhat.com>
Michal Soltys <soltys@ziu.info>
-Dave Young <dyoung@redhat.com>
Amerigo Wang <amwang@redhat.com>
-Andrey Borzenkov <arvidjaar@gmail.com>
+Dave Young <dyoung@redhat.com>
Colin Guthrie <colin@mageia.org>
+Andrey Borzenkov <arvidjaar@gmail.com>
Andreas Thienemann <andreas@bawue.net>
Hans de Goede <hdegoede@redhat.com>
Peter Jones <pjones@redhat.com>
@@ -18,30 +18,34 @@ John Reiser <jreiser@bitwagon.com>
Luca Berra <bluca@vodka.it>
Daniel Drake <dsd@laptop.org>
Marc Grimme <grimme@atix.de>
+Brian C. Lane <bcl@redhat.com>
Dan Horák <dhorak@redhat.com>
+Jesse Keating <jkeating@redhat.com>
Roberto Sassu <roberto.sassu@polito.it>
Anton Blanchard <anton@samba.org>
Bill Nottingham <notting@redhat.com>
-Brian C. Lane <bcl@redhat.com>
David Cantrell <dcantrell@redhat.com>
+Jon Ander Hernandez <jonan.h@gmail.com>
+Juan RP <xtraeme@gmail.com>
Lance Albertson <lance@osuosl.org>
Marian Ganisin <mganisin@redhat.com>
Michael Ploujnikov <plouj@somanetworks.com>
+Peter Rajnoha <prajnoha@redhat.com>
Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Alan Pevec <apevec@redhat.com>
Ian Dall <ian@beware.dropbear.id.au>
James Buren <ryuo@frugalware.org>
Joey Boggs <jboggs@redhat.com>
-Jon Ander Hernandez <jonan.h@gmail.com>
Mike Snitzer <snitzer@redhat.com>
-Peter Rajnoha <prajnoha@redhat.com>
Przemysław Rudy <prudy1@o2.pl>
+Thomas Lange <lange@informatik.uni-koeln.de>
Vladislav Bogdanov <bubble@hoster-ok.com>
Alexander Todorov <atodorov@redhat.com>
Andy Lutomirski <luto@mit.edu>
Anssi Hannula <anssi@mageia.org>
Christian Heinz <christian.ch.heinz@gmail.com>
Dave Jones <davej@redhat.com>
+Dennis Gilmore <dennis@ausil.us>
Duane Griffin <duaneg@dghda.com>
Frederic Crozat <fcrozat@mandriva.com>
Glen Gray <slaine@slaine.org>
@@ -50,20 +54,26 @@ James Laska <jlaska@redhat.com>
Jan Stodola <jstodola@redhat.com>
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Leho Kraav <leho@kraav.com>
+Lennert Buytenhek <buytenh@wantstofly.org>
Lubomir Rintel <lkundrak@v3.sk>
Matt <smoothsailing72@hotmail.com>
Matt Smith <shadowfax@gmx.com>
Michal Schmidt <mschmidt@redhat.com>
+Milan Broz <mbroz@redhat.com>
Munehiro Matsuda <haro@kgt.co.jp>
+Nikoli <nikoli@lavabit.com>
+Olivier Blin <dev@blino.org>
Paolo Bonzini <pbonzini@redhat.com>
Peter Robinson <pbrobinson@fedoraproject.org>
Pádraig Brady <P@draigBrady.com>
Quentin Armitage <quentin@armitage.org.uk>
Sergey Fionov <fionov@gmail.com>
+Srinivasa T N <seenutn@linux.vnet.ibm.com>
Thilo Bangert <thilo.bangert@gmx.net>
-Thomas Lange <lange@informatik.uni-koeln.de>
Tomasz Torcz <tomek@pipebreaker.pl>
Vadim Kuznetsov <vadimk@gentoo.org>
Ville Skyttä <ville.skytta@iki.fi>
+Vivek Goyal <vgoyal@redhat.com>
+Wim Muskee <wimmuskee@gmail.com>
Yanko Kaneti <yaneti@declera.com>
maximilian attems <max@stro.at>

View File

@ -1,54 +0,0 @@
From 472189da152be23b8a7d0dabc0a3e80ea61e866b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sat, 21 Jul 2012 13:03:56 +0200
Subject: [PATCH] dracut.sh: add -N option for --no-hostonly
---
dracut.8.asc | 2 +-
dracut.sh | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dracut.8.asc b/dracut.8.asc
index 24af936..0902b3b 100644
--- a/dracut.8.asc
+++ b/dracut.8.asc
@@ -308,7 +308,7 @@ If chrooted to another root other than the real root device, use "--fstab" and
provide a valid _/etc/fstab_.
====
-**--no-hostonly**::
+**-N, --no-hostonly**::
Disable Host-Only mode
**--fstab**::
diff --git a/dracut.sh b/dracut.sh
index ffdcbcc..d8b3354 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -126,7 +126,7 @@ Creates initial ramdisk images for preloading modules
Useful when running dracut from a git checkout.
-H, --hostonly Host-Only mode: Install only what is needed for
booting the local host instead of a generic host.
- --no-hostonly Disables Host-Only mode
+ -N, --no-hostonly Disables Host-Only mode
--fstab Use /etc/fstab to determine the root device.
--add-fstab [FILE] Add file to the initramfs fstab
--mount "[DEV] [MP] [FSTYPE] [FSOPTS]"
@@ -244,7 +244,7 @@ set -- "${@/--include/++include}"
set -- "${@/%-i/++include}"
TEMP=$(unset POSIXLY_CORRECT; getopt \
- -o "a:m:o:d:I:k:c:L:fvqlHhM" \
+ -o "a:m:o:d:I:k:c:L:fvqlHhMN" \
--long kver: \
--long add: \
--long force-add: \
@@ -356,7 +356,7 @@ while :; do
&& dracutbasedir="$(readlink -f ${0%/*})"
;;
-H|--hostonly) hostonly_l="yes" ;;
- --no-hostonly) hostonly_l="no" ;;
+ -N|--no-hostonly) hostonly_l="no" ;;
--fstab) use_fstab_l="yes" ;;
-h|--help) long_usage; exit 1 ;;
-i|--include) push include_src "$2"

View File

@ -1,423 +0,0 @@
From 13f77e9fd53682202bbd32faf8f9e55e0b99fec2 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Jul 2012 11:10:13 +0200
Subject: [PATCH] add documentation for systemd services in the initramfs
---
Makefile | 52 +++++++++++++---------
dracut.spec | 1 +
modules.d/98systemd/dracut-cmdline.service | 1 +
modules.d/98systemd/dracut-cmdline.service.8.asc | 26 +++++++++++
modules.d/98systemd/dracut-initqueue.service | 1 +
modules.d/98systemd/dracut-initqueue.service.8.asc | 25 +++++++++++
modules.d/98systemd/dracut-pre-pivot.service | 1 +
modules.d/98systemd/dracut-pre-pivot.service.8.asc | 25 +++++++++++
modules.d/98systemd/dracut-pre-trigger.service | 1 +
.../98systemd/dracut-pre-trigger.service.8.asc | 25 +++++++++++
modules.d/98systemd/dracut-pre-udev.service | 1 +
modules.d/98systemd/dracut-pre-udev.service.8.asc | 25 +++++++++++
modules.d/98systemd/initrd-switch-root.service | 1 +
.../98systemd/initrd-switch-root.service.8.asc | 25 +++++++++++
modules.d/98systemd/udevadm-cleanup-db.service | 1 +
.../98systemd/udevadm-cleanup-db.service.8.asc | 25 +++++++++++
16 files changed, 215 insertions(+), 21 deletions(-)
create mode 100644 modules.d/98systemd/dracut-cmdline.service.8.asc
create mode 100644 modules.d/98systemd/dracut-initqueue.service.8.asc
create mode 100644 modules.d/98systemd/dracut-pre-pivot.service.8.asc
create mode 100644 modules.d/98systemd/dracut-pre-trigger.service.8.asc
create mode 100644 modules.d/98systemd/dracut-pre-udev.service.8.asc
create mode 100644 modules.d/98systemd/initrd-switch-root.service.8.asc
create mode 100644 modules.d/98systemd/udevadm-cleanup-db.service.8.asc
diff --git a/Makefile b/Makefile
index 0b29161..548952d 100644
--- a/Makefile
+++ b/Makefile
@@ -9,28 +9,41 @@ sysconfdir ?= ${prefix}/etc
bindir ?= ${prefix}/bin
mandir ?= ${prefix}/share/man
-manpages = dracut.8 \
- dracut.cmdline.7 \
- dracut.conf.5 \
- dracut-catimages.8 \
- lsinitrd.1 \
- mkinitrd.8
+man1pages = lsinitrd.1
+
+man5pages = dracut.conf.5
+
+man7pages = dracut.cmdline.7
+
+man8pages = dracut.8 \
+ dracut-catimages.8 \
+ mkinitrd.8 \
+ modules.d/98systemd/dracut-cmdline.service.8 \
+ modules.d/98systemd/dracut-initqueue.service.8 \
+ modules.d/98systemd/dracut-pre-pivot.service.8 \
+ modules.d/98systemd/dracut-pre-trigger.service.8 \
+ modules.d/98systemd/dracut-pre-udev.service.8 \
+ modules.d/98systemd/initrd-switch-root.service.8 \
+ modules.d/98systemd/udevadm-cleanup-db.service.8
+
+manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
+
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
all: syncheck dracut-version.sh dracut-install
DRACUT_INSTALL_SOURCE = \
- install/dracut-install.c \
- install/hashmap.c\
- install/log.c \
- install/util.c
+ install/dracut-install.c \
+ install/hashmap.c\
+ install/log.c \
+ install/util.c
DRACUT_INSTALL_HEADER = \
- install/hashmap.h \
- install/log.h \
- install/macro.h \
- install/util.h
+ install/hashmap.h \
+ install/log.h \
+ install/macro.h \
+ install/util.h
dracut-install: $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
gcc -std=gnu99 -O2 -g -Wall -o dracut-install $(DRACUT_INSTALL_SOURCE)
@@ -73,13 +86,10 @@ install: doc dracut-version.sh
install -m 0755 dracut-logger.sh $(DESTDIR)$(pkglibdir)/dracut-logger.sh
install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
cp -arx modules.d $(DESTDIR)$(pkglibdir)
- install -m 0644 lsinitrd.1 $(DESTDIR)$(mandir)/man1/lsinitrd.1
- install -m 0644 mkinitrd.8 $(DESTDIR)$(mandir)/man8/mkinitrd.8
- install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
- install -m 0644 dracut-catimages.8 \
- $(DESTDIR)$(mandir)/man8/dracut-catimages.8
- install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5/dracut.conf.5
- install -m 0644 dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.cmdline.7
+ for i in $(man1pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man1/$${i##*/}; done
+ for i in $(man5pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man5/$${i##*/}; done
+ for i in $(man7pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man7/$${i##*/}; done
+ for i in $(man8pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man8/$${i##*/}; done
ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
if [ -n "$(systemdsystemunitdir)" ]; then \
mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
diff --git a/dracut.spec b/dracut.spec
index 25e48a2..9a93e57 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -258,6 +258,7 @@ rm -rf $RPM_BUILD_ROOT
%endif
%dir /etc/dracut.conf.d
%{_mandir}/man8/dracut.8*
+%{_mandir}/man8/*service.8*
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
%{_mandir}/man8/mkinitrd.8*
%{_mandir}/man1/lsinitrd.1*
diff --git a/modules.d/98systemd/dracut-cmdline.service b/modules.d/98systemd/dracut-cmdline.service
index 1ed50a9..5073dbd 100644
--- a/modules.d/98systemd/dracut-cmdline.service
+++ b/modules.d/98systemd/dracut-cmdline.service
@@ -9,6 +9,7 @@
[Unit]
Description=Dracut cmdline hook
+Documentation=man:dracut-cmdline.service(8)
DefaultDependencies=no
Before=dracut-pre-udev.service
After=systemd-journald.socket
diff --git a/modules.d/98systemd/dracut-cmdline.service.8.asc b/modules.d/98systemd/dracut-cmdline.service.8.asc
new file mode 100644
index 0000000..eaed6aa
--- /dev/null
+++ b/modules.d/98systemd/dracut-cmdline.service.8.asc
@@ -0,0 +1,26 @@
+DRACUT-CMDLINE.SERVICE(8)
+=========================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut-cmdline.service - runs the dracut hooks to parse the kernel command line
+
+SYNOPSIS
+--------
+dracut-cmdline.service
+
+DESCRIPTION
+-----------
+This service runs all the dracut hooks to parse the kernel command line in
+the initramfs.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service
index e611e93..f43aa21 100644
--- a/modules.d/98systemd/dracut-initqueue.service
+++ b/modules.d/98systemd/dracut-initqueue.service
@@ -9,6 +9,7 @@
[Unit]
Description=Dracut initqueue hook
+Documentation=man:dracut-initqueue.service(8)
DefaultDependencies=no
After=systemd-udev-trigger.service
Wants=systemd-udev-trigger.service
diff --git a/modules.d/98systemd/dracut-initqueue.service.8.asc b/modules.d/98systemd/dracut-initqueue.service.8.asc
new file mode 100644
index 0000000..d405d04
--- /dev/null
+++ b/modules.d/98systemd/dracut-initqueue.service.8.asc
@@ -0,0 +1,25 @@
+DRACUT-INITQUEUE.SERVICE(8)
+===========================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut-initqueue.service - runs the dracut main loop to find the real root
+
+SYNOPSIS
+--------
+dracut-initqueue.service
+
+DESCRIPTION
+-----------
+This service runs all the main loop of dracut in the initramfs to find the real root.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
index 317b476..25ef697 100644
--- a/modules.d/98systemd/dracut-pre-pivot.service
+++ b/modules.d/98systemd/dracut-pre-pivot.service
@@ -9,6 +9,7 @@
[Unit]
Description=Dracut pre-pivot and cleanup hook
+Documentation=man:dracut-pre-pivot.service(8)
DefaultDependencies=no
After=dracut-initqueue.service
ConditionPathExists=/etc/initrd-release
diff --git a/modules.d/98systemd/dracut-pre-pivot.service.8.asc b/modules.d/98systemd/dracut-pre-pivot.service.8.asc
new file mode 100644
index 0000000..2e19a6e
--- /dev/null
+++ b/modules.d/98systemd/dracut-pre-pivot.service.8.asc
@@ -0,0 +1,25 @@
+DRACUT-PRE-PIVOT.SERVICE(8)
+===========================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut-pre-pivot.service - runs the dracut hooks before switching root
+
+SYNOPSIS
+--------
+dracut-pre-pivot.service
+
+DESCRIPTION
+-----------
+This service runs all dracut hooks before the system switched to the real root.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service
index b2dcf68..468249b 100644
--- a/modules.d/98systemd/dracut-pre-trigger.service
+++ b/modules.d/98systemd/dracut-pre-trigger.service
@@ -9,6 +9,7 @@
[Unit]
Description=Dracut pre-trigger hook
+Documentation=man:dracut-pre-trigger.service(8)
DefaultDependencies=no
Before=systemd-udev-trigger.service dracut-initqueue.service
After=dracut-pre-udev.service systemd-udevd.service
diff --git a/modules.d/98systemd/dracut-pre-trigger.service.8.asc b/modules.d/98systemd/dracut-pre-trigger.service.8.asc
new file mode 100644
index 0000000..7a856a9
--- /dev/null
+++ b/modules.d/98systemd/dracut-pre-trigger.service.8.asc
@@ -0,0 +1,25 @@
+DRACUT-PRE-TRIGGER.SERVICE(8)
+=============================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut-pre-trigger.service - runs the dracut hooks before udevd is triggered
+
+SYNOPSIS
+--------
+dracut-pre-trigger.service
+
+DESCRIPTION
+-----------
+This service runs all dracut hooks before udevd is triggered in the initramfs.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service
index cc14f88..bedcf84 100644
--- a/modules.d/98systemd/dracut-pre-udev.service
+++ b/modules.d/98systemd/dracut-pre-udev.service
@@ -9,6 +9,7 @@
[Unit]
Description=Dracut pre-udev hook
+Documentation=man:dracut-pre-udev.service(8)
DefaultDependencies=no
Before=systemd-udevd.service dracut-pre-trigger.service
After=dracut-cmdline.service
diff --git a/modules.d/98systemd/dracut-pre-udev.service.8.asc b/modules.d/98systemd/dracut-pre-udev.service.8.asc
new file mode 100644
index 0000000..2126d46
--- /dev/null
+++ b/modules.d/98systemd/dracut-pre-udev.service.8.asc
@@ -0,0 +1,25 @@
+DRACUT-PRE-UDEV.SERVICE(8)
+==========================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut-pre-udev.service - runs the dracut hooks before udevd is started
+
+SYNOPSIS
+--------
+dracut-pre-udev.service
+
+DESCRIPTION
+-----------
+This service runs all dracut hooks before udevd is started in the initramfs.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/initrd-switch-root.service b/modules.d/98systemd/initrd-switch-root.service
index b443eab..bd9fb31 100644
--- a/modules.d/98systemd/initrd-switch-root.service
+++ b/modules.d/98systemd/initrd-switch-root.service
@@ -7,6 +7,7 @@
[Unit]
Description=Switch Root
+Documentation=man:initrd-switch-root.service(8)
DefaultDependencies=no
ConditionPathExists=/etc/initrd-release
OnFailure=emergency.service
diff --git a/modules.d/98systemd/initrd-switch-root.service.8.asc b/modules.d/98systemd/initrd-switch-root.service.8.asc
new file mode 100644
index 0000000..73d5c91
--- /dev/null
+++ b/modules.d/98systemd/initrd-switch-root.service.8.asc
@@ -0,0 +1,25 @@
+INITRD-SWITCH-ROOT.SERVICE(8)
+=============================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+initrd-switch-root.service - switches root to the real root
+
+SYNOPSIS
+--------
+initrd-switch-root.service
+
+DESCRIPTION
+-----------
+This service triggers systemd to switch root from the initramfs to the real root.
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)
diff --git a/modules.d/98systemd/udevadm-cleanup-db.service b/modules.d/98systemd/udevadm-cleanup-db.service
index 7e47946..fba032a 100644
--- a/modules.d/98systemd/udevadm-cleanup-db.service
+++ b/modules.d/98systemd/udevadm-cleanup-db.service
@@ -7,6 +7,7 @@
[Unit]
Description=Cleanup udevd DB
+Documentation=man:udevadm-cleanup-db.service(8)
DefaultDependencies=no
ConditionPathExists=/etc/initrd-release
Conflicts=systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
diff --git a/modules.d/98systemd/udevadm-cleanup-db.service.8.asc b/modules.d/98systemd/udevadm-cleanup-db.service.8.asc
new file mode 100644
index 0000000..7837127
--- /dev/null
+++ b/modules.d/98systemd/udevadm-cleanup-db.service.8.asc
@@ -0,0 +1,25 @@
+UDEVADM-CLEANUP-DB.SERVICE(8)
+=============================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+udevadm-cleanup-db.service - clean up the udev database
+
+SYNOPSIS
+--------
+udevadm-cleanup-db.service
+
+DESCRIPTION
+-----------
+Cleans up the udev database for later import in the real root by calling "udevadm info --cleanup-db".
+
+AUTHORS
+-------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8)

View File

@ -1,27 +0,0 @@
From b7c8f59fef3a2a36726f5ea988b74ba6bf1da695 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Jul 2012 11:38:36 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: fix modprobe.d install
if /lib/modprobe.d does not exist, it errors with:
find: `/lib/modprobe.d/': No such file or directory
---
modules.d/90kernel-modules/module-setup.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index f309de8..5391ed7 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -77,7 +77,10 @@ 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')
+ set -- /{etc,lib}/modprobe.d/*.conf
+ if [[ -f $1 ]]; then
+ dracut_install "$@"
+ fi
inst_hook cmdline 01 "$moddir/parse-kernel.sh"
inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
}

View File

@ -1,20 +0,0 @@
From 5297d4f5b2167d26fee368d8014bd72ed93538a4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Jul 2012 15:36:58 +0200
Subject: [PATCH] lvm/lvm_scan.sh: udevadm settle after lvm scan
---
modules.d/90lvm/lvm_scan.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh
index 17c29bc..d86be9b 100755
--- a/modules.d/90lvm/lvm_scan.sh
+++ b/modules.d/90lvm/lvm_scan.sh
@@ -129,4 +129,6 @@ if [ "$lvmwritten" ]; then
fi
unset lvmwritten
+udevadm settle
+
need_shutdown

View File

@ -1,26 +0,0 @@
From 3e624cd9dc33f842a33a7152d613866569256df4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Jul 2012 15:40:20 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: just optionally install all
modprobe.d
---
modules.d/90kernel-modules/module-setup.sh | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 5391ed7..1632367 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -77,10 +77,7 @@ installkernel() {
install() {
local _f i
[ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf
- set -- /{etc,lib}/modprobe.d/*.conf
- if [[ -f $1 ]]; then
- dracut_install "$@"
- fi
+ dracut_install -o /{etc,lib}/modprobe.d/*.conf
inst_hook cmdline 01 "$moddir/parse-kernel.sh"
inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
}

View File

@ -1,17 +0,0 @@
From cef379bb0391356ecb9dd01a30e7af5bc8f19655 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 24 Jul 2012 11:52:28 +0200
Subject: [PATCH] i18n/10-console.rules: move console_init to the initqueue
---
modules.d/10i18n/10-console.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/10i18n/10-console.rules b/modules.d/10i18n/10-console.rules
index 80ed090..385dff0 100644
--- a/modules.d/10i18n/10-console.rules
+++ b/modules.d/10i18n/10-console.rules
@@ -1,2 +1,2 @@
# Console initialization - keyboard, font, etc.
-KERNEL=="tty0", RUN+="/lib/udev/console_init $root/$name"
+KERNEL=="tty0", RUN+="/sbin/initqueue --unique --name console_init_$name /lib/udev/console_init $root/$name"

View File

@ -1,22 +0,0 @@
From f2271428d4760c7026dda9093c14fb1bf9035691 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 24 Jul 2012 14:08:32 +0200
Subject: [PATCH] dracut-functions.sh: small error print correction
---
dracut-functions.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 6358078..7f834f0 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1135,7 +1135,7 @@ for_each_module_dir() {
for _mod in $_modcheck; do
strstr "$mods_to_load" "$_mod" && continue
strstr "$omit_dracutmodules" "$_mod" && continue
- derror "Dracut module \"$_mod\" cannot be found or installed."
+ derror "Dracut module '$_mod' cannot be found or installed."
done
}

View File

@ -1,86 +0,0 @@
From c072e131622f41ed90cf0d1510c96dd7cb0aad7a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 24 Jul 2012 14:12:36 +0200
Subject: [PATCH] get rid of "basename"
---
dracut-functions.sh | 12 ++++++------
lsinitrd.sh | 2 +-
modules.d/95udev-rules/module-setup.sh | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 7f834f0..14c100d 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -710,12 +710,12 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(basename $1) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
continue;
}
fi
- #dinfo "Installing $_bin due to it's use in the udev rule $(basename $1)"
+ #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
dracut_install "$_bin"
done
fi
@@ -725,12 +725,12 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(basename $1) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
continue;
}
fi
- #dinfo "Installing $_bin due to it's use in the udev rule $(basename $1)"
+ #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
dracut_install "$_bin"
done
fi
@@ -740,12 +740,12 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(basename $1) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
continue;
}
fi
- #dinfo "Installing $_bin due to it's use in the udev rule $(basename $1)"
+ #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
dracut_install "$_bin"
done
fi
diff --git a/lsinitrd.sh b/lsinitrd.sh
index a844932..3d6084d 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -21,7 +21,7 @@
usage()
{
- echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]"
+ echo "Usage: $(${0##*/}) [-s] [<initramfs file> [<filename>]]"
}
[[ $# -le 2 ]] || { usage ; exit 1 ; }
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 90d4336..2e3c955 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -8,7 +8,7 @@ install() {
# Fixme: would be nice if we didn't have to know which rules to grab....
# ultimately, /lib/initramfs/rules.d or somesuch which includes links/copies
# of the rules we want so that we just copy those in would be best
- dracut_install udevadm cat uname basename blkid \
+ dracut_install udevadm cat uname blkid \
/etc/udev/udev.conf /etc/group
[ -d ${initdir}/lib/systemd ] || mkdir -p ${initdir}/lib/systemd

View File

@ -1,28 +0,0 @@
From 3e9b4330a98687fe8b1f50c122bb30c42c4413ae Mon Sep 17 00:00:00 2001
From: Leho Kraav <leho@kraav.com>
Date: Tue, 24 Jul 2012 15:08:51 +0300
Subject: [PATCH] 90crypt: recognize .img as loop key container
---
modules.d/90crypt/crypt-lib.sh | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
index 5d0b272..3aed84d 100755
--- a/modules.d/90crypt/crypt-lib.sh
+++ b/modules.d/90crypt/crypt-lib.sh
@@ -177,6 +177,14 @@ readkey() {
die "No GPG support to decrypt '$keypath' on '$keydev'."
fi
;;
+ img)
+ if [ -f /lib/dracut-crypt-loop-lib.sh ]; then
+ . /lib/dracut-crypt-loop-lib.sh
+ loop_decrypt "$mntp" "$keypath" "$keydev" "$device"
+ else
+ die "No loop file support to decrypt '$keypath' on '$keydev'."
+ fi
+ ;;
*) cat "$mntp/$keypath" ;;
esac

View File

@ -1,46 +0,0 @@
From c5758f20902b37e3232cd6a1b79f914155457ffd Mon Sep 17 00:00:00 2001
From: Leho Kraav <leho@kraav.com>
Date: Tue, 24 Jul 2012 15:08:52 +0300
Subject: [PATCH] 90crypt: enhance crypt-lib keydev mounting
Combining $keydev and $keypath should result in a unique, re-usable keydev
mountpoint. mkuniqdir doesn't seem to have any an advantage here and lacks
reusability. Is there ever a use case where these are true:
* there are more than one rd.luks.key=$keypath:$keydev
* one is actually different from the other
---
modules.d/90crypt/crypt-lib.sh | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
index 3aed84d..5f7567e 100755
--- a/modules.d/90crypt/crypt-lib.sh
+++ b/modules.d/90crypt/crypt-lib.sh
@@ -165,8 +165,15 @@ readkey() {
local keydev="$2"
local device="$3"
- local mntp=$(mkuniqdir /mnt keydev)
- mount -r "$keydev" "$mntp" || die 'Mounting rem. dev. failed!'
+ # This creates a unique single mountpoint for *, or several for explicitly
+ # given LUKS devices. It accomplishes unlocking multiple LUKS devices with
+ # a single password entry.
+ local mntp="/mnt/$(str_replace "keydev-$keydev-$keypath" '/' '-')"
+
+ if [ ! -d "$mntp" ]; then
+ mkdir "$mntp"
+ mount -r "$keydev" "$mntp" || die 'Mounting rem. dev. failed!'
+ fi
case "${keypath##*.}" in
gpg)
@@ -188,6 +195,8 @@ readkey() {
*) cat "$mntp/$keypath" ;;
esac
+ # General unmounting mechanism, modules doing custom cleanup should return earlier
+ # and install a pre-pivot cleanup hook
umount "$mntp"
rmdir "$mntp"
}

View File

@ -1,79 +0,0 @@
From f855f9daafe8f5f53c5bf78188587a18e9aca142 Mon Sep 17 00:00:00 2001
From: Leho Kraav <leho@kraav.com>
Date: Tue, 24 Jul 2012 15:08:53 +0300
Subject: [PATCH] 91crypt-loop: open root device with a key inside encrypted
loop container
---
modules.d/91crypt-loop/crypt-loop-lib.sh | 40 ++++++++++++++++++++++++++++++++
modules.d/91crypt-loop/module-setup.sh | 14 +++++++++++
2 files changed, 54 insertions(+)
create mode 100644 modules.d/91crypt-loop/crypt-loop-lib.sh
create mode 100644 modules.d/91crypt-loop/module-setup.sh
diff --git a/modules.d/91crypt-loop/crypt-loop-lib.sh b/modules.d/91crypt-loop/crypt-loop-lib.sh
new file mode 100644
index 0000000..63a553c
--- /dev/null
+++ b/modules.d/91crypt-loop/crypt-loop-lib.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=4 sw=4 sts=0 et filetype=sh
+
+command -v ask_for_password >/dev/null || . /lib/dracut-crypt-lib.sh
+
+# loop_decrypt mnt_point keypath keydev device
+#
+# Decrypts symmetrically encrypted key to standard output.
+#
+# mnt_point - mount point where <keydev> is already mounted
+# keypath - LUKS encrypted loop file path relative to <mnt_point>
+# keydev - device on which key resides; only to display in prompt
+# device - device to be opened by cryptsetup; only to display in prompt
+loop_decrypt() {
+ local mntp="$1"
+ local keypath="$2"
+ local keydev="$3"
+ local device="$4"
+
+ local key="/dev/mapper/$(basename $mntp)"
+
+ if [ ! -b $key ]; then
+ info "Keyfile has .img suffix, treating it as LUKS-encrypted loop keyfile container to unlock $device"
+
+ local loopdev=$(losetup -f "${mntp}/${keypath}" --show)
+ local opts="-d - luksOpen $loopdev $(basename $key)"
+
+ ask_for_password \
+ --cmd "cryptsetup $opts" \
+ --prompt "Password ($keypath on $keydev for $device)" \
+ --tty-echo-off
+
+ [ -b $key ] || die "Tried setting it up, but keyfile block device was still not found!"
+ else
+ info "Existing keyfile found, re-using it for $device"
+ fi
+
+ cat $key
+}
diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
new file mode 100644
index 0000000..8170694
--- /dev/null
+++ b/modules.d/91crypt-loop/module-setup.sh
@@ -0,0 +1,14 @@
+check() {
+ type -P losetup >/dev/null || return 1
+
+ return 255
+}
+
+depends() {
+ echo crypt
+}
+
+install() {
+ dracut_install losetup
+ inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
+}

View File

@ -1,40 +0,0 @@
From df68781fca048de2f880be37ab9e1ede9bea5051 Mon Sep 17 00:00:00 2001
From: Leho Kraav <leho@kraav.com>
Date: Tue, 24 Jul 2012 15:08:54 +0300
Subject: [PATCH] 91crypt-loop: use initqueue for cleanup strategy
---
modules.d/90crypt/crypt-lib.sh | 3 +++
modules.d/91crypt-loop/crypt-loop-lib.sh | 5 +++++
2 files changed, 8 insertions(+)
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
index 5f7567e..d5caa85 100755
--- a/modules.d/90crypt/crypt-lib.sh
+++ b/modules.d/90crypt/crypt-lib.sh
@@ -188,6 +188,9 @@ readkey() {
if [ -f /lib/dracut-crypt-loop-lib.sh ]; then
. /lib/dracut-crypt-loop-lib.sh
loop_decrypt "$mntp" "$keypath" "$keydev" "$device"
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-99-$(basename $mntp)" \
+ $(command -v umount) "$mntp; " $(command -v rmdir) "$mntp"
+ return 0
else
die "No loop file support to decrypt '$keypath' on '$keydev'."
fi
diff --git a/modules.d/91crypt-loop/crypt-loop-lib.sh b/modules.d/91crypt-loop/crypt-loop-lib.sh
index 63a553c..6774e7d 100644
--- a/modules.d/91crypt-loop/crypt-loop-lib.sh
+++ b/modules.d/91crypt-loop/crypt-loop-lib.sh
@@ -32,6 +32,11 @@ loop_decrypt() {
--tty-echo-off
[ -b $key ] || die "Tried setting it up, but keyfile block device was still not found!"
+
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-10-$(basename $key)" \
+ $(command -v cryptsetup) "luksClose $key"
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-20-$(basename $loopdev)" \
+ $(command -v losetup) "-d $loopdev"
else
info "Existing keyfile found, re-using it for $device"
fi

View File

@ -1,55 +0,0 @@
From e88e3b279784ca801996c5e32db8c3bc2df1ec29 Mon Sep 17 00:00:00 2001
From: Leho Kraav <leho@kraav.com>
Date: Tue, 24 Jul 2012 15:08:55 +0300
Subject: [PATCH] 91crypt-loop: replace basename calls with string matching
---
modules.d/90crypt/crypt-lib.sh | 2 +-
modules.d/91crypt-loop/crypt-loop-lib.sh | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
index d5caa85..d66ba88 100755
--- a/modules.d/90crypt/crypt-lib.sh
+++ b/modules.d/90crypt/crypt-lib.sh
@@ -188,7 +188,7 @@ readkey() {
if [ -f /lib/dracut-crypt-loop-lib.sh ]; then
. /lib/dracut-crypt-loop-lib.sh
loop_decrypt "$mntp" "$keypath" "$keydev" "$device"
- initqueue --onetime --finished --unique --name "crypt-loop-cleanup-99-$(basename $mntp)" \
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-99-${mntp##*/}" \
$(command -v umount) "$mntp; " $(command -v rmdir) "$mntp"
return 0
else
diff --git a/modules.d/91crypt-loop/crypt-loop-lib.sh b/modules.d/91crypt-loop/crypt-loop-lib.sh
index 6774e7d..244b6ce 100644
--- a/modules.d/91crypt-loop/crypt-loop-lib.sh
+++ b/modules.d/91crypt-loop/crypt-loop-lib.sh
@@ -18,13 +18,13 @@ loop_decrypt() {
local keydev="$3"
local device="$4"
- local key="/dev/mapper/$(basename $mntp)"
+ local key="/dev/mapper/${mntp##*/}"
if [ ! -b $key ]; then
info "Keyfile has .img suffix, treating it as LUKS-encrypted loop keyfile container to unlock $device"
local loopdev=$(losetup -f "${mntp}/${keypath}" --show)
- local opts="-d - luksOpen $loopdev $(basename $key)"
+ local opts="-d - luksOpen $loopdev ${key##*/}"
ask_for_password \
--cmd "cryptsetup $opts" \
@@ -33,9 +33,9 @@ loop_decrypt() {
[ -b $key ] || die "Tried setting it up, but keyfile block device was still not found!"
- initqueue --onetime --finished --unique --name "crypt-loop-cleanup-10-$(basename $key)" \
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-10-${key##*/}" \
$(command -v cryptsetup) "luksClose $key"
- initqueue --onetime --finished --unique --name "crypt-loop-cleanup-20-$(basename $loopdev)" \
+ initqueue --onetime --finished --unique --name "crypt-loop-cleanup-20-${loopdev##*/}" \
$(command -v losetup) "-d $loopdev"
else
info "Existing keyfile found, re-using it for $device"

View File

@ -1,784 +0,0 @@
From 68e7661ca7625978f3a2b6f906d16a44043c4fbb Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 10:32:42 +0200
Subject: [PATCH] deprecate old command line options
---
modules.d/10i18n/parse-i18n.sh | 8 ++---
modules.d/50gensplash/gensplash-pretrigger.sh | 2 +-
modules.d/50plymouth/plymouth-pretrigger.sh | 2 +-
modules.d/90crypt/crypt-cleanup.sh | 2 +-
modules.d/90crypt/cryptroot-ask.sh | 2 +-
modules.d/90crypt/parse-crypt.sh | 4 +--
modules.d/90dmraid/dmraid.sh | 2 +-
modules.d/90dmraid/parse-dm.sh | 6 ++--
modules.d/90dmsquash-live/dmsquash-live-root.sh | 14 ++++----
modules.d/90dmsquash-live/parse-dmsquash-live.sh | 2 +-
modules.d/90kernel-modules/insmodpost.sh | 2 +-
modules.d/90kernel-modules/parse-kernel.sh | 6 ++--
modules.d/90lvm/lvm_scan.sh | 8 ++---
modules.d/90lvm/parse-lvm.sh | 6 ++--
modules.d/90mdraid/parse-md.sh | 12 +++----
modules.d/95dasd/parse-dasd.sh | 2 +-
modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +-
modules.d/95iscsi/iscsiroot.sh | 24 +++++++-------
modules.d/95nfs/parse-nfsroot.sh | 2 +-
modules.d/95rootfs-block/mount-root.sh | 2 +-
modules.d/95zfcp/parse-zfcp.sh | 4 +--
modules.d/95znet/parse-ccw.sh | 2 +-
modules.d/98syslog/parse-syslog-opts.sh | 6 ++--
modules.d/98systemd/dracut-cmdline.sh | 2 +-
modules.d/98systemd/dracut-initqueue.sh | 8 ++---
modules.d/98systemd/dracut-pre-pivot.sh | 2 +-
modules.d/98systemd/dracut-pre-trigger.sh | 4 +--
modules.d/99base/dracut-lib.sh | 42 ++++++++++++++++++++----
modules.d/99base/init.sh | 24 +++++++-------
modules.d/99base/mount-hook.sh | 2 +-
30 files changed, 117 insertions(+), 89 deletions(-)
diff --git a/modules.d/10i18n/parse-i18n.sh b/modules.d/10i18n/parse-i18n.sh
index b9bd5bb..5530136 100755
--- a/modules.d/10i18n/parse-i18n.sh
+++ b/modules.d/10i18n/parse-i18n.sh
@@ -19,10 +19,10 @@ inst_key_val() {
unset _value
}
-inst_key_val '' /etc/vconsole.conf KEYMAP vconsole.keymap KEYTABLE
-inst_key_val '' /etc/vconsole.conf FONT vconsole.font SYSFONT
-inst_key_val '' /etc/vconsole.conf FONT_MAP vconsole.font.map CONTRANS
-inst_key_val '' /etc/vconsole.conf FONT_UNIMAP vconsole.font.unimap UNIMAP
+inst_key_val '' /etc/vconsole.conf KEYMAP vconsole.keymap -d KEYTABLE
+inst_key_val '' /etc/vconsole.conf FONT vconsole.font -d SYSFONT
+inst_key_val '' /etc/vconsole.conf FONT_MAP vconsole.font.map -d CONTRANS
+inst_key_val '' /etc/vconsole.conf FONT_UNIMAP vconsole.font.unimap -d UNIMAP
inst_key_val 1 /etc/vconsole.conf UNICODE vconsole.unicode vconsole.font.unicode
inst_key_val '' /etc/vconsole.conf EXT_KEYMAP vconsole.keymap.ext
diff --git a/modules.d/50gensplash/gensplash-pretrigger.sh b/modules.d/50gensplash/gensplash-pretrigger.sh
index b697438..6b85bbf 100755
--- a/modules.d/50gensplash/gensplash-pretrigger.sh
+++ b/modules.d/50gensplash/gensplash-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 getargbool 1 rd.splash -n rd_NO_SPLASH; then
+if getargbool 1 rd.splash -d -n rd_NO_SPLASH; then
info "Starting Gentoo Splash"
[ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/tty0
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index 5cc9112..ddb8ddb 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -3,7 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
if [ -x /bin/plymouthd ]; then
- if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -n rd_NO_PLYMOUTH; 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
# first trigger graphics and tty subsystem
diff --git a/modules.d/90crypt/crypt-cleanup.sh b/modules.d/90crypt/crypt-cleanup.sh
index e6beb83..04defde 100755
--- a/modules.d/90crypt/crypt-cleanup.sh
+++ b/modules.d/90crypt/crypt-cleanup.sh
@@ -4,7 +4,7 @@
# close everything which is not busy
rm -f /etc/udev/rules.d/70-luks.rules >/dev/null 2>&1
-if ! getarg rd.luks.uuid rd_LUKS_UUID >/dev/null 2>&1 && getargbool 1 rd.luks -n rd_NO_LUKS >/dev/null 2>&1; then
+if ! getarg rd.luks.uuid -d rd_LUKS_UUID >/dev/null 2>&1 && getargbool 1 rd.luks -d -n rd_NO_LUKS >/dev/null 2>&1; then
while true; do
local do_break="y"
for i in /dev/mapper/luks-*; do
diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
index d373a90..17955ec 100755
--- a/modules.d/90crypt/cryptroot-ask.sh
+++ b/modules.d/90crypt/cryptroot-ask.sh
@@ -36,7 +36,7 @@ fi
numtries=${3:-10}
# TODO: improve to support what cmdline does
-if [ -f /etc/crypttab ] && getargbool 1 rd.luks.crypttab -n rd_NO_CRYPTTAB; then
+if [ -f /etc/crypttab ] && getargbool 1 rd.luks.crypttab -d -n rd_NO_CRYPTTAB; then
while read name dev luksfile luksoptions; do
# ignore blank lines and comments
if [ -z "$name" -o "${name#\#}" != "$name" ]; then
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index f96b59a..a2b157f 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if ! getargbool 1 rd.luks -n rd_NO_LUKS; then
+if ! getargbool 1 rd.luks -d -n rd_NO_LUKS; then
info "rd.luks=0: removing cryptoluks activation"
rm -f /etc/udev/rules.d/70-luks.rules
else
@@ -10,7 +10,7 @@ else
echo 'ACTION!="add|change", GOTO="luks_end"'
} > /etc/udev/rules.d/70-luks.rules.new
- LUKS=$(getargs rd.luks.uuid rd_LUKS_UUID)
+ LUKS=$(getargs rd.luks.uuid -d rd_LUKS_UUID)
tout=$(getarg rd.luks.key.tout)
if [ -n "$LUKS" ]; then
diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
index 574dc3b..e4f8799 100755
--- a/modules.d/90dmraid/dmraid.sh
+++ b/modules.d/90dmraid/dmraid.sh
@@ -4,7 +4,7 @@
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-DM_RAIDS=$(getargs rd.dm.uuid rd_DM_UUID=)
+DM_RAIDS=$(getargs rd.dm.uuid -d rd_DM_UUID=)
DM_CLEANUP="no"
diff --git a/modules.d/90dmraid/parse-dm.sh b/modules.d/90dmraid/parse-dm.sh
index fe38d35..bc7ed42 100755
--- a/modules.d/90dmraid/parse-dm.sh
+++ b/modules.d/90dmraid/parse-dm.sh
@@ -2,17 +2,17 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
# nodmraid for anaconda / rc.sysinit compatibility
-if ! getargbool 1 rd.dm -n rd_NO_DM || getarg nodmraid; then
+if ! getargbool 1 rd.dm -d -n rd_NO_DM || getarg "rd.dm=0" -d nodmraid; then
info "rd.dm=0: removing DM RAID activation"
udevproperty rd_NO_DM=1
fi
-if ! command -v mdadm >/dev/null || ! getargbool 1 rd.md.imsm -n rd_NO_MDIMSM || getarg noiswmd; then
+if ! command -v mdadm >/dev/null || ! getargbool 1 rd.md.imsm -d -n rd_NO_MDIMSM -n noiswmd; then
info "rd.md.imsm=0: no MD RAID for imsm/isw raids"
udevproperty rd_NO_MDIMSM=1
fi
-if ! command -v mdadm >/dev/null || ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF || getarg noddfmd; then
+if ! command -v mdadm >/dev/null || ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF -n noddfmd; then
info "rd.md.ddf=0: no MD RAID for SNIA ddf raids"
udevproperty rd_NO_MDDDF=1
fi
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index 08f2381..15f166b 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -6,7 +6,7 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
PATH=/usr/sbin:/usr/bin:/sbin:/bin
-if getargbool 0 rd.live.debug -y rdlivedebug; then
+if getargbool 0 rd.live.debug -n -y rdlivedebug; then
exec > /tmp/liveroot.$$.out
exec 2>> /tmp/liveroot.$$.out
set -x
@@ -17,19 +17,19 @@ livedev="$1"
# parse various live image specific options that make sense to be
# specified as their own things
-live_dir=$(getarg rd.live.dir live_dir)
+live_dir=$(getarg rd.live.dir -d live_dir)
[ -z "$live_dir" ] && live_dir="LiveOS"
-getargbool 0 rd.live.ram -y live_ram && live_ram="yes"
-getargbool 0 rd.live.overlay.reset -y reset_overlay && reset_overlay="yes"
-getargbool 0 rd.live.overlay.readonly -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
-overlay=$(getarg rd.live.overlay overlay)
+getargbool 0 rd.live.ram -d -y live_ram && live_ram="yes"
+getargbool 0 rd.live.overlay.reset -d -y reset_overlay && reset_overlay="yes"
+getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
+overlay=$(getarg rd.live.overlay -d overlay)
# CD/DVD media check
[ -b $livedev ] && fs=$(blkid -s TYPE -o value $livedev)
if [ "$fs" = "iso9660" -o "$fs" = "udf" ]; then
check="yes"
fi
-getarg rd.live.check check || check=""
+getarg rd.live.check -d check || check=""
if [ -n "$check" ]; then
[ -x /bin/plymouth ] && /bin/plymouth --hide-splash
checkisomd5 --verbose $livedev
diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
index 5ccc0d0..3e9a347 100755
--- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
@@ -7,7 +7,7 @@
[ -z "$root" ] && root=$(getarg root=)
# support legacy syntax of passing liveimg and then just the base root
-if getargbool 0 rd.live.image -y liveimg; then
+if getargbool 0 rd.live.image -d -y liveimg; then
liveroot="live:$root"
fi
diff --git a/modules.d/90kernel-modules/insmodpost.sh b/modules.d/90kernel-modules/insmodpost.sh
index 168a907..d2b8723 100755
--- a/modules.d/90kernel-modules/insmodpost.sh
+++ b/modules.d/90kernel-modules/insmodpost.sh
@@ -4,7 +4,7 @@
. /lib/dracut-lib.sh
-for modlist in $(getargs rd.driver.post rdinsmodpost=); do
+for modlist in $(getargs rd.driver.post -d rdinsmodpost=); do
(
IFS=,
for m in $modlist; do
diff --git a/modules.d/90kernel-modules/parse-kernel.sh b/modules.d/90kernel-modules/parse-kernel.sh
index 285ee90..485528b 100755
--- a/modules.d/90kernel-modules/parse-kernel.sh
+++ b/modules.d/90kernel-modules/parse-kernel.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
-for i in $(getargs rd.driver.pre rdloaddriver=); do
+for i in $(getargs rd.driver.pre -d rdloaddriver=); do
(
IFS=,
for p in $i; do
@@ -11,7 +11,7 @@ for i in $(getargs rd.driver.pre rdloaddriver=); do
)
done
-for i in $(getargs rd.driver.blacklist rdblacklist=); do
+for i in $(getargs rd.driver.blacklist -d rdblacklist=); do
(
IFS=,
for p in $i; do
@@ -20,7 +20,7 @@ for i in $(getargs rd.driver.blacklist rdblacklist=); do
)
done
-for p in $(getargs rd.driver.post rdinsmodpost=); do
+for p in $(getargs rd.driver.post -d rdinsmodpost=); do
echo "blacklist $p" >> /etc/modprobe.d/initramfsblacklist.conf
_do_insmodpost=1
done
diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh
index d86be9b..f5f5fcd 100755
--- a/modules.d/90lvm/lvm_scan.sh
+++ b/modules.d/90lvm/lvm_scan.sh
@@ -7,10 +7,10 @@
extraargs="$@"
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-VGS=$(getargs rd.lvm.vg rd_LVM_VG=)
-LVS=$(getargs rd.lvm.lv rd_LVM_LV=)
-SNAPSHOT=$(getargs rd.lvm.snapshot rd_LVM_SNAPSHOT=)
-SNAPSIZE=$(getargs rd.lvm.snapsize rd_LVM_SNAPSIZE=)
+VGS=$(getargs rd.lvm.vg -d rd_LVM_VG=)
+LVS=$(getargs rd.lvm.lv -d rd_LVM_LV=)
+SNAPSHOT=$(getargs rd.lvm.snapshot -d rd_LVM_SNAPSHOT=)
+SNAPSIZE=$(getargs rd.lvm.snapsize -d rd_LVM_SNAPSIZE=)
[ -d /etc/lvm ] || mkdir -m 0755 -p /etc/lvm
# build a list of devices to scan
diff --git a/modules.d/90lvm/parse-lvm.sh b/modules.d/90lvm/parse-lvm.sh
index c1d00c6..2194abd 100755
--- a/modules.d/90lvm/parse-lvm.sh
+++ b/modules.d/90lvm/parse-lvm.sh
@@ -1,15 +1,15 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if [ -e /etc/lvm/lvm.conf ] && ! getargbool 1 rd.lvm.conf -n rd_NO_LVMCONF; then
+if [ -e /etc/lvm/lvm.conf ] && ! getargbool 1 rd.lvm.conf -d -n rd_NO_LVMCONF; then
rm -f /etc/lvm/lvm.conf
fi
-if ! getargbool 1 rd.lvm -n rd_NO_LVM; then
+if ! getargbool 1 rd.lvm -d -n rd_NO_LVM; then
info "rd.lvm=0: removing LVM activation"
rm -f /etc/udev/rules.d/64-lvm*.rules
else
- for dev in $(getargs rd.lvm.vg rd_LVM_VG=) $(getargs rd.lvm.lv rd_LVM_LV=); do
+ for dev in $(getargs rd.lvm.vg -d rd_LVM_VG=) $(getargs rd.lvm.lv -d rd_LVM_LV=); do
wait_for_dev "/dev/$dev"
done
fi
diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index 1482f2f..6920f40 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -1,11 +1,11 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-if ! getargbool 1 rd.md -n rd_NO_MD; then
+if ! getargbool 1 rd.md -d -n rd_NO_MD; then
info "rd.md=0: removing MD RAID activation"
udevproperty rd_NO_MD=1
else
- MD_UUID=$(getargs rd.md.uuid rd_MD_UUID=)
+ MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
# rewrite the md rules to only process the specified raid array
if [ -n "$MD_UUID" ]; then
@@ -29,25 +29,25 @@ else
fi
-if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -n rd_NO_MDADMCONF; then
+if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then
udevproperty rd_MDADMCONF=1
rm -f $hookdir/pre-pivot/*mdraid-cleanup.sh
fi
-if ! getargbool 1 rd.md.conf -n rd_NO_MDADMCONF; then
+if ! getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then
rm -f /etc/mdadm/mdadm.conf /etc/mdadm.conf
ln -s $(command -v mdraid-cleanup) $hookdir/pre-pivot/31-mdraid-cleanup.sh 2>/dev/null
fi
# noiswmd nodmraid for anaconda / rc.sysinit compatibility
# note nodmraid really means nobiosraid, so we don't want MDIMSM then either
-if ! getargbool 1 rd.md.imsm -n rd_NO_MDIMSM || getarg noiswmd || getarg nodmraid; then
+if ! getargbool 1 rd.md.imsm -d -n rd_NO_MDIMSM -n noiswmd -n nodmraid; then
info "no MD RAID for imsm/isw raids"
udevproperty rd_NO_MDIMSM=1
fi
# same thing with ddf containers
-if ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF || getarg noddfmd || getarg nodmraid; then
+if ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF -n noddfmd -n nodmraid; then
info "no MD RAID for SNIA ddf raids"
udevproperty rd_NO_MDDDF=1
fi
diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh
index b3d18fa..772ea47 100755
--- a/modules.d/95dasd/parse-dasd.sh
+++ b/modules.d/95dasd/parse-dasd.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-for dasd_arg in $(getargs rd.dasd= rd_DASD= DASD=); do
+for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
(
IFS=","
set $dasd_arg
diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh
index c37aca8..87c88ed 100755
--- a/modules.d/95dasd_mod/parse-dasd-mod.sh
+++ b/modules.d/95dasd_mod/parse-dasd-mod.sh
@@ -3,7 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
mod_args=""
-for dasd_arg in $(getargs rd.dasd= rd_DASD= DASD=); do
+for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
mod_args="$mod_args,$dasd_arg"
done
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 19c5c1d..87b7fa7 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -40,14 +40,14 @@ modprobe crc32c 2>/dev/null
[ -e /sys/module/bnx2i ] && iscsiuio
-if getargbool 0 rd.iscsi.firmware -y iscsi_firmware ; then
+if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
if [ -z "$root" -o -n "${root%%block:*}" ]; then
# if root is not specified try to mount the whole iSCSI LUN
printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules
udevadm control --reload
fi
- for p in $(getargs rd.iscsi.param iscsi_param); do
+ for p in $(getargs rd.iscsi.param -d iscsi_param); do
iscsi_param="$iscsi_param --param $p"
done
@@ -66,25 +66,25 @@ handle_netroot()
local p
# override conf settings by command line options
- arg=$(getargs rd.iscsi.initiator iscsi_initiator=)
+ arg=$(getargs rd.iscsi.initiator -d iscsi_initiator=)
[ -n "$arg" ] && iscsi_initiator=$arg
- arg=$(getargs rd.iscsi.target.name iscsi_target_name=)
+ arg=$(getargs rd.iscsi.target.name -d iscsi_target_name=)
[ -n "$arg" ] && iscsi_target_name=$arg
- arg=$(getargs rd.iscsi.target.ip iscsi_target_ip)
+ arg=$(getargs rd.iscsi.target.ip -d iscsi_target_ip)
[ -n "$arg" ] && iscsi_target_ip=$arg
- arg=$(getargs rd.iscsi.target.port iscsi_target_port=)
+ arg=$(getargs rd.iscsi.target.port -d iscsi_target_port=)
[ -n "$arg" ] && iscsi_target_port=$arg
- arg=$(getargs rd.iscsi.target.group iscsi_target_group=)
+ arg=$(getargs rd.iscsi.target.group -d iscsi_target_group=)
[ -n "$arg" ] && iscsi_target_group=$arg
- arg=$(getargs rd.iscsi.username iscsi_username=)
+ arg=$(getargs rd.iscsi.username -d iscsi_username=)
[ -n "$arg" ] && iscsi_username=$arg
- arg=$(getargs rd.iscsi.password iscsi_password)
+ arg=$(getargs rd.iscsi.password -d iscsi_password)
[ -n "$arg" ] && iscsi_password=$arg
- arg=$(getargs rd.iscsi.in.username iscsi_in_username=)
+ arg=$(getargs rd.iscsi.in.username -d iscsi_in_username=)
[ -n "$arg" ] && iscsi_in_username=$arg
- arg=$(getargs rd.iscsi.in.password iscsi_in_password=)
+ arg=$(getargs rd.iscsi.in.password -d iscsi_in_password=)
[ -n "$arg" ] && iscsi_in_password=$arg
- for p in $(getargs rd.iscsi.param iscsi_param); do
+ for p in $(getargs rd.iscsi.param -d iscsi_param); do
iscsi_param="$iscsi_param --param $p"
done
diff --git a/modules.d/95nfs/parse-nfsroot.sh b/modules.d/95nfs/parse-nfsroot.sh
index 769d233..283420a 100755
--- a/modules.d/95nfs/parse-nfsroot.sh
+++ b/modules.d/95nfs/parse-nfsroot.sh
@@ -72,7 +72,7 @@ esac
# Check required arguments
-if nfsdomain=$(getarg rd.nfs.domain rd_NFS_DOMAIN); then
+if nfsdomain=$(getarg rd.nfs.domain -d rd_NFS_DOMAIN); then
if [ -f /etc/idmapd.conf ]; then
sed -i -e \
"s/^[[:space:]#]*Domain[[:space:]]*=.*/Domain = $nfsdomain/g" \
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index e61b0e8..670f6e3 100755
--- a/modules.d/95rootfs-block/mount-root.sh
+++ b/modules.d/95rootfs-block/mount-root.sh
@@ -76,7 +76,7 @@ mount_root() {
fi
rootopts=
- if getargbool 1 rd.fstab -n rd_NO_FSTAB \
+ if getargbool 1 rd.fstab -d -n rd_NO_FSTAB \
&& ! getarg rootflags \
&& [ -f "$NEWROOT/etc/fstab" ] \
&& ! [ -L "$NEWROOT/etc/fstab" ]; then
diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh
index 5af454a..9b22d93 100755
--- a/modules.d/95zfcp/parse-zfcp.sh
+++ b/modules.d/95zfcp/parse-zfcp.sh
@@ -2,9 +2,9 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-getargbool 1 rd.zfcp.conf -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf
+getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf
-for zfcp_arg in $(getargs rd.zfcp 'rd_ZFCP='); do
+for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
(
IFS=","
set $zfcp_arg
diff --git a/modules.d/95znet/parse-ccw.sh b/modules.d/95znet/parse-ccw.sh
index 876671c..cf1f41d 100755
--- a/modules.d/95znet/parse-ccw.sh
+++ b/modules.d/95znet/parse-ccw.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
-for ccw_arg in $(getargs rd.ccw 'rd_CCW=') $(getargs rd.znet 'rd_ZNET='); do
+for ccw_arg in $(getargs rd.ccw -d 'rd_CCW=') $(getargs rd.znet -d 'rd_ZNET='); do
echo $ccw_arg >> /etc/ccw.conf
done
diff --git a/modules.d/98syslog/parse-syslog-opts.sh b/modules.d/98syslog/parse-syslog-opts.sh
index 02788dd..e58c8f5 100755
--- a/modules.d/98syslog/parse-syslog-opts.sh
+++ b/modules.d/98syslog/parse-syslog-opts.sh
@@ -11,9 +11,9 @@
# Don't auto detect syslog but set it
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-syslogserver=$(getarg syslog.server syslog)
-syslogfilters=$(getargs syslog.filter filter)
-syslogtype=$(getarg syslog.type syslogtype)
+syslogserver=$(getarg syslog.server -d syslog)
+syslogfilters=$(getargs syslog.filter -d filter)
+syslogtype=$(getarg syslog.type -d syslogtype)
[ -n "$syslogserver" ] && echo $syslogserver > /tmp/syslog.server
[ -n "$syslogfilters" ] && echo "$syslogfilters" > /tmp/syslog.filters
diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh
index 6a44815..77ad121 100755
--- a/modules.d/98systemd/dracut-cmdline.sh
+++ b/modules.d/98systemd/dracut-cmdline.sh
@@ -15,7 +15,7 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
source_conf /etc/conf.d
# run scriptlets to parse the command line
-getarg 'rd.break=cmdline' 'rdbreak=cmdline' && emergency_shell -n cmdline "Break before cmdline"
+getarg 'rd.break=cmdline' -d 'rdbreak=cmdline' && emergency_shell -n cmdline "Break before cmdline"
source_hook cmdline
[ -z "$root" ] && die "No or empty root= argument"
diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
index cfdb12d..112d2a8 100755
--- a/modules.d/98systemd/dracut-initqueue.sh
+++ b/modules.d/98systemd/dracut-initqueue.sh
@@ -9,9 +9,9 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
source_conf /etc/conf.d
-getarg 'rd.break=initqueue' 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
+getarg 'rd.break=initqueue' -d 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
-RDRETRY=$(getarg rd.retry 'rd_retry=')
+RDRETRY=$(getarg rd.retry -d 'rd_retry=')
RDRETRY=${RDRETRY:-20}
RDRETRY=$(($RDRETRY*2))
export RDRETRY
@@ -71,11 +71,11 @@ unset RDRETRY
# pre-mount happens before we try to mount the root filesystem,
# and happens once.
-getarg 'rd.break=pre-mount' 'rdbreak=pre-mount' && emergency_shell -n pre-mount "Break pre-mount"
+getarg 'rd.break=pre-mount' -d 'rdbreak=pre-mount' && emergency_shell -n pre-mount "Break pre-mount"
source_hook pre-mount
-getarg 'rd.break=mount' 'rdbreak=mount' && emergency_shell -n mount "Break mount"
+getarg 'rd.break=mount' -d 'rdbreak=mount' && emergency_shell -n mount "Break mount"
# mount scripts actually try to mount the root filesystem, and may
# be sourced any number of times. As soon as one suceeds, no more are sourced.
i=0
diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
index 31dded5..3fd7957 100755
--- a/modules.d/98systemd/dracut-pre-pivot.sh
+++ b/modules.d/98systemd/dracut-pre-pivot.sh
@@ -37,6 +37,6 @@ echo "NEWROOT=\"$NEWROOT\"" >> /run/initramfs/switch-root.conf
# remove helper symlink
[ -h /dev/root ] && rm -f /dev/root
-getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root"
+getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switch_root"
exit 0
diff --git a/modules.d/98systemd/dracut-pre-trigger.sh b/modules.d/98systemd/dracut-pre-trigger.sh
index 52ecfaf..9850124 100755
--- a/modules.d/98systemd/dracut-pre-trigger.sh
+++ b/modules.d/98systemd/dracut-pre-trigger.sh
@@ -9,8 +9,8 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
source_conf /etc/conf.d
-getargbool 0 rd.udev.info -y rdudevinfo && udevadm control --log-priority=info
-getargbool 0 rd.udev.debug -y rdudevdebug && udevadm control --log-priority=debug
+getargbool 0 rd.udev.info -n -y rdudevinfo && udevadm control --log-priority=info
+getargbool 0 rd.udev.debug -n -y rdudevdebug && udevadm control --log-priority=debug
udevproperty "hookdir=$hookdir"
source_hook pre-trigger
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 1ee671e..786661e 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -103,24 +103,41 @@ _dogetarg() {
getarg() {
debug_off
+ local _deprecated _newoption
while [ $# -gt 0 ]; do
case $1 in
+ -d) _deprecated=1; shift;;
-y) if _dogetarg $2 >/dev/null; then
+ if [ "$_deprecated" = "1" ]; then
+ [ -n "$_newoption" ] && warn "Option '$2' is deprecated, use '$_newoption' instead." || warn "Option '$2' is deprecated."
+ fi
echo 1
debug_on
return 0
fi
+ _deprecated=0
shift 2;;
-n) if _dogetarg $2 >/dev/null; then
echo 0;
+ if [ "$_deprecated" = "1" ]; then
+ [ -n "$_newoption" ] && warn "Option '$2' is deprecated, use '$_newoption=0' instead." || warn "Option '$2' is deprecated."
+ fi
debug_on
return 1
fi
+ _deprecated=0
shift 2;;
- *) if _dogetarg $1; then
+ *) if [ -z "$_newoption" ]; then
+ _newoption=$1
+ fi
+ if _dogetarg $1; then
+ if [ "$_deprecated" = "1" ]; then
+ [ -n "$_newoption" ] && warn "Option '$1' is deprecated, use '$_newoption' instead." || warn "Option '$1' is deprecated."
+ fi
debug_on
return 0;
fi
+ _deprecated=0
shift;;
esac
done
@@ -168,15 +185,26 @@ _dogetargs() {
getargs() {
debug_off
- local _val _i _args _gfound
+ local _val _i _args _gfound _deprecated
unset _val
unset _gfound
+ _newoption="$1"
_args="$@"
set --
for _i in $_args; do
+ if [ "$i" = "-d" ]; then
+ _deprecated=1
+ continue
+ fi
_val="$(_dogetargs $_i)"
- [ $? -eq 0 ] && _gfound=1
+ if [ $? -eq 0 ]; then
+ if [ "$_deprecated" = "1" ]; then
+ [ -n "$_newoption" ] && warn "Option '$_i' is deprecated, use '$_newoption' instead." || warn "Option $_i is deprecated!"
+ fi
+ _gfound=1
+ fi
[ -n "$_val" ] && set -- "$@" "$_val"
+ _deprecated=0
done
if [ -n "$_gfound" ]; then
if [ $# -gt 0 ]; then
@@ -250,7 +278,7 @@ setdebug() {
if [ -z "$RD_DEBUG" ]; then
if [ -e /proc/cmdline ]; then
RD_DEBUG=no
- if getargbool 0 rd.debug -y rdinitdebug -y rdnetdebug; then
+ if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
RD_DEBUG=yes
[ -n "$BASH" ] && \
export PS4='${BASH_SOURCE}@${LINENO}(${FUNCNAME[0]}): ';
@@ -314,8 +342,8 @@ die() {
check_quiet() {
if [ -z "$DRACUT_QUIET" ]; then
DRACUT_QUIET="yes"
- getargbool 0 rd.info -y rdinfo && DRACUT_QUIET="no"
- getargbool 0 rd.debug -y rdinitdebug && DRACUT_QUIET="no"
+ getargbool 0 rd.info -d -y rdinfo && DRACUT_QUIET="no"
+ getargbool 0 rd.debug -d -y rdinitdebug && DRACUT_QUIET="no"
getarg quiet || DRACUT_QUIET="yes"
a=$(getarg loglevel=)
[ -n "$a" ] && [ $a -ge 28 ] && DRACUT_QUIET="yes"
@@ -831,7 +859,7 @@ emergency_shell()
source_hook "$hook"
echo
- if getargbool 1 rd.shell -y rdshell || getarg rd.break rdbreak; then
+ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
if [ -x /lib/systemd/systemd ]; then
> /.console_lock
echo "PS1=\"$_rdshell_name:\${PWD}# \"" >/etc/profile
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index 3eb6424..c33f182 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -108,7 +108,7 @@ fi
source_conf /etc/conf.d
# run scriptlets to parse the command line
-getarg 'rd.break=cmdline' 'rdbreak=cmdline' && emergency_shell -n cmdline "Break before cmdline"
+getarg 'rd.break=cmdline' -d 'rdbreak=cmdline' && emergency_shell -n cmdline "Break before cmdline"
source_hook cmdline
[ -z "$root" ] && die "No or empty root= argument"
@@ -117,7 +117,7 @@ source_hook cmdline
export root rflags fstype netroot NEWROOT
# pre-udev scripts run before udev starts, and are run only once.
-getarg 'rd.break=pre-udev' 'rdbreak=pre-udev' && emergency_shell -n pre-udev "Break before pre-udev"
+getarg 'rd.break=pre-udev' -d 'rdbreak=pre-udev' && emergency_shell -n pre-udev "Break before pre-udev"
source_hook pre-udev
# start up udev and trigger cold plugs
@@ -131,11 +131,11 @@ if [ $UDEVVERSION -lt 140 ]; then
UDEV_QUEUE_EMPTY="udevadm settle --timeout=1"
fi
-getargbool 0 rd.udev.info -y rdudevinfo && udevadm control "$UDEV_LOG_PRIO_ARG=info"
-getargbool 0 rd.udev.debug -y rdudevdebug && udevadm control "$UDEV_LOG_PRIO_ARG=debug"
+getargbool 0 rd.udev.info -d -y rdudevinfo && udevadm control "$UDEV_LOG_PRIO_ARG=info"
+getargbool 0 rd.udev.debug -d -y rdudevdebug && udevadm control "$UDEV_LOG_PRIO_ARG=debug"
udevproperty "hookdir=$hookdir"
-getarg 'rd.break=pre-trigger' 'rdbreak=pre-trigger' && emergency_shell -n pre-trigger "Break before pre-trigger"
+getarg 'rd.break=pre-trigger' -d 'rdbreak=pre-trigger' && emergency_shell -n pre-trigger "Break before pre-trigger"
source_hook pre-trigger
udevadm control --reload >/dev/null 2>&1 || :
@@ -143,9 +143,9 @@ udevadm control --reload >/dev/null 2>&1 || :
udevadm trigger --type=subsystems --action=add >/dev/null 2>&1
udevadm trigger --type=devices --action=add >/dev/null 2>&1
-getarg 'rd.break=initqueue' 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
+getarg 'rd.break=initqueue' -d 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
-RDRETRY=$(getarg rd.retry 'rd_retry=')
+RDRETRY=$(getarg rd.retry -d 'rd_retry=')
RDRETRY=${RDRETRY:-20}
RDRETRY=$(($RDRETRY*2))
export RDRETRY
@@ -202,11 +202,11 @@ unset RDRETRY
# pre-mount happens before we try to mount the root filesystem,
# and happens once.
-getarg 'rd.break=pre-mount' 'rdbreak=pre-mount' && emergency_shell -n pre-mount "Break pre-mount"
+getarg 'rd.break=pre-mount' -d 'rdbreak=pre-mount' && emergency_shell -n pre-mount "Break pre-mount"
source_hook pre-mount
-getarg 'rd.break=mount' 'rdbreak=mount' && emergency_shell -n mount "Break mount"
+getarg 'rd.break=mount' -d 'rdbreak=mount' && emergency_shell -n mount "Break mount"
# mount scripts actually try to mount the root filesystem, and may
# be sourced any number of times. As soon as one suceeds, no more are sourced.
i=0
@@ -237,11 +237,11 @@ done
# pre pivot scripts are sourced just before we doing cleanup and switch over
# to the new root.
-getarg 'rd.break=pre-pivot' 'rdbreak=pre-pivot' && emergency_shell -n pre-pivot "Break pre-pivot"
+getarg 'rd.break=pre-pivot' -d 'rdbreak=pre-pivot' && emergency_shell -n pre-pivot "Break pre-pivot"
source_hook pre-pivot
# pre pivot cleanup scripts are sourced just before we switch over to the new root.
-getarg 'rd.break=cleanup' 'rdbreak=cleanup' && emergency_shell -n cleanup "Break cleanup"
+getarg 'rd.break=cleanup' -d 'rdbreak=cleanup' && emergency_shell -n cleanup "Break cleanup"
source_hook cleanup
# By the time we get here, the root filesystem should be mounted.
@@ -340,7 +340,7 @@ wait_for_loginit
# remove helper symlink
[ -h /dev/root ] && rm -f /dev/root
-getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root"
+getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switch_root"
info "Switching root"
diff --git a/modules.d/99base/mount-hook.sh b/modules.d/99base/mount-hook.sh
index db07866..e32ecae 100755
--- a/modules.d/99base/mount-hook.sh
+++ b/modules.d/99base/mount-hook.sh
@@ -81,7 +81,7 @@ mount_root() {
fi
rootopts=
- if getargbool 1 rd.fstab -n rd_NO_FSTAB \
+ if getargbool 1 rd.fstab -d -n rd_NO_FSTAB \
&& ! getarg rootflags \
&& [ -f "$NEWROOT/etc/fstab" ] \
&& ! [ -L "$NEWROOT/etc/fstab" ]; then

View File

@ -1,79 +0,0 @@
From 8a240aca9e295eff3941d53d8d107b44859323b7 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 13:00:08 +0200
Subject: [PATCH] require kpartx and partx for some modules
---
dracut.spec | 1 +
modules.d/90dmraid/module-setup.sh | 3 ++-
modules.d/90mdraid/module-setup.sh | 4 ++--
modules.d/90multipath/module-setup.sh | 15 ++++++++-------
4 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/dracut.spec b/dracut.spec
index 9a93e57..0d4062f 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -81,6 +81,7 @@ Requires: gzip xz
Requires: module-init-tools >= 3.7-9
Requires: sed
Requires: file
+Requires: kpartx
Requires: udev > 166
%if 0%{?fedora} || 0%{?rhel} > 6
Requires: util-linux >= 2.21
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
index dad54a4..10c732c 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -51,7 +51,8 @@ depends() {
install() {
local _i
- dracut_install dmraid partx kpartx
+ dracut_install dmraid
+ dracut_install -o partx kpartx
inst "$moddir/dmraid.sh" /sbin/dmraid_scan
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 7b6f0a9..7b3c759 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -43,8 +43,8 @@ installkernel() {
}
install() {
- dracut_install mdadm partx cat
- dracut_install -o mdmon
+ dracut_install mdadm cat
+ dracut_install -o mdmon partx
# XXX: mdmon really needs to run as non-root?
# If so, write only the user it needs in the initrd's /etc/passwd (and maybe /etc/group)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 5944d25..b14f829 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -70,13 +70,14 @@ installkernel() {
install() {
local _f
dracut_install -o \
- /sbin/dmsetup \
- /sbin/kpartx \
- /sbin/mpath_wait \
- /sbin/multipath \
- /sbin/multipathd \
- /sbin/xdrgetuid \
- /sbin/xdrgetprio \
+ dmsetup \
+ kpartx \
+ partx \
+ mpath_wait \
+ multipath \
+ multipathd \
+ xdrgetuid \
+ xdrgetprio \
/etc/xdrdevices.conf \
/etc/multipath.conf \
/etc/multipath/*

View File

@ -1,23 +0,0 @@
From 35022f987cfe680897ab2e83d1897a37c9ff67e0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 14:52:25 +0200
Subject: [PATCH] iscsiroot.sh: do not source /etc/conf.d
this should have been done already.
---
modules.d/95iscsi/iscsiroot.sh | 2 --
1 file changed, 2 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 87b7fa7..92414ee 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -27,8 +27,6 @@ PATH=/usr/sbin:/usr/bin:/sbin:/bin
netif="$1"
iroot="$2"
-source_all /etc/conf.d
-
# If it's not iscsi we don't continue
[ "${iroot%%:*}" = "iscsi" ] || exit 1

View File

@ -1,36 +0,0 @@
From a844fb1552d7867c77caa027ea38249c26866479 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 14:53:23 +0200
Subject: [PATCH] dracut.asc: add doc about journalctl
---
dracut.asc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dracut.asc b/dracut.asc
index ca896ee..1791e40 100644
--- a/dracut.asc
+++ b/dracut.asc
@@ -459,6 +459,13 @@ dracut shell commands are printed as they are executed
# less /run/initramfs/init.log
# dmesg | less
----
+. With dracut >= 022 and systemd, you can inspect the rd.debug output with:
+----
+# journalctl -ab
+----
+
+If you want to save that output, simply mount /boot by hand or insert an USB stick and mount that.
+Then you can store the output for later inspection.
[[information-to-include-in-your-report]]
=== Information to include in your report
@@ -472,7 +479,7 @@ configuration file (e.g. _/etc/grub.conf_) or from _/proc/cmdline_.
* A copy of your disk partition information from _/etc/fstab_, which might be
obtained booting an old working initramfs or a rescue medium.
* A device listing from device-mapper. This can be obtained by running the
-command
+command
+
----
# dmsetup ls --tree

View File

@ -1,21 +0,0 @@
From bf7883ebcaccc0bf95303098e36896cc4872d468 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 14:56:08 +0200
Subject: [PATCH] network/module-setup.sh: instmods af_packet
---
modules.d/40network/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index c69d81a..0ffdd07 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -73,6 +73,7 @@ installkernel() {
instmods bonding
# vlan
instmods 8021q
+ instmods af_packet
}
install() {

View File

@ -1,30 +0,0 @@
From e045e1f386b2e44e9be88ea53f45090dfc7e095d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 15:20:22 +0200
Subject: [PATCH] Makefile: honor CFLAGS
---
Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 548952d..a109ef0 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ pkglibdir ?= ${libdir}/dracut
sysconfdir ?= ${prefix}/etc
bindir ?= ${prefix}/bin
mandir ?= ${prefix}/share/man
+CFLAGS ?= -std=gnu99 -O2 -g -Wall
man1pages = lsinitrd.1
@@ -46,7 +47,7 @@ DRACUT_INSTALL_HEADER = \
install/util.h
dracut-install: $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
- gcc -std=gnu99 -O2 -g -Wall -o dracut-install $(DRACUT_INSTALL_SOURCE)
+ gcc $(CFLAGS) -o dracut-install $(DRACUT_INSTALL_SOURCE)
indent:
indent -i8 -nut -br -linux -l120 install/dracut-install.c

View File

@ -1,21 +0,0 @@
From 585fd00624d0799c2511d9f0f384a2aee9dc8a3b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 15:20:37 +0200
Subject: [PATCH] TODO: update
---
TODO | 1 +
1 file changed, 1 insertion(+)
diff --git a/TODO b/TODO
index 4fc7728..61be5d5 100644
--- a/TODO
+++ b/TODO
@@ -6,6 +6,7 @@ Items are ordered in priority.
INITRAMFS TODO
+- add sosreport
- generate systemd unit dracut-initramfs-restore in /run/systemd dynamically
- put "root=" parsing hooks in separate hook dir
- call "root=" parsing hooks after getting new rootpath from dhcp

View File

@ -1,70 +0,0 @@
From f1040fc4702778b38e6cc9eaf5b4c1ff24a7c26c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 25 Jul 2012 16:03:49 +0200
Subject: [PATCH] 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
}

View File

@ -1,274 +0,0 @@
From 386579a45a69c428cddffe30c473dd21213f3ea1 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 22:08:22 +0200
Subject: [PATCH] Remove object file from repo: install/hashmap.o
---
install/hashmap.o | Bin 46384 -> 0 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 install/hashmap.o
diff --git a/install/hashmap.o b/install/hashmap.o
deleted file mode 100644
index 70262be391ee9c816ebaf9c8601bc60a7bc8a2e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 46384
zcmeHwdwf;ZmH#>CCgI8}ArX1`xG0Z+5`qGP2wWb~i;AW~Y{b?iB$p&LFOz$t*s55f
zlBQbH`l{tqv86567t?l>0krW^!D=;5r<$qNrWU6-(J3kw#yWM@+Iy{Y*4g(QqJ8{6
zzdvSwxcBV+-Rrg2e($?axW43qa~#{YIM~)A%S$n8Sv@Pgcw9x}R<qS$l_fggOmtp*
zB+;2ZnCL2jPuY=#-J7_j^kbDg+?SZx`}wC7-KxaKx66TeClK#Qbe3%giXDkAD{*5_
zYBI+=OAc_fD^JBb@p0g-^T8~L?9>doxAo*c(gU1n<V3KmbU4T2(fLp2euD^dJAMuJ
zdYmaiHjup&%hFl0zpG@w-LuPbENdZt<t}{^zyp|>=zQw&C_I0f2VV;5D%+pPeHhG#
za(2F+=-f+mC4B}VIHNDo`BGxq6N%1!yOglQ>FppGtbq)duQ##r+FmO?L>V)X)V5-&
zLB4u`#?I0x0(;}bl^j*(GRmjoca}ZB@kzUr{V>+BrmO6E*KE5lvGM8h%Rc{<QGZ7g
z%IOESUPzT;l*l%|9fR6CFmMtW0+j@wDFF(Ia!I-%jrF(j+5=Yl*UxI<UD?WDm&TWb
zmf;U%&w;%qA7zhL)du2A4h~H0D*34M$tT{(hNt}`Xg!$wh?V<zkKNl@@=;=A$w8a2
zj-K?t0gY>Np4U2|EXu-{*<i8|n=fPpIAcM{!B(t*BMFG*-ia*=n#{)#T=~TyAL=sQ
zs~W+klEd2Tg-|TrEV7S8uo0CU*l_J(E437)L5ZGx9E<%^{Nl!Q1l)GSN)J_y;H~dM
z4tO8?!VyKwHV>SF5+27s%8;rD#Y`=z9z^w7sT`o}qb9EUWv8PWn#$<)Wh}+Ub!2Zm
z24b<V97*hrk9Ff+rDGM=S*o0o`$*a0O{J3%diJTd*6NvUbycm&nwfP~ZFP-REk)H<
zot3oeW-O{tC0naf$%=;hwp2x3vZ}_K7>EMcRFP~-wbm!wVv82WW?3jIc6Mym>1SH?
zdW_MH584-uGo9cUEU!BVq{jUV8oLX9XL=S318o(?81l~P<X4d6wgh&MOAMXy5L7cc
zi5iNqp|kAmU=yAWFk$1h2QzK`Stg;;bh<#t6K_Nks=cdGl{=@Zhl5;4gR`mPpZZDY
zREIC6p~G#&rX{KaCZIVff2r01-YhMIG+GsdqUl!D6(5V9U!n=)d63Acw13TX1d&6l
z!||syHn2bnxSd9JuJvDq2~f<s|5CY7OjkU1ODPT)M?f+G0cO3LDfLq{gWqOyLwgBm
z2K@nqY95Wp&~wLufiP@A0!z?!aUr^S0Lug^<#6Z{Q~_P_LdgQPp;%zh1`jfeDls6G
zR#lQZmb3t<SjGyOssh;zT_ar==b?mw!CI7VCS9OIHx(#GfTKSM^nk7=Ttr|s`8*Hf
zXSyG}c_6b>{ZD|bjo0>P68<HCkY=^6vi?L@exmc0k9#|x*flDe<#g^l{6^=#X}vEU
zuzR04kOMPLSJ_9My-)NHnbzC+^J!0Z;v@u6qH86v;`si8J2pcy_mTLdj-FHjWc4RH
zpYcZh0bGgzq!$8i8NppJBjEs-nvdmY0*nh;fJ<4ql61h{?23c>he;b%Nl9R&yZ)f5
z=QSX4VVB*rCOu(bs*=*B=K(Q(f<B$2+Ee=9UG8F3-kIJHV>T=~f~ssfOl8KHz46-p
z*X63&7TYt8?WbnaWejNhz47t@uFmutWnh*nSXUe-Iar-S-FB_)Q*{JY3@b>SCyxw3
z)5e(s8!J53bh=N?#s0FWwijBMd6`CP-4>{Znm$UKI@DEm$Y@iCkg01WJW39TCdKxp
zjwh3&usrGG<>ME3{t+jx6f#k38NaJIpt*yXfssGO9AgPWQy<Ke=nym;2MdgX*Gi*c
zCpZw2zJ|UNN^X4`SC#+ut_tdY+Evg64Obn6syt|=PK1nuUSTk*3ZrUxV2ny;_FlI<
zF>J=}u*0stLiqq1*<f}1=?!KTxGn=@<5AZX>``EP8aEAn?t1Yi@IH|CVUzE|eZf&$
zT8K5hT`SRjeZH2a-N)A8+EZDB>sinPaoos=WmL%l*U-3YXlL2JMCZyLHux{lKHnM!
z)&CDPc<4^0<$FH2fE7n^%iFNZF*@MeP{w^-E8*dDi&{&nUIzI%>XRSjs1Fd9I!}A7
ztVj18kd#5}A7qa1wW<G4y!OOD#A}@})!|&6IzjnlK}kPOi8$H%+R)$KqiPEB4colQ
z`kF2$v}Eiw{YPybA)N+>=ddw{JI!gj3Bc?Fqcm?qaKyn@1A~g}J$-KPF|7_*!~AQ&
z2&$&oj&JCKforYA#v>o+cHAfcnDIs^%{bRVQ*MTYqJ)g0oG~zjQN78B;a)FDM*$8A
zwQ>fJ<qZr|gnKRM)E}!Jo*Jo1u<66#fDh!34ourTkhNK_6#5gA0Y&ryg2CS#K7kkh
z6zYZBe1*>KxLKsZE3OyR3bzGpV1K!87#rjUwa8{S6e>311}wv;a)Zb4$=v|QE3}zy
z2mSxx_KWLQm{*{=@@VGHM!ZgCYhpl(b&c(cvEeQTZ9tr{$O8*JQ8M|^8yf4fLfBXx
zR-mbFEH*j!lqRO;Z|odQw;05O<9w!`>SDmFmVt^!t#*x$3MU`xsEW?SpvFDXi(E0D
zS<_t%x}@$>p#5l)P2XaN#7$AAFQ5ZhdVS9uETi0^+oh}FsMA<`t09`5R1P|!Q|LAE
z0G11CL>)xJGpdT@trj{<4sE>lkhOjoeE%^82X%+sH8r>&I8}}B&g|gcY9`}spexY8
zUMsibBkX5*LQ2-X^|}VYFc_%d$PhC7^uP|#(YJHKGe4F!FKF^lH)_S8UvDRlwyHSL
zRd&EwRUkww=w7i^#6uRnt_Fv=O9?$*Lf<0?=H564m-k|SSM07$^|qwnT@;=GEkm`;
z48PtV;8%Ab0rf{&CWTCdeVG#>%q>IJX5=k7603#xQRE*1ry34}iYNp5@F?l`JfkWZ
z7x&Owaj`crOI3$jU-b(QdJ78Z!>(Wb%@A4)tnUN&r;mrZO7#P%NJ~!PTut1AiokTB
zfy(pd`5SxI<CqGN-hnGq2C@)xM-{BpK0x}QHE-;(J9`pO^hcNhN=}FDbXt5XwEev$
zhv3^v>@De6&s)@4M4$fI!7Dd5q=5y{ITLp!ZaEeYA+a05ZW#}2z$9m5$ss#&6lUFx
z9}kewOH(+?d-f?h4X&teZds37bYQfxxjk9Y+yuwO`p~!n0WXnktxYNh&gP@!wN=$u
zTvgRt(`Lw{d{;tivZbM_+LPFlPN}?#w(6=Tt2L?g<B{`vE8Wyk-*kmKe_n5is84^g
zsV&`_tf*>eXs(7M?HX&;D9g%HBvBlH1AjDA+0c9}EAp$^_#GXBiL9*b`lgf>$x^9E
zG#f$pp+QGK>>QP6NA*Le9L10w&55FqNN7&<4oD1H0AD|ZPt^Uga-ur`I7Zo#Ronn^
z9lZukQqk-fp1}@<k5%Xt;vQod#+_*iESio_uY-70$4}b_@jMY9tK&140(nfwXTAV5
zlSux=(;=aLxYGJgUJB`)C~DHc)Kv<&6uyU`5Ty)@K>3B6A*u{4b|#|s5mzMFTh7Uf
zL@PYy1|T5=CkX>poD7_dI2owog<wS+U=dr{p)}+<vvVM&rOv@9#pj}Bq~T1A4+rjF
z0ryCVTlU;(_%MRKB>@6*8z|f9uFI`zsCQG9Rvt1qaWvix_Ljc@FSIixz-Xj<`}LH}
zf*+M4-CH?{sw3TZU7ufXIZM#ANcW!W3*hMsKLZ*0t(LPKwK?78*0H{9NaQzJ&IQQt
zbgzb=-{83tMLXSz{1(f(5S`(4$Fc4(niEAq$HB*Pba%xl1$)a<uu+?vM02t1AS9`k
zS6X9`(82cT3-*?;05MWFXm#a*RyOI(I?Ec1>`vMz1QPa^aVq0FERGrMEd!+FI&4DV
z3tiglb=e#8t1V{(k~rO!P|SBBHXetZ2`I?<3idKH*jtKWJjktrY%Q`bcdZ+*w6rm|
z1{-rZazcr3B~GILda$0mNYB@W9*S3zg?D_U$0nbV_7+5Sjogv2v2Y1W)u~iGA1uBT
zJFe4Rn_p)+cOe7Rn|97ObyFw@hwKHx+82)o+gJf(R4zz(6eA!(>v>dbt)!IJT7EoQ
znFhLJz|9nLqNw@=Y*m<Z;%6Z;)*7FLxNbL3F(p6kEiXYP>U@f<&P_smpDGP$d`egE
z=ak0Z0lCnqbRnj64YkIjIIRnpmcC$bSqMWh>Uv%1dflh%b*XD5kej*?Q@Vy*<58T}
z^`TD@B<wBsk**K5u5v8bhgw&uu9-hmvsL9na-mDfJ_)5dL%|pRU~l;~P{*JkLv1RF
zrD?|m&=$a?gtTLbwtOPA*|GKwD7(9k7-Ip9i-|GjDmfYLa0+cKh8gTF4-$PLD>?;f
zfLxbzbxe)^g|_YhiHYElX-X8Bp?vTd2oOF{b&Htt_c7LZR4_@&oNWg;;KeZIVp(Ui
z30miD(pjo4noWgQCd^?ICM(Hv$=Vua(M2H7v<NX}(J*T~>eCjj4zcJZvS_v6qSbzj
zR!fV@$f8PZ(IsS2gKqx;7X6Mb%7ymtT9i~Wu~0JDTb3N7eU$WDlw^yv)^)5EtErYP
zqQa&^MBh)MQzSZ}-Jc@Sag>#2Sz1p!>(R-p$PwkF>E;l(&Kar;aWiYuHG4B_lF3N-
z&g(gitv=Gd<9f7Yli!j~za^af99gn8#FFR9lC6GAw)!p6Nzan4s+?@ey==+ED=dc-
zrP?Fk@teg-HfwiCRm_Ez5cY)K{#xG6wX7YYxnV{@f9zo^wBpBDF*)GH5KTWKO)t8d
zU^(-mjj+>Qs$0N|_D+>ldU{EZ?(~mChS$ZWU|V(G^2V2(=$VknQ7dE7xZevgW-+W+
zvDoiPW8U){^PV*3eV;KG0lR6;aL4UGYD7XB)&Ivq|A)Bl|DzpjT4u1f>>-0jJ2Vey
zhm3agC|DW;XN`8Wvl80z$2l}HV5N+4XnwM$qHt$Qh@Q7e&lJ*ANA$Bo=#L+v9W~3K
zKRbl}0-`_LrPt*?H-x^6=+EVH>#`*jInFzp{gM#&pA-8f%sx>~9-npDwKtN=RheG@
zkl2&1wVJ-s!F7@u>@Cw_Gl0#e(WTesrJdk;W;@ZR**x8yI9ZA{*G@I3oB2-Q@LE>J
z;&>t~@UK(KobDQ0LLrN4Xd|rgs8CPwo4n>o<*>Ju<!bXckvR!%4ky*P+sWokgxvxs
zD%G5V>_@Rp*W7K?DnI8>mctqw*FoA}+d};HA7tP*zrQ$1qr^7q6x0vC$NfNS<YXN>
z_xs!}Q~^Hl6+kaQ5mVmFv&N%(ZQyQYKxPA22|GG9T(W^$=N?MxIz%GRPqN(4IlI)B
z&@b5Df+&i8j^rdJwzXT%^NJd_FB9uimh%e-M>rTNwaOQqjUWYj2-ee!Zj;D~BCHpV
zXW=f&Gem<6aQrdBg+Y{y{FIhG%AP#3U|3}2gpp-qM%j6=q;-z7A|uZlwqV!_*p5af
zS;K}cf_yjxp(rdevU352kr^LIHDt6sb=-;q8=`PFg2*vAm=7(mBO`|mLs^(LY=kR#
z9&isYfaKY*%NhZAR4YV$WD#&-5=D-(^X>T9JC}|_0lC>Op#yu!yiCG7G~p;9q#__;
z{%jv#!7wOwzKs%()lqORkO+?BJkdT2#+W!M99u-}Q^#p~z%6TBk-d0aNLj{DQGS{b
zL_$K3N1Ij@%pQkjIKj5HgHN0Yj5EPcC%LTILMxUkMt;g(QGl!ysrZyUnaTiM>|auN
z3b~C4CrJec>16U3kxm(^%bz_8n)B2kKB_`%3p8Inia|RPL5<NOeHRFl!OWj4Ga;_J
zxWLX6ag3@CCNOBwzA(d=f+lU~?=bU?q4*kue!oF~k&#|(q!$_K=Z!R8rjnsoCLrEr
zr0+A*a}EBBjr1c1eU6cD`r~ecex8v&(@2~7ml^qMjI^5Y1ZLLny&?~z%M5#$8|iL?
z{#hgaf64#z!2gdP_|^~{FYg4?Z2Qk6N5Hpw_Xk?H?Oo)zW~SR(XExNYompF5J@e{$
zb1UY~o&gv9>#9;S;P;XA)iY-oomo^ov%aaiAzhQy<eab?tEyX@i|Q<pNk87e3jvU5
zOV!jQ*Fgphbr6SNKp-CRh!h7*_3lU*nPcycZgd<lGRu+pVmrF>u?M3C->{r4J12Tx
zjx%|Tio*LlSq^?h%JC})UggP(M9;@>XI6oF6dsF@_tWjK-1E@G(PC#(0sPWpD%fw?
zyI*-QK=S}(6hF8dMA+9|6Oez%vRA(OW<bXOSoTKvy&}uG2fw2CqlBFDoQD?%(01DP
z`_Y*J8MoN>#`6R4ZrfHS<$N23zXxBDoJ#}fZny2j9np^3Xm@&Rv@Uu<`YL4xEF80(
zb;zZ?mJUQakl;c5iavzj4+UBBh;2vF>2}V0Inj>Y?aq{f_8?211iG0_w~-?^I;R%w
zb_xsN;Y=O<{_ba0MzkCjtkILb_?|sctV^i*vmqy-oUa8-e>S@25PbghY;+MkoKvwS
zkdSCWfSCWb?LR3JD2r=jhqL(D=$hTp;@trposPZdsy&byS^sijK>i(${g^8DzeMYU
z`0sJ--RW8IqY4@p%lUbLh#xq1wAgReesHxjtsweJjly^3Tpi@{9|L2Y89SV_kB$Dv
zEA3b9j()u_-TvU7=$as&UuN*U`QYxWqO}2b?RV@C((Ner&Gw)=dEc=Qr?={Sa8OX=
zxhY~tuSS}J=$q=hyFI!l%(Q#_#Gv+`XmL3CE+CJy{#V+A4R`^F7P~HbI69jA`J8^j
zw}U+_f*mH3bHTIGV;@TQMVh|7cyS~*_E7qvAQ!&tm#G`nz8o!b-(My2wk#|Q`TC(C
zXMZot?nt*k+aA=$c2Hi>@V5IXe9vUrkD<)>qjf=*_bbYNGdO#{lAI1`IB%<*AWIKr
zdHoNH^Y6~og4$K!F*|2h&X<CGeRH<Qa5Gfj9_*`+;n$_n=E&7C#rx%)XCk9w0fu}x
zTQw0ygrgU>!*1Og+d)8J2icWvKjtw^E@+R|?!GF>JwMO3d!i4fx8m69z^I6i=&uxO
z^nslA=vK`nZXfW)hqhF*s-a?CeJi{|hX+?xDY&UnWAS|m@6|eH@JJcqyAa+CFJ9GS
zK`pJx_WI^@o2B{H)rg9g=H>>gt**H>6~h|~ZS~hAEA%6^z9nfjC9kSLC00d6>BS|h
zS6^CjPT7UaR<F3|!ioxOZMyo3WU9iI+Xk=qHPtHmigoEGcu5dA^>vJzs#Fy(7Ank}
z9LgRmRo{@TK>b#GRYTgl*O75AgA1*$out9)d0??F6KA0;3$t2Mt&rK=P@_DniByr9
zlJ1FAHPuw$1(Js5rrMbLLT@lpz|9rEK3AkFH)yPe_a$9+p@S>RRZ+1*y+PUBx+>M0
zuGXfaT9=t?&$|}WoT^K<s+z&plF+wn;EqdMeQi^+Cg!SkML;D&#d?`uAzdacEo*8@
zUhNefo#LZX%szy@RGakJsvDBvfF&2KIQPPe)fc&z)VC!YTT<(}<@hwMYfZ{Z$9p@_
z6V@hc>zkUOSy3bPY1WmXD!XE-YRK4ps+${I;B8gi1i4VE7p1D|8(dpZUxiO86rcjy
zaJ$u1k#2(vK<*o>R-NtyTvxsxq|~zy+)Gc=2xt$!>qzLFrgV$$d&uea7I?W9OmN2o
ztdm9yx>b8U3=vW$loBpov04(ZI}VcvNJjV6fOLJuslsQvmSL&ZrHfnB+Dt~e?Hlc5
zm$qF|-{QYo)ubf0Su^XJ8<Q{swN^FM%&e_X&1_o_g=(yE?QN)POIdz1R9m1C#8=RB
zFD#2Ki>duc?DXPUrx(vDJ~LK$F|_nVRZ8PC=1hytXiTM>k_&5-P07~!YDiYKR@W_r
zt<8+Nvtu)AV>2!)j?I8w$->&E^!)j;8SB=84M3HugLqT(4A9xw+@#}ZMs;ciT;r)~
zgQf>ydwpB|+WLn2)cS>W^{~r9LLA~!_03H)+LG$o1{jWWZrWPc+T5sX**bUGva@1^
zP?l+f7KL_|eC%&ubFpP#oo7!NJ|wysc3F6ctq!u`sSdf8jLf^qSvDePEf4?}gU{LU
z!JrPsIKO0LByy{*h>*V$2_OW?!2AuE2|*p4v5YIV4$R+*nGn=L3+GpO`8_JvvedyE
z=Q|~?{(j0=2W^~R>G9)^5`#K;<NOs~evI<fK^*7TdHHe5R|ip?A90ieRQV~t1C?;T
zbG>Wd2Ij}@D(6QW2MJX9DPJArx%p{Veh=mE_sRdQE5D!e)j=QgJLkFibn0oTgFnu{
zMrAAgG1^9}gFwz-@8!oSUmXl`zO&brUrG7uppf$;Q(XHuP`)}i<b3BjmwzketAj*0
z|0XxThw|0IqMN_X&F`mtb<oK9ky);OJUPIi4j$e7m2Q5F^3_2k=R5!8%8ygNI+*1A
zi0$%MQhr$b*g*N};F9^B+g<rvDPJ8_a(<i2R`t_E`RZVk^IN_A{z3TZ?y02?KAGRS
z#MK|m(*98gp>BSen;)lqbuh~LYdrmxls^f@aK7lj8z}!?neS|I<!_~Yb&$&Zkwvb5
zdnjKWth)J&-TZ#aR|l<}?|fCskD<<N{DL=5@ypGBS{DGZqPF#osj9W`OttD~9mi6*
zgeg*s&Z4z#ZB`KiMecG0v7&$#TmY`7NP&x0a|WtuTayh{TAzP{)0jE?7J1~}bSpsL
zT0!IM>YM5-s#;sC)>FA?*7W9k!B2U<8C6@7xlHimeiqM6UUT58vZ%FLJ2^8uW7#f@
z5}P1_`fh0p+_!cTI2)qYa3Q!};00vr1*(yu_bLX6OCDSW2f)0V56HsBZ~#n;tk9ea
z-iREX;wXxJOThpsw0a9Nju&>`RwJChLaqLEi*YLgx3JVEeVE#O`DxV(FhIOq{2o0!
zK&aY1`t|URBS2Q8dIcdU17B1K!POfL0eNaU9)P=h3hF9F0UPO}IcJ<c3lyrp6hbg-
z?jQukgGe}ie(}*IoIdA_K?r8gIXc0t`SS-O7{tg~^9C_;)|@j3Q88yQ6@!-I3@il>
z;x);&>Dr3=rghCQm#BEv+O=?q;>(6jPE&0XrWnBz0Kt$4ZAwdlG1)4@{RT`XR#8)P
zDp>>@1K6Cvn=d3M346lUs>USFbAMx)0Q|VrgnKu>5cj3L1Wn5>FcD(NPs<e-kGnB{
z#N@~Q1@24!TK?03_h|O3{fjUGX=T7mSwZ^ihzRp!Fw?6b^Kaq5;&0@?;cw*M0{lV#
z<MNvqCrtn0Pl;xo0%Y}HgWs05SwE~scpd{E_8(j%QDFys2kEzH{Xba!Jr}}1mG=)?
zjr(od{|w{=+28U-&BAt~{ctZb!~TB2g6#i1>7NAoGMM^bh0GxRn@E2pF{6Im>ze*M
z0vKFL%jiFRw~y(8L<KYbKA=JR4+NAy4``X6{gMR*3M&6*D!+Mg#w>p<g#XvXulE1i
zboFiWPXHjue(Ot`iS0!H!Cj^d`_Br||1s$|FZP)FasP>!Iew0y0d0mh!~Hh-TSNHI
zB7XCtjLF{!Kv4O|Qu+HxGnRi0e9ZdmApKNa*Ulv*wAw{<#MIwS{AT&L5r4-Z{9g^R
z{~+0aHSweU<Kbi4|IZ=%3u%8i#3-0)|Bev-b=PXeapFh)#|P+tE=2##A)4R3$Ytt(
zCPe@C>oxy8VnF>T2I&8Ni2nP?QTw$R_uJI}dWio14Vne}CkE6XgOBO|KSMr}nDu`P
z4)zeti)tiJXTtXf08mqLF%|i;PF50%`cH<BslNc~CrJNqNWVHCBN_NG^^XMpApMo3
zKS8{xe-eC5{ly{rCk)k$=0!YH|EVGRx08N3eoYC`zam8crKI1y_-E>09-_a8^vm(1
zFhKw1A^Il|)8#iW8k+hq4bgwsM$LavKUDjh9-u!RqQ4X;YY4si;eMO?TSD}2>d-8k
zi4*G|*P3Si<2;8l&GsJ~p&8Zrr;e&`Q$PNJi=g&5_D0Pl>%RyfQ~wV_^xseV?-RN)
zYU=+^i2h>IUrhX1evF&?p9s;vnkG*3qNu5VPl*0X(qAd`pB|w9_aXYff{P*u=EYP~
z|LY<8dq}^We`bR`v;25X9%Y*K|C>D2Zdv9<SW`c~7#&pq^KR1o(*O8di>ZHFi2kpu
zS8Ty9L!pthCWYv)BmI@y4AuYU1?XQMqW`XZ%{bWlWpRl9eF6H<3eaC4qW>OT>_NC&
zKiqG#{52u^3vbpevj3e8km>)95dHJ%2Rihb45t3OLin#Fe)ao+5Mc7}2;txU3H9#_
z;qNE@%Y<%>n);st{-E|75Afd-;5YsEhY<Y>)T=0#wPq0gZ-nSC5756XKz}wEk7Y9Z
z@9m^t{XQaWFv~wSg#RbRKS}Un)Z{-SgujpY?;V7{2>9V&Mrfh(%kk@6pfde`L5TkK
z$7zw~MR?Qxb3^nWApP6PGMqnF1n92`(Z2^bD-g_!_on`e5dE7sY5pGlP~+G65I4)e
zAw<9a3k;TJUi3Hhe=$UVX{S~!%fB)}KmIKTlxeoVZuR#f==UuxN`0I9zY(JU2<cA{
zFZv(X;%50DCjBrC`obFAY(W^IAMUrQzc+-xh4^V2a`|ambkpyK@ZazW_2*}6|C#pR
zO8kTE-_Ho)-%9-SaP2kiUme2VLyRW9nZ`eEfj%|u@BM`QcZBfw6F)73UHi@Ydo+aq
zZQ`eGL@0k>2>%DfKUn+u?-2gT1g&x~{_)Upg8Y|9{Im@TwSPefe~kF48@l{v{Z$da
zOF)tN#6Q~T0H*&x2mH_lGD7?-8X8Lr5bVE~!^iBujUoCk#LWtXD~*O_>faE;|5My-
zK-fA6{})5-FaM6_?}Pan1KM8&AJhKZLiAV6LM}Kz9z_4wLi87ZU-NGmqMxY08a}4}
zAB5=t;~ARo9^%(2-PSmc&+mlj-|?WP>JjBn0%Yp{G3hVX<nH&a3v~1_^bZ-h{`mQL
z2>*>sG}jEt3~}b;=iZR=|A_bvc9);=-w?l1P1a80hnGivfy>X}E5IMr{#*V@Q%L`P
z0U+k*bvbq~axsfk&%SeX@;^Yn3|wx;Fm2k7c^m3A#X%ZCn;;p~evSb=NPkPa=5H_x
zXX@8fncqm4Wxe}xW)A8LmJ$gp3DO5yh`3=KD8up65%^SLK!h*d2n@Fgw!pc5kR+0^
zs?qleZGrpgjm`!#&QkI{+)po4sL`@;jc2>9#A`2@7g4`JVayAkgDAXQ<^uBfu897-
zZ*Cq&unjr__xs13Z7u5>MepIbhvyK{w--67o*nS*2z-*rjp#oXClDQtShU$Taw6&%
z4+Df`M8Eu>krB~<$}Iq=#ki3Z;YD%=PLsdDyCH5{pLY>CuSV3#x|^jUKZI{b;Czn%
z&w$$&)|w7-evhaVa?a7u7vSLtoX_K51>DxR=M>=xO|HHpR!pRH^bkB8f$t{@e0|au
zyHvlNlQZNX5XpGGT$4qtDIxTQ8Tfe6>sTKCJW)(i_FU@H4|QXxce+UF=t4zb?&4lc
zMf%fRoFkVg`p<IG*CHbpEgIZh9f_!uLj#0l#KIH3%n-3=XM%u4^ljseyofa~18Y`x
zUgF|%-4;=!ikqb(n-qPS3(6K8ac@k!*(wr&|0^#jMD(rPjI4+i&%h9fSW80iWg&P;
z2u_opksGnjH4w|XSCx0Qi;r|;XwM3f($QUtewB;++c}Q9{_smhf3XYVJk23ut>mct
zd|T0f#!dU>o4+DyvWVr;yNnQtSe{-#?%D6hJwNzyuRZv2uU+|ZuV46auYdV*ub=wy
zH8SbOBVxRAL5M`ec<9Hy@z#&yP9ifztjbIfkce8jXJ$pziYN%jm2PH;ShblTAQAXK
z-hx6z&9<325vwi(%!Wmr?Bh(38-gDff=>WE-|^<t^GMKX3a3M5z$OzO50P`OqNhVV
zpymFBzjx)s-^AfCgCb1|_vTqXH@_xCerE`d`=ua1+^OVyqZ+O=Fzg7Se^Sw(tcl>8
zd*F)-_vR@c0bf(Nw_4%fUH_=?C9a&yC>DVwX};slNBlcsuEM=}r<dqYQn)w2bP;~4
z!i!z`_fZV*Pvkq^{KCIOeMaHl{KCHvH7ML$ojpQwZcw;4zwqxV-3mX;)ywsDzryjC
z0v+zAXOF_!Tb4Uxy`XURmSvqu^!*BtQ_7=%N8!s{oJR^g$If@Wd4bQZ^A+yR3tU4d
zE8LqG?j?!%H*E7AZ~W);--QbI#(6%My-?xac#i8l43{aKTa7r!q^rO1HzC{$_W^h9
z{gApkuOV^6UIL23f1}>KOYdEv_uZNgym31VZh4Ap=)p8_Rn&JWJ(vn^ocgY)hftlV
z-hR_p%!5hb@@sI${8?cc^Mf-^2g?IR;U(YT47eT~m~jSNEDp|qE6KqbaGANKs+L~n
zZB%szufoCGof$7G1ihUASaoBI`_dz}CjEXSzp&tYF@f)y<J$=JZ554G_3#p6T`T@i
zq>ahOHn@dftqowpjQ0{6nrkbn+S-z>sfu;*eki>6$)vuQL-h*-GRyz+sJyt&RQxCD
z@f8BTvd?+)ZCQFNfU~GI@v8s<uqn)U>7VKOroWM{@UHipIqFV7gR1j+zHnbp=X`a8
zpA(|=>R!H!;~S@(;Jf&o))(;Il<&U>F#q!a-|MdKrFtBPcpQgmNUc^r!vCfS!amG|
zfOs~17=Il>2qylnhBNTvVBLxV>1*J_a;_J+ls^%PAs~GcK1@FZK?sOrobg-)As~*c
z55{=~fjI7g89x!?7)*MN;$D^h^dA8{Par+6s#wk_%169G;HL;&mWyXF+;1L3H27Ff
zam2Zd2=NSq^0ADpw+%BPAl?Wc#&1Fp0^&{ZVf=>(LO}WTDyF}lqB!DT5cp()%hmTx
zfuA7gd8L4I5a$)$e4;^nTHwR>R0#YEflneF<;dLtuV`34ky&R5da0LJBBoxRflc|m
zBQfRk2@2!9@~k4grhF_T2E=8(|3IOc_=_R<haotgD_}6~uN1hfm!yG@)9lt42siD&
zQ_xHQ<31Pz`$4BH>-z@I^>lxT{C5Pslz&*@(*BPOocoFXe<-v+WxJB?hwBt=WxGuK
z|CaV6<#XJW|7qI~o>yTo+s{S953CF6@P7iqVCucxz}aurLca9dL@h?ixrE~QI91@X
zUWyHz`}-Wi&31L3pqKLbM8UM5#~jAT5dY;N@_#IF9D8}3d5&<DGlJsy=%qN?iDNj^
z%Xv-CJM=T9s+U$lFWZkC&*k_d<?{{$^-B42o|5><K!*Y8Q}AIs<+ysK!1<&T>2deT
z^s--+0nXv?)h{j}f#_!`pX-|Ik@fQamT{)5Bm%Tww$EmP%W-uw;V6gO5<-8kdFm@9
zAML^2Hv4lg;iy-(tLFud>kSSsQ3U1W!iVMjPT(~HkBNR76SyqzD&ob*Kf1g>CtYZN
z8a`}4&fOSH|1@bh1HVV$vVFD-T>AMpA^2YeF8e#5kDxs<_^_RyR(_W7zqC`1&r<KX
zf?n#yu>ynXp9eIoa4BEb@5Mxek55{^Rm3C52icFL{LlOY<TsN{v%IVeaarC{K`-%%
zgk%3=8if8{^O3Yuwr8pLBC_G{srM%&)AY|s(SBsR!r!SdAbkuz+@9w`90U62LKV|r
zaf%}@=j##!A5H1==!x=WJNcHtWq<s02!4vNQ`$dY;4$E3``I?Mlh@=ZdMbWFFzrVh
zFfh*c&(g5+kF@`Mf#Vp(dXWYLmiI>ZFunoe7!bb_K8(j8jsbBwKJ&T`@h`!L>Awka
z3?`nVVP!wheFzN~IPQr~&(^>w1Lt)QmmB?n^lxTq!f}HB^AyL2?C&fC@#**lf#vYH
ze5Qt79N$~OAlnb>{R!b0s9aAD|NhK#lPjOv0iVM%{(a)FGUV`kef$ds)Bl0waQ|f-
ze=oqm<2>W|KeuAIRzKWw-A?JR8h8iM|H!~gN$+C@eg)xtPQrRWLvns;&@=v910O~8
zIAGw_5e*zR@adF}kbc(NLiD)?{s7_l9w-K;e}~#zp@HX-{bz*W{JtH_d5q+*Fz8>U
zbiIKeAo`Sn<L?(3@O?)NET6|gzIVcS4$*Hj=%3f@7QVNLf$6_R<=SK5ZJNw_$-v7=
z{>ujb2-Vjc20o7b`CkV98qt4f;NK(pBgihc^Bqc$p(nDDXl3b12F~LqzUPL4<qRXH
zRf0ZOlc?{@44nP@1w+oYWcPXlUrF}!d(^C#*Gbz9`4dU^0|tH$;m;WO2Et!3@HJ!)
zzSo3-^<GZ)45KIGUnc*LA{^Oyj79!&2G0I0G~{r3ml^m2B!7jFQ-Fdg;O}V|P%q*<
zf8+0I7#JU^lUB;WXAs^+IF~Dn^y2Sq7*Gz+5t#m_flopZ!Zt$=ud^Q#^kX%t`hLW~
z&!fDT3^}z_ABPS6L~4gN*^74aoQ0x}G4RPGe-`0f-fBuO5cK1T79YzDoc)RKKVV=v
zvngFK=qG3r^?jv*v;V(o$Z4SRepk>RFXY^B;QagNE<+BF|N9J_$N&E_aBk-j@++5X
zIyx4@2=+I`PgIEh8g1YmlvixXVS5%CINNi9f$t<amk9Zn3cX)6=sD{KK_6ofo}C8H
z>xvzQ9Byxq8#vpuPsk}3^8aAa<NFyHcs@ioo}v)_^(P?*@oUJ>$J4@&{m=GHH*mIR
zHsQ!F&+%3n^xS_g74%btJ$RoU1Ij^sKPDh-BHXm+4g+U<whB3yXc6lBVS_%O`tu`#
zewv`i`_&lG9>jU?^r|7}%OvLwK|dWCDg38_FDCrhAv(h4`YrXl3526w-Www2DF(hs
zvs-aP&O3ykFX&Gr3?HiuoYxi2h8(W<yA7QEyiLd{6Y`%j=(kh3UJ&#%1^vqg&gUKa
zf4=s{H(oED5Y^1=H@5RM17|zu5{~|q=V@gIJ?}Xy1wHS@P-C5e_i8h&Zy0je&W8=0
z?R?z8+0K1J{wk7<k3Sgnza)RYC+N=*^dA~{7v)W+!(7vEOAY+%G;XXU9Q`(1$S*VS
z`zVk9?t>|Riy@!a{SO#8-owQ3sE|KLL+bmd2F~|-UNz*TNzQ*7IIkl=G;pr3F=#jh
zwm(LGhX0bvhd->7)?5R}dyE*C5ROS+6Cu9B!1?}B(vZXUrwp9!?=Wz-{~-fs`yVrK
zw*MCfj`w*m^bwBs^WGWpegl65K?wLCxM9F-+()xLQw^Nk|Ct8<5i&zqN;vABrx5*h
zo`Lf{tgjhzxF3B}(9842?-=wv7v3l6QSTe1`)PxI8nuTP1^rpV&Q}ba*G0z<*F@|e
zwsQ*MSl-VFIWrCV88pAl74)e0_rz0X(C?;ttQ7QT3;A^hemCW9HRN!8J!as;(O?Ms
zgq(#MQs2D>&UN{YA%|@`BItQeQ-Vflp{NdVZi^=n&i?!hmA6pP^Bjv3iVd9YS!u|b
zKyu0jeH;Z)s5Eds^ZJq@hsU?C8aOo%>rNqO2@8kkJqEsp@}4u~q{+^g1^rSX=XC==
ziSqtz$oYWUa}I4N(9g?+oRJ1TiSkY*oc+Ix+QVEyzg);!WZ?Hw-Wo&BGP0-Lz`4I{
z5OPX|{7!+RUS5lI8~Dw{^SB}ZL9+j6g8m#K{}%?%_afgi<goquxtf{%!}cFfII6oy
z$e%25)XVnIFmPTM%_W@W^FFr3!0)AYa+!g@LgUFgAwMDPX)^HT<RAXKDy)~wyWNn_
z_B?9fY|k$Zoc;5f(0ie<=Ocrj{XZm66QOzM3Hn?E@20#{31|CPkbllHaJFZ;kh4<A
zUuDqWM*h59&|e_v*BSV;l=p2z&P=lB2?NLfx*5YSgdAEjEBs}HzMSaa5cIU<QS<`_
zeTPCV>#(5bu}Wppp%VM;87l8^!ciR!EsC7BJ8C_^V;E+Tc(tFRt*4@osc*f{qN-L%
zvA{`{LgE6K=TW5sA5C$5R8k!697}P0v``#zd2X{o;NvNdkIe#?=PFwTF3(AJ2wa|5
z^awmgaeVYr9PK%U;`r#NIO0<%j*o*BM|>K^)dK+t_?WI@`YTW1rwTkK@Y4idEby5E
zj|+U3!1?zC%$EC+N<lC85iJ6j>--G@m+R-v0_U{=s^2Q`dBUC@0zXUOJp$)72xj*R
zT&`#O1uoYo2L&$I8|sHLkcZiE_;BFg9}r){AUt`Uj<}r1i)lVYe3_t+3w*i2O9d|H
zuS$W-alS?1a{SyNa5;{#Dzr!TU)pY}@*+N!2=nNP^s--bA7q@*=VO9i_V+>qXZghf
zm*W7p0hEt8x1qS8m*WHb1nCi<M0BNso^3{`+`!p)l>(RJNu7aDrgV$I<v4S-fzvX>
z+8}T_{%kVv8I;~Ea5*mBW#GI|*(z{3UTrsUo-cL?JVtSR?4&sQGX|d_)Sh}EjsbBw
zzU@<}hx0jPufXNF*Jt4SDcvt{IUXJ`@QWyYP~dW$JYwK(-$uhB;6sj|Q3K~OB2VCQ
zTperR&nv0mD}l@LmVd{@Y{YpTSS;w}I6Tk5*^hC7%kep3;9X=-sles9&Fc%yM*Kda
zuN3rhJg+lwKDTKRIQLN$b+v)>Imrfr%kh7cf%Cb<W`WNm8}V_Mf%AF7R)Nd;V!MHJ
zf7u~$Igji#@ViNOkHF>pvd_TT)?R^gn?g~22F||d7r5JIf&PGjv;2bskE37;M+}_z
zxt5q0mM}3qqXxc)^5lHCRM3wV^oaBRG$wF4-xV4-kI!;`TrT9#6ZDAROL=jD%lR>3
z;Jm+(^JzlJFBkNP^Zuw(;5;WFTb+S-lPo#^%6XRWcVIOj{w&dNqbK5W{@o*RInSPe
zgb?r{=Tq)~h|78N5<xHLM|__i13t#8nEv{fz~y}R6M@Tl?RkOA`RkCt<vewX@SB{E
zt`m4n*z+5K%lYM$h$cccavmuYxSTK20+;i`?E;tM|4xC+asFL_%kg}2mS>L~w@U>s
z$LAJ-%W)Y0{u>4?mmF_<1TM$bKMI`34CFtS8WYOlu>tWqfy?o5x4`AN_nN@v_=bPy
z3j@lR<JjmN1uI;RSF;2j*Cgt@RNzYl-YoE?0`C;~GJ$_r;L8R6ZvsC@;Q6%KM*HPB
zaE`!bf9K!PkY4ud7|FzDN-j}IT;Q_*)(Bko-wuJx{<}@!vj09UaM^$N3taZ!EHoSf
z+9~@lpX(zo`!A1wh|B(4Bjm{b+ad56@Nn2B@KYFs=hFh8BJlkJm;E;j4S|3U*?%Vq
zT=w7P0+;=_M&Pplb_iVd-)#by{r72s%l^Ax;IjW_(YS%xvj0vJxa_~n1upw<jlgC9
z?GU)^zuN>Z`|r~Nm;HCYz-9mC`#WfV96lT-W$75=OBjUba)B=uc#Xi93A{t#%LTqo
Z;IjWdEpXX?_X}M1-z@5!Xs7JI{|kk}U*7-#

View File

@ -1,77 +0,0 @@
From ab8bfca7949cf18837ead4b3aebd5f2186a6f739 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 22:08:23 +0200
Subject: [PATCH] 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.
---
Makefile | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/Makefile b/Makefile
index a109ef0..d013cbc 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,8 @@ pkglibdir ?= ${libdir}/dracut
sysconfdir ?= ${prefix}/etc
bindir ?= ${prefix}/bin
mandir ?= ${prefix}/share/man
-CFLAGS ?= -std=gnu99 -O2 -g -Wall
+CFLAGS ?= -O2 -g -Wall
+CFLAGS += -std=gnu99
man1pages = lsinitrd.1
@@ -32,22 +33,17 @@ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
.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 $(CFLAGS) -o dracut-install $(DRACUT_INSTALL_SOURCE)
+$(DRACUT_INSTALL_BIN): $(DRACUT_INSTALL_OBJECTS)
indent:
indent -i8 -nut -br -linux -l120 install/dracut-install.c
@@ -99,7 +95,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
@@ -110,7 +108,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

View File

@ -1,22 +0,0 @@
From 06c6ea654f09c9993aaddab137b4af011d9d6c0e Mon Sep 17 00:00:00 2001
From: Chao Wang <chaowang@redhat.com>
Date: Thu, 26 Jul 2012 11:24:25 +0800
Subject: [PATCH] 95fstab-sys: Skip mounted filesystem.
Signed-off-by: Chao Wang <chaowang@redhat.com>
---
modules.d/95fstab-sys/mount-sys.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95fstab-sys/mount-sys.sh b/modules.d/95fstab-sys/mount-sys.sh
index a1e5ab1..12711a0 100755
--- a/modules.d/95fstab-sys/mount-sys.sh
+++ b/modules.d/95fstab-sys/mount-sys.sh
@@ -11,6 +11,7 @@ fstab_mount() {
info "Mounting from $1"
while read _dev _mp _fs _opts _dump _pass _rest; do
[ -z "${_dev%%#*}" ] && continue # Skip comment lines
+ ismounted $_mp && continue # Skip mounted filesystem
if [ "$_pass" -gt 0 ] && ! strstr "$_opts" _netdev; then
fsck_single "$_dev" "$_fs" "$_opts"
fi

View File

@ -1,30 +0,0 @@
From 63c65b984a2baddf2a7046e65e8719f6485ec10e Mon Sep 17 00:00:00 2001
From: Chao Wang <chaowang@redhat.com>
Date: Thu, 26 Jul 2012 11:24:26 +0800
Subject: [PATCH] 90multipath: check() - Regexp fix to match multipath
partition.
A multipath partition's uuid will be presented like:
# cat /sys/dev/block/$_dev/dm/uuid
part1-mpath-360060e801047103004f2c4b300000008
So in this case, change the match regexp from '^mpath-' to 'mpath-'.
Signed-off-by: Chao Wang <chaowang@redhat.com>
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index b14f829..98748d3 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -11,7 +11,7 @@ check() {
local _dev
_dev=$(get_maj_min $1)
[ -e /sys/dev/block/$_dev/dm/uuid ] || return 1
- [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ ^mpath- ]] && return 0
+ [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ mpath- ]] && return 0
return 1
}

View File

@ -1,35 +0,0 @@
From 372c9b9647f039fa02779ca4fae3118c5f08e6f1 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 09:25:28 +0200
Subject: [PATCH] dmsquash-live: do not eject medium for live_ram
---
modules.d/90dmsquash-live/dmsquash-live-root.sh | 1 -
modules.d/90dmsquash-live/module-setup.sh | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index 15f166b..f8bfca6 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -167,7 +167,6 @@ if [ -e "$SQUASHED" ] ; then
dd if=$SQUASHED of=/squashed.img bs=512 2> /dev/null
umount -n /run/initramfs/live
echo "Done copying live image to RAM."
- eject -p $livedev || :
SQUASHED="/squashed.img"
fi
diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh
index 05603a5..3339e1d 100755
--- a/modules.d/90dmsquash-live/module-setup.sh
+++ b/modules.d/90dmsquash-live/module-setup.sh
@@ -21,7 +21,7 @@ installkernel() {
install() {
dracut_install umount dmsetup blkid dd losetup grep blockdev
- dracut_install -o eject checkisomd5
+ dracut_install -o checkisomd5
inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh"
inst_hook pre-udev 30 "$moddir/dmsquash-live-genrules.sh"
inst_hook pre-udev 30 "$moddir/dmsquash-liveiso-genrules.sh"

View File

@ -1,43 +0,0 @@
From f6297ebe736c832d72a69c8a27b64152eb5559a6 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] 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 a40b746..f5aa8ed 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,9 +1,9 @@
-# /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
#
# Modules
#
# 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"

View File

@ -1,21 +0,0 @@
From e625eea4f9af15f9de6e840e6db797b5f50b7e1f 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] Config file for systemd on Gentoo.
---
dracut.conf.d/gentoo-systemd.conf.example | 5 +++++
1 file changed, 5 insertions(+)
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

View File

@ -1,22 +0,0 @@
From f67a1f7f64bbc48edbcf76a09cac0573ea626653 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] gentoo.conf: set udevdir
---
dracut.conf.d/gentoo.conf.example | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index f5aa8ed..411f9a0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,6 +1,8 @@
# /etc/dracut.conf.d/gentoo-openrc.conf
# Dracut config file customized for Gentoo Base System release 2
+udevdir=/lib/udev
+
#
# Modules
#

View File

@ -1,25 +0,0 @@
From 823311ea3b7bd74570e56a804b7dc166d6b74e27 Mon Sep 17 00:00:00 2001
From: Cong Wang <xiyou.wangcong@gmail.com>
Date: Thu, 26 Jul 2012 15:39:13 +0800
Subject: [PATCH] 90kernel-modules: remove unused variables in install()
The local variables in install() are unused, can be removed.
Cc: Harald Hoyer <harald@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
---
modules.d/90kernel-modules/module-setup.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 1632367..5018dc1 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -75,7 +75,6 @@ installkernel() {
}
install() {
- local _f i
[ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf
dracut_install -o /{etc,lib}/modprobe.d/*.conf
inst_hook cmdline 01 "$moddir/parse-kernel.sh"

View File

@ -1,22 +0,0 @@
From 15f0b1f62446cb1a28166f3d53d63f00557f42a8 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] 90multipath: added kpartx.rules; multipath.rules - different
prefix
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 98748d3..862a8ed 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -86,6 +86,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
}

View File

@ -1,77 +0,0 @@
From 24ba78cb77b3a8ce50902da1795a2d3cdac11691 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 11:50:50 +0200
Subject: [PATCH] Makefile: fixed dracut-install make target
---
Makefile | 27 +++++++++++++++++----------
dracut.spec | 1 +
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index d013cbc..0dbc6eb 100644
--- a/Makefile
+++ b/Makefile
@@ -33,17 +33,24 @@ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
-DRACUT_INSTALL_BIN = install/dracut-install
-
-DRACUT_INSTALL_OBJECTS = \
- install/dracut-install.o \
- install/hashmap.o\
- install/log.o \
- install/util.o
+DRACUT_INSTALL_BIN = dracut-install
all: syncheck dracut-version.sh $(DRACUT_INSTALL_BIN)
-$(DRACUT_INSTALL_BIN): $(DRACUT_INSTALL_OBJECTS)
+DRACUT_INSTALL_SOURCE = \
+ install/dracut-install.c \
+ install/hashmap.c\
+ install/log.c \
+ install/util.c
+
+DRACUT_INSTALL_HEADER = \
+ install/hashmap.h \
+ install/log.h \
+ install/macro.h \
+ install/util.h
+
+$(DRACUT_INSTALL_BIN): $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(DRACUT_INSTALL_BIN) $(DRACUT_INSTALL_SOURCE)
indent:
indent -i8 -nut -br -linux -l120 install/dracut-install.c
@@ -95,7 +102,7 @@ install: doc dracut-version.sh
ln -s ../dracut-shutdown.service \
$(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
fi
- if [ -x $(DRACUT_INSTALL_BIN) ]; then \
+ if [ -f $(DRACUT_INSTALL_BIN) ]; then \
install -m 0755 $(DRACUT_INSTALL_BIN) $(DESTDIR)$(pkglibdir)/dracut-install; \
fi
@@ -108,7 +115,7 @@ clean:
$(RM) */*/*~
$(RM) test-*.img
$(RM) dracut-*.rpm dracut-*.tar.bz2
- $(RM) $(DRACUT_INSTALL_BIN) $(DRACUT_INSTALL_OBJECTS)
+ $(RM) $(DRACUT_INSTALL_BIN)
$(RM) $(manpages) dracut.html
$(MAKE) -C test clean
diff --git a/dracut.spec b/dracut.spec
index 0d4062f..d960506 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -286,6 +286,7 @@ rm -rf $RPM_BUILD_ROOT
%{dracutlibdir}/modules.d/90multipath
%{dracutlibdir}/modules.d/90qemu
%{dracutlibdir}/modules.d/91crypt-gpg
+%{dracutlibdir}/modules.d/91crypt-loop
%{dracutlibdir}/modules.d/95debug
%{dracutlibdir}/modules.d/95resume
%{dracutlibdir}/modules.d/95rootfs-block

View File

@ -1,21 +0,0 @@
From 15976a06701fc565b591e2bbfc36d0f5c3daac2b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 12:43:20 +0200
Subject: [PATCH] multipath/module-setup.sh: add dm dependency
---
modules.d/90multipath/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 862a8ed..f9c1f81 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -24,6 +24,7 @@ check() {
depends() {
echo rootfs-block
+ echo dm
return 0
}

View File

@ -1,85 +0,0 @@
From 4a1255bc38937714fb76702780147d0be465131d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 12:27:29 +0200
Subject: [PATCH] Makefile: use symlink for topsrcdir/dracut-install
---
Makefile | 34 ++++++++++++++--------------------
1 file changed, 14 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 0dbc6eb..28381df 100644
--- a/Makefile
+++ b/Makefile
@@ -33,24 +33,18 @@ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
-DRACUT_INSTALL_BIN = dracut-install
+all: syncheck dracut-version.sh dracut-install
-all: syncheck dracut-version.sh $(DRACUT_INSTALL_BIN)
+DRACUT_INSTALL_OBJECTS = \
+ install/dracut-install.o \
+ install/hashmap.o\
+ install/log.o \
+ install/util.o
-DRACUT_INSTALL_SOURCE = \
- install/dracut-install.c \
- install/hashmap.c\
- install/log.c \
- install/util.c
+install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
-DRACUT_INSTALL_HEADER = \
- install/hashmap.h \
- install/log.h \
- install/macro.h \
- install/util.h
-
-$(DRACUT_INSTALL_BIN): $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $(DRACUT_INSTALL_BIN) $(DRACUT_INSTALL_SOURCE)
+dracut-install: install/dracut-install
+ ln -fs $< $@
indent:
indent -i8 -nut -br -linux -l120 install/dracut-install.c
@@ -86,7 +80,7 @@ install: doc dracut-version.sh
mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
install -m 0755 dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions.sh
install -m 0755 dracut-version.sh $(DESTDIR)$(pkglibdir)/dracut-version.sh
- ln -s dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions
+ ln -fs dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions
install -m 0755 dracut-logger.sh $(DESTDIR)$(pkglibdir)/dracut-logger.sh
install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
cp -arx modules.d $(DESTDIR)$(pkglibdir)
@@ -94,7 +88,7 @@ install: doc dracut-version.sh
for i in $(man5pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man5/$${i##*/}; done
for i in $(man7pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man7/$${i##*/}; done
for i in $(man8pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man8/$${i##*/}; done
- ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
+ ln -fs dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
if [ -n "$(systemdsystemunitdir)" ]; then \
mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
install -m 0644 dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir); \
@@ -102,8 +96,8 @@ install: doc dracut-version.sh
ln -s ../dracut-shutdown.service \
$(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
fi
- if [ -f $(DRACUT_INSTALL_BIN) ]; then \
- install -m 0755 $(DRACUT_INSTALL_BIN) $(DESTDIR)$(pkglibdir)/dracut-install; \
+ if [ -f install/dracut-install ]; then \
+ install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
fi
dracut-version.sh:
@@ -115,7 +109,7 @@ clean:
$(RM) */*/*~
$(RM) test-*.img
$(RM) dracut-*.rpm dracut-*.tar.bz2
- $(RM) $(DRACUT_INSTALL_BIN)
+ $(RM) $(DRACUT_INSTALL_BIN) install/dracut-install $(DRACUT_INSTALL_OBJECTS)
$(RM) $(manpages) dracut.html
$(MAKE) -C test clean

View File

@ -1,23 +0,0 @@
From 93d7b823b43207323ca7a2947103b668e905eb94 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 14:23:31 +0200
Subject: [PATCH] systemd/dracut-cmdline.sh: output dracut version
---
modules.d/98systemd/dracut-cmdline.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh
index 77ad121..927b99a 100755
--- a/modules.d/98systemd/dracut-cmdline.sh
+++ b/modules.d/98systemd/dracut-cmdline.sh
@@ -12,6 +12,9 @@ if [ -f /dracut-state.sh ]; then
fi
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+[ -f /etc/initrd-release ] && . /etc/initrd-release
+[ -n "$VERSION" ] && info "dracut-$VERSION"
+
source_conf /etc/conf.d
# run scriptlets to parse the command line

View File

@ -1,42 +0,0 @@
From af3b67b21308a7b91bb423ae93af54a6a3e41afd 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:05:21 +0200
Subject: [PATCH] 95rootfs-block: fix left fsck rel. checks
---
modules.d/95rootfs-block/mount-root.sh | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index 670f6e3..ef8ca3c 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

View File

@ -1,78 +0,0 @@
From 5afa95791594383c1f1ef7a757a7482717d6fd5f 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:05:22 +0200
Subject: [PATCH] 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"

View File

@ -1,22 +0,0 @@
From b56e174322f9998b86e6272fdcca009d2a2ab7a4 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:05:23 +0200
Subject: [PATCH] 98usrmount: print mount options
---
modules.d/98usrmount/mount-usr.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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

View File

@ -1,23 +0,0 @@
From 221c342d5068c1fa05e38c44b1044a0aacae4a5c 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:05:24 +0200
Subject: [PATCH] 98usrmount: [ "x$_usr_found" != "x" ] - removed redundant
'x'
---
modules.d/98usrmount/mount-usr.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
index f4d59b3..cca41c3 100755
--- a/modules.d/98usrmount/mount-usr.sh
+++ b/modules.d/98usrmount/mount-usr.sh
@@ -70,7 +70,7 @@ mount_usr()
fi
done < "$NEWROOT/etc/fstab" >> /etc/fstab
- if [ "x$_usr_found" != "x" ]; then
+ if [ "$_usr_found" != "" ]; then
# we have to mount /usr
_fsck_ret=0
if ! getargbool 0 rd.skipfsck; then

View File

@ -1,57 +0,0 @@
From 5767201eaf7d2265066d17cd5b97691cbb191e3b 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:05:25 +0200
Subject: [PATCH] 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 file changed, 38 insertions(+)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 786661e..2eb1224 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -906,3 +906,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"
+}

View File

@ -1,108 +0,0 @@
From 79148c2945e4799796b24cadf1769e413841f768 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:05:26 +0200
Subject: [PATCH] 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 ef8ca3c..de9753a 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

View File

@ -1,187 +0,0 @@
From 1f4aaaeb5ea6f083a0130a463bfd60ff91b24ac9 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:05:27 +0200
Subject: [PATCH] modules.d/99base/mount-hook.sh is not used - removed
---
modules.d/99base/mount-hook.sh | 171 -----------------------------------------
1 file changed, 171 deletions(-)
delete mode 100755 modules.d/99base/mount-hook.sh
diff --git a/modules.d/99base/mount-hook.sh b/modules.d/99base/mount-hook.sh
deleted file mode 100755
index e32ecae..0000000
--- a/modules.d/99base/mount-hook.sh
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-PATH=/usr/sbin:/usr/bin:/sbin:/bin
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-type det_fs >/dev/null 2>&1 || [ -f /lib/fs-lib.sh ] && . /lib/fs-lib.sh
-# If fs-lib is not included use following det_fs replacement.
-type det_fs >/dev/null 2>&1 || det_fs() { echo "${2:-auto}"; }
-
-mountpoint="$1"
-ismounted "$mountpoint" && exit 0
-
-if [ -f "$NEWROOT"/fastboot ] || getargbool 0 fastboot ; then
- fastboot=yes
-fi
-
-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
- rw|ro);;
- defaults);;
- *)
- v="$v,${1}";;
- esac
- shift
- done
- rootopts=${v#,}
- echo $rootopts
-}
-
-mount_root() {
- local _ret
- # sanity - determine/fix fstype
- rootfs=$(det_fs "${root#block:}" "$fstype")
- mount -t ${rootfs} -o "$rflags",ro "${root#block:}" "$NEWROOT"
-
- READONLY=
- fsckoptions=
- if [ -f "$NEWROOT"/etc/sysconfig/readonly-root ]; then
- . "$NEWROOT"/etc/sysconfig/readonly-root
- fi
-
- if getargbool 0 "readonlyroot=" -y readonlyroot; then
- READONLY=yes
- fi
-
- if getarg noreadonlyroot ; then
- READONLY=no
- fi
-
- if [ -f "$NEWROOT"/fastboot ] || getargbool 0 fastboot ; then
- fastboot=yes
- fi
-
- 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
- [ -f "$NEWROOT"/etc/sysconfig/autofsck ] && . "$NEWROOT"/etc/sysconfig/autofsck
- if [ "$AUTOFSCK_DEF_CHECK" = "yes" ]; then
- AUTOFSCK_OPT="$AUTOFSCK_OPT -f"
- fi
- if [ -n "$AUTOFSCK_SINGLEUSER" ]; then
- warn "*** Warning -- the system did not shut down cleanly. "
- warn "*** Dropping you to a shell; the system will continue"
- warn "*** when you leave the shell."
- emergency_shell
- fi
- fsckoptions="$AUTOFSCK_OPT $fsckoptions"
- fi
-
- rootopts=
- if getargbool 1 rd.fstab -d -n rd_NO_FSTAB \
- && ! getarg rootflags \
- && [ -f "$NEWROOT/etc/fstab" ] \
- && ! [ -L "$NEWROOT/etc/fstab" ]; then
- # if $NEWROOT/etc/fstab contains special mount options for
- # the root filesystem,
- # remount it with the proper options
- rootopts="defaults"
- while read dev mp fs opts rest; do
- # skip comments
- [ "${dev%%#*}" != "$dev" ] && continue
-
- if [ "$mp" = "/" ]; then
- # sanity - determine/fix fstype
- rootfs=$(det_fs "${root#block:}" "$fs")
- rootopts=$opts
- 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}"
-
- umount "$NEWROOT"
-
- # backslashes are treated as escape character in fstab
- # esc_root=$(echo ${root#block:} | sed 's,\\,\\\\,g')
- # printf '%s %s %s %s 1 1 \n' "$esc_root" "$NEWROOT" "$rootfs" "$rflags" >/etc/fstab
-
- if [ -z "$fastboot" -a "$READONLY" != "yes" ] && ! strstr "${rflags},${rootopts}" _netdev; then
- fsck_single "${root#block:}" "$rootfs" "$rflags" "$fsckoptions"
- _ret=$?
- [ $_ret -ne 255 ] && echo $_ret >/run/initramfs/root-fsck
- fi
-
- info "Remounting ${root#block:} with -o ${rflags}"
- mount -t "$rootfs" -o "$rflags" "${root#block:}" "$NEWROOT" 2>&1 | vinfo
-
- [ -f "$NEWROOT"/forcefsck ] && rm -f "$NEWROOT"/forcefsck 2>/dev/null
- [ -f "$NEWROOT"/.autofsck ] && rm -f "$NEWROOT"/.autofsck 2>/dev/null
-}
-
-sub_mount_ready() {
- local _dev _mp _rest
- while read _dev _mp _rest; do
- [ "$1" = "$_mp" ] && continue
-
- if [ "${1##$_mp}" != "$1" ]; then
- ismounted "$_mp" || return 1
- fi
- done < "/etc/fstab"
- return 0
-}
-
-if [ "$mountpoint" = "$NEWROOT" ]; then
- mount_root
- exit $?
-fi
-
-while read _dev _mp _fs _opts _rest; do
- if [ "$_mp" = "$mountpoint" ]; then
- _found="1"
- break
- fi
-done < "/etc/fstab"
-
-[ "$_found" = "1" ] || exit 1
-
-sub_mount_ready "$mountpoint" || exit 1
-
-if [ -z "$fastboot" ] && ! strstr "${_opts}" _netdev; then
- # fsck?
- fsck_single "$_dev" "$_fs" "$_opts"
- _ret=$?
- if [ "${mountpoint##$NEWROOT}" != "$mountpoint" ]; then
- echo $_ret >/run/initramfs/${mountpoint##$NEWROOT}-fsck
- fi
-fi
-
-info "Mounting $_dev on $mountpoint"
-mount "$mountpoint" 2>&1 | vinfo
-
-ismounted "$mountpoint" || exit 1
-

View File

@ -1,58 +0,0 @@
From 6a5170a15f67a72bcec427a252d23ead4f3ae89a Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
Date: Thu, 26 Jul 2012 15:16:22 +0200
Subject: [PATCH] PATCH: add support for xfs / reiserfs separate journal
device
xfs and reiserfs (among other) supports storing journal data to a
separate device. Unfortunately, XFS requires this information to boot
properly (reiserfs can embed the information in its metadata but you
might want to override it).
Attached patch ensure host information are stored in initramfs and also
allows to give data over kernel commandline.
--
Frederic Crozat <fcrozat@suse.com>
SUSE
>From a7c592b9bb7de0d7874ae51d02944a7eee2ec75b Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
Date: Tue, 24 Jul 2012 18:52:17 +0200
Subject: [PATCH] Add support for separate journal on reiserfs and xfs
---
modules.d/95rootfs-block/mount-root.sh | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh
index de9753a..a6cba12 100755
--- a/modules.d/95rootfs-block/mount-root.sh
+++ b/modules.d/95rootfs-block/mount-root.sh
@@ -7,9 +7,26 @@ type det_fs >/dev/null 2>&1 || . /lib/fs-lib.sh
mount_root() {
local _ret
- local _rflags_ro="$rflags,ro"
+ local _rflags_ro
# sanity - determine/fix fstype
rootfs=$(det_fs "${root#block:}" "$fstype")
+
+ journaldev=$(getarg root.journaldev)
+ if [ -n $journaldev ]; then
+ case "$rootfs" in
+ xfs)
+ rflags="${rflags:+${rflags},}logdev=$journaldev"
+ ;;
+ reiserfs)
+ fsckoptions="-j $journaldev $fsckoptions"
+ rflags="${rflags:+${rflags},}jdev=$journaldev"
+ ;;
+ *);;
+ esac
+ fi
+
+ _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"
fsck_ask_err

View File

@ -1,47 +0,0 @@
From 81672479afb4806568f1dea7fac9b8d7271c71f6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:00:07 +0200
Subject: [PATCH] dracut-functions.sh: add find_mp_fstype()
---
dracut-functions.sh | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 14c100d..0332351 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -357,6 +357,33 @@ find_dev_fstype() {
return 1
}
+# find_dev_fstype <device>
+# Echo the filesystem type for a given device.
+# /proc/self/mountinfo is taken as the primary source of information
+# and /etc/fstab is used as a fallback.
+# No newline is appended!
+# Example:
+# $ find_dev_fstype /dev/sda2;echo
+# ext4
+find_mp_fstype() {
+ local _x _mpt _majmin _dev _fs _maj _min
+ while read _x _x _majmin _x _mpt _x _x _fs _dev _x; do
+ [[ $_mpt = $1 ]] || continue
+ echo -n $_fs;
+ return 0;
+ done < /proc/self/mountinfo
+
+ # fall back to /etc/fstab
+ while read _dev _mpt _fs _x; do
+ [[ $_mpt = $1 ]] || continue
+ echo -n $_fs;
+ return 0;
+ done < /etc/fstab
+
+ return 1
+}
+
+
# finds the major:minor of the block device backing the root filesystem.
find_root_block_device() { find_block_device /; }

View File

@ -1,68 +0,0 @@
From 3cc4c8ba9b43ff646701d4236c1a70860c16d02c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:00:47 +0200
Subject: [PATCH] rootfs-block/module-setup.sh: add support for xfs / reiserfs
separate journal device
xfs and reiserfs (among other) supports storing journal data to a
separate device. Unfortunately, XFS requires this information to boot
properly (reiserfs can embed the information in its metadata but you
might want to override it).
Frederic Crozat <fcrozat@suse.com>
---
modules.d/95rootfs-block/module-setup.sh | 41 ++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index 243a174..4d87fab 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -2,6 +2,47 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+search_option() {
+ rootopts=$1
+ option=$2
+ local OLDIFS="$IFS"
+ IFS=,
+ set -- $rootopts
+ IFS="$OLDIFS"
+ while [ $# -gt 0 ]; do
+ case $1 in
+ $option=*)
+ echo ${1#${option}=}
+ break
+ esac
+ shift
+ done
+}
+
+check() {
+ rootopts="defaults"
+ while read dev mp fs opts dump fsck; do
+ # skip comments
+ [ "${dev%%#*}" != "$dev" ] && continue
+
+ if [ "$mp" = "/" ]; then
+ # sanity - determine/fix fstype
+ rootfs=$(find_mp_fstype /)
+ rootfs=${rootfs:-$fs}
+ rootopts=$opts
+ break
+ fi
+ done < "$NEWROOT/etc/fstab"
+
+ [ "$rootfs" = "reiserfs" ] && journaldev=$(search_option $rootopts "jdev")
+ [ "$rootfs" = "xfs" ] && journaldev=$(search_option $rootopts "logdev")
+ if [ -n "$journaldev" ]; then
+ echo "root.journaldev=$journaldev" >> "${initdir}/etc/cmdline.d/95root-jurnaldev.conf"
+ fi
+ return 0
+
+}
+
depends() {
echo fs-lib
}

View File

@ -1,31 +0,0 @@
From ec5e5ae27a986f6bc3d273ba037533b72ab069e9 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:05:24 +0200
Subject: [PATCH] dracut-functions.sh: corrected usage comment of
find_mp_fstype()
---
dracut-functions.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 0332351..df450ef 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -357,13 +357,13 @@ find_dev_fstype() {
return 1
}
-# find_dev_fstype <device>
-# Echo the filesystem type for a given device.
+# find_mp_fstype <mountpoint>
+# Echo the filesystem type for a given mountpoint.
# /proc/self/mountinfo is taken as the primary source of information
# and /etc/fstab is used as a fallback.
# No newline is appended!
# Example:
-# $ find_dev_fstype /dev/sda2;echo
+# $ find_mp_fstype /;echo
# ext4
find_mp_fstype() {
local _x _mpt _majmin _dev _fs _maj _min

View File

@ -1,100 +0,0 @@
From ff3953efe1aec2229273cd59e7d35a540de0e476 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] 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 deletion(-)
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 d8b3354..eee829e 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

View File

@ -1,82 +0,0 @@
From 8aa9926839dc8ee861a44d21ae71fb33eee04ed1 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:22:14 +0200
Subject: [PATCH] mv rootfs-block/module-setup.sh:search_option() in
dracut-functions.sh
new function fs_get_option()
---
dracut-functions.sh | 20 ++++++++++++++++++++
modules.d/95rootfs-block/module-setup.sh | 21 ++-------------------
2 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index df450ef..fb28bdc 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -454,6 +454,26 @@ check_vol_slaves() {
return 1
}
+# fs_get_option <filesystem options> <search for option>
+# search for a specific option in a bunch of filesystem options
+# and return the value
+fs_get_option() {
+ local _fsopts=$1
+ local _option=$2
+ local OLDIFS="$IFS"
+ IFS=,
+ set -- $_fsopts
+ IFS="$OLDIFS"
+ while [ $# -gt 0 ]; do
+ case $1 in
+ $_option=*)
+ echo ${1#${_option}=}
+ break
+ esac
+ shift
+ done
+}
+
if [[ $DRACUT_INSTALL ]]; then
[[ $DRACUT_RESOLVE_LAZY ]] || export DRACUT_RESOLVE_DEPS=1
inst_dir() {
diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
index 4d87fab..8254289 100755
--- a/modules.d/95rootfs-block/module-setup.sh
+++ b/modules.d/95rootfs-block/module-setup.sh
@@ -2,23 +2,6 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-search_option() {
- rootopts=$1
- option=$2
- local OLDIFS="$IFS"
- IFS=,
- set -- $rootopts
- IFS="$OLDIFS"
- while [ $# -gt 0 ]; do
- case $1 in
- $option=*)
- echo ${1#${option}=}
- break
- esac
- shift
- done
-}
-
check() {
rootopts="defaults"
while read dev mp fs opts dump fsck; do
@@ -34,8 +17,8 @@ check() {
fi
done < "$NEWROOT/etc/fstab"
- [ "$rootfs" = "reiserfs" ] && journaldev=$(search_option $rootopts "jdev")
- [ "$rootfs" = "xfs" ] && journaldev=$(search_option $rootopts "logdev")
+ [ "$rootfs" = "reiserfs" ] && journaldev=$(fs_get_option $rootopts "jdev")
+ [ "$rootfs" = "xfs" ] && journaldev=$(fs_get_option $rootopts "logdev")
if [ -n "$journaldev" ]; then
echo "root.journaldev=$journaldev" >> "${initdir}/etc/cmdline.d/95root-jurnaldev.conf"
fi

View File

@ -1,19 +0,0 @@
From 25706eafacfa284e53ebb3d96b195697fb81041d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:26:31 +0200
Subject: [PATCH] README.testsuite updated with requirements for
TEST-04-SYSTEMD
---
README.testsuite | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.testsuite b/README.testsuite
index 62fe503..cbc2ab7 100644
--- a/README.testsuite
+++ b/README.testsuite
@@ -9,3 +9,4 @@ netbsd-iscsi
nbd
dhcp
iscsi-initiator-utils
+TEST-04-FULL-SYSTEMD: systemd >= 187

View File

@ -1,21 +0,0 @@
From 96c6fa920255a3bf4e7cd7c974aa13814d74beb6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 17:35:25 +0200
Subject: [PATCH] base/module-setup.sh: removed mount-hook
---
modules.d/99base/module-setup.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
index dde1285..097607a 100755
--- a/modules.d/99base/module-setup.sh
+++ b/modules.d/99base/module-setup.sh
@@ -39,7 +39,6 @@ install() {
dracut_install switch_root || dfatal "Failed to install switch_root"
inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
- inst_script "$moddir/mount-hook.sh" "/usr/bin/mount-hook"
inst_hook cmdline 10 "$moddir/parse-root-opts.sh"
mkdir -p "${initdir}/var"
[ -x /lib/systemd/systemd-timestamp ] && inst /lib/systemd/systemd-timestamp

View File

@ -1,24 +0,0 @@
From aa505d588f92c41e4060b75e8fde729a01fe9c6f 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] 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 file changed, 1 insertion(+), 1 deletion(-)
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=)"

View File

@ -1,24 +0,0 @@
From 6ca264a1511eb181fb4ca58e25314b6930c2c2a7 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 18:12:05 +0200
Subject: [PATCH] nfs/module-setup.sh: check for "rpc.rpc" before running
chown
---
modules.d/95nfs/module-setup.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index 0c07725..ecef635 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -71,6 +71,8 @@ install() {
# rpc user needs to be able to write to this directory to save the warmstart
# file
chmod 770 "$initdir/var/lib/rpcbind"
- chown rpc.rpc "$initdir/var/lib/rpcbind"
+ egrep -q '^rpc:' /etc/passwd \
+ && egrep -q '^rpc:' /etc/group \
+ && chown rpc.rpc "$initdir/var/lib/rpcbind"
}

View File

@ -1,227 +0,0 @@
From d580636e97bffdd17124961e2f9db0aa2a645060 Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@suse.com>
Date: Thu, 26 Jul 2012 09:17:18 -0500
Subject: [PATCH] Added cifs
---
dracut.cmdline.7.asc | 15 +++++++++++
modules.d/95cifs/cifs-lib.sh | 36 ++++++++++++++++++++++++++
modules.d/95cifs/cifsroot.sh | 26 +++++++++++++++++++
modules.d/95cifs/module-setup.sh | 46 +++++++++++++++++++++++++++++++++
modules.d/95cifs/parse-cifsroot.sh | 52 ++++++++++++++++++++++++++++++++++++++
5 files changed, 175 insertions(+)
create mode 100755 modules.d/95cifs/cifs-lib.sh
create mode 100755 modules.d/95cifs/cifsroot.sh
create mode 100755 modules.d/95cifs/module-setup.sh
create mode 100755 modules.d/95cifs/parse-cifsroot.sh
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 8f642f3..0b1b8a2 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -398,6 +398,21 @@ NFS
**rd.nfs.domain=**_<NFSv4 domain name>_::
Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_.
+CIFS
+~~~
+**root=**cifs://[_<username>_[:_<password>_]@]_<server-ip>_:_<root-dir>_::
+ mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
+ dhcp next_server. if server-ip is an IPv6 address it has to be put in
+ brackets, e.g. [2001:DB8::1]. If a username or password are not specified
+as part of the root, then they must be passed on the command line through
+cifsuser/cifspass.
+
+**cifsuser=_<username>_::
+ Set the cifs username, if not specified as part of the root.
+
+**cifspass=_<password>_::
+ Set the cifs password, if not specified as part of the root.
+
iSCSI
~~~~~
**root=**iscsi:[_<username>_:_<password>_[:_<reverse>_:_<password>_]@][_<servername>_]:[_<protocol>_]:[_<port>_][:[_<iscsi_iface_name>_]:[_<netdev_name>_]]:[_<LUN>_]:_<targetname>_::
diff --git a/modules.d/95cifs/cifs-lib.sh b/modules.d/95cifs/cifs-lib.sh
new file mode 100755
index 0000000..3cbe6dc
--- /dev/null
+++ b/modules.d/95cifs/cifs-lib.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# cifs_to_var CIFSROOT
+# use CIFSROOT to set $server, $path, and $options.
+# CIFSROOT is something like: cifs://[<username>[:<password>]]@<host>/<path>
+# NETIF is used to get information from DHCP options, if needed.
+
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+
+cifs_to_var() {
+ local cifsuser; local cifspass
+ # Check required arguments
+ server=${1##cifs://}
+ cifsuser=${server%@*}
+ cifspass=${cifsuser#*:}
+ if [ "$cifspass" != "$cifsuser" ]; then
+ cifsuser=${cifsuser%:*}
+ else
+ cifspass=$(getarg cifspass)
+ fi
+ if [ "$cifsuser" != "$server" ]; then
+ server="${server#*@}"
+ else
+ cifsuser=$(getarg cifsuser)
+ fi
+
+ path=${server#*/}
+ server=${server%/*}
+
+ if [ ! "$cifsuser" -o ! "$cifspass" ]; then
+ die "For CIFS support you need to specify a cifsuser and cifspass either in the cifsuser and cifspass commandline parameters or in the root= CIFS URL."
+ fi
+ options="user=$cifsuser,pass=$cifspass"
+}
diff --git a/modules.d/95cifs/cifsroot.sh b/modules.d/95cifs/cifsroot.sh
new file mode 100755
index 0000000..7956d6f
--- /dev/null
+++ b/modules.d/95cifs/cifsroot.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+. /lib/cifs-lib.sh
+
+[ "$#" = 3 ] || exit 1
+
+# root is in the form root=cifs://user:pass@[server]/[folder] either from
+# cmdline or dhcp root-path
+netif="$1"
+root="$2"
+NEWROOT="$3"
+
+cifs_to_var $root
+echo server: $server
+echo path: $path
+echo options: $options
+
+mount.cifs //$server/$path $NEWROOT -o $options && { [ -e /dev/root ] || >/dev/root ; }
+
+# inject new exit_if_exists
+echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/cifs.sh
+# force udevsettle to break
+> $hookdir/initqueue/work
diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh
new file mode 100755
index 0000000..2f2e78d
--- /dev/null
+++ b/modules.d/95cifs/module-setup.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+check() {
+ # If our prerequisites are not met, fail anyways.
+ type -P mount.cifs >/dev/null || return 1
+
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for fs in ${host_fs_types[@]}; do
+ strstr "$fs" "\|cifs" && return 0
+ done
+ return 255
+ }
+
+ return 0
+}
+
+depends() {
+ # We depend on network modules being loaded
+ echo network
+}
+
+installkernel() {
+ instmods cifs ipv6
+}
+
+install() {
+ local _i
+ local _nsslibs
+ dracut_install -o mount.cifs
+ dracut_install /etc/services /etc/nsswitch.conf /etc/protocols
+
+ inst_libdir_file 'libcap-ng.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
+
+ inst_hook cmdline 90 "$moddir/parse-cifsroot.sh"
+ inst "$moddir/cifsroot.sh" "/sbin/cifsroot"
+ inst "$moddir/cifs-lib.sh" "/lib/cifs-lib.sh"
+}
diff --git a/modules.d/95cifs/parse-cifsroot.sh b/modules.d/95cifs/parse-cifsroot.sh
new file mode 100755
index 0000000..d5adb98
--- /dev/null
+++ b/modules.d/95cifs/parse-cifsroot.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+#
+# root=cifs://[user:pass@]<server>/<folder>
+#
+# This syntax can come from DHCP root-path as well.
+#
+# If a username or password are not specified as part of the root, then they
+# will be pulled from cifsuser and cifspass on the kernel command line,
+# respectively.
+#
+
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+. /lib/cifs-lib.sh
+
+#Don't continue if root is ok
+[ -n "$rootok" ] && return
+
+# This script is sourced, so root should be set. But let's be paranoid
+[ -z "$root" ] && root=$(getarg root=)
+[ -z "$netroot" ] && netroot=$(getarg netroot=)
+
+# netroot= cmdline argument must be ignored, but must be used if
+# we're inside netroot to parse dhcp root-path
+if [ -n "$netroot" ] ; then
+ if [ "$netroot" = "$(getarg netroot=)" ] ; then
+ warn "Ignoring netroot argument for CIFS"
+ netroot=$root
+ fi
+else
+ netroot=$root;
+fi
+
+# Continue if cifs
+case "${netroot%%:*}" in
+ cifs);;
+ *) unset netroot; return;;
+esac
+
+# Check required arguments
+cifs_to_var $netroot
+
+# If we don't have a server, we need dhcp
+if [ -z "$server" ] ; then
+ DHCPORSERVER="1"
+fi;
+
+# Done, all good!
+rootok=1
+
+echo '[ -e $NEWROOT/proc ]' > $hookdir/initqueue/finished/cifsroot.sh

View File

@ -1,51 +0,0 @@
From c9a81c1f911792f68ce1921f192e7e930f312535 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 18:59:36 +0200
Subject: [PATCH] plymouth: do not start plymouth via dracut for systemd in
the initramfs
---
modules.d/50plymouth/module-setup.sh | 4 ----
modules.d/50plymouth/plymouth-newroot.sh | 2 +-
modules.d/50plymouth/plymouth-pretrigger.sh | 2 +-
3 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
index 14d9e59..10aa0da 100755
--- a/modules.d/50plymouth/module-setup.sh
+++ b/modules.d/50plymouth/module-setup.sh
@@ -76,9 +76,5 @@ install() {
inst_hook pre-trigger 10 "$moddir"/plymouth-pretrigger.sh
inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
dracut_install readlink
-
- if [[ -x $systemdutildir/systemd ]]; then
- dracut_install -o $systemdsystemunitdir/plymouth-quit-wait.service
- fi
}
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index e03e98d..ffbabf1 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 ]; then
+if [ -x /bin/plymouth ! -x /lib/systemd/systemd ]; then
/bin/plymouth --newroot=$NEWROOT
fi
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index ddb8ddb..c52cf83 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 ]; then
+if [ -x /bin/plymouthd -a ! -x /lib/systemd/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

View File

@ -1,21 +0,0 @@
From 187a8e08d57cb33d51c31e2270374b99e2ad3133 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] gentoo.conf: enable ro_mnt
---
dracut.conf.d/gentoo.conf.example | 1 +
1 file changed, 1 insertion(+)
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

View File

@ -1,25 +0,0 @@
From 65d1a8a4aee600f7d5016382dd351bf9b835327f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 19:12:40 +0200
Subject: [PATCH] dracut-functions.sh:inst_rule_programs() fixed
IMPORT{program}
---
dracut-functions.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index fb28bdc..49051fa 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -781,8 +781,8 @@ inst_rule_programs() {
dracut_install "$_bin"
done
fi
- if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then
- for _prog in $(grep -E 'IMPORT==?"[^ "]+' "$1" | sed -r 's/.*IMPORT==?"([^ "]+).*/\1/'); do
+ if grep -qE 'IMPORT\{program\}==?"[^ "]+' "$1"; then
+ for _prog in $(grep -E 'IMPORT\{program\}==?"[^ "]+' "$1" | sed -r 's/.*IMPORT\{program\}==?"([^ "]+).*/\1/'); do
if [ -x ${udevdir}/$_prog ]; then
_bin=${udevdir}/$_prog
else

View File

@ -1,40 +0,0 @@
From 78021eace175745792f04345efe2d42218f0bb59 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 19:21:06 +0200
Subject: [PATCH] install/dracut-install.c: convert destrootdir to realpath
otherwise we get strange errors if it ends with a slash and does not
exist.
---
install/dracut-install.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 9351472..e79065d 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -517,6 +517,7 @@ Install SOURCE to DEST in DESTROOTDIR with all needed dependencies.\n\
-h --help Show this help\n\
\n\
Example:\n\
+# mkdir -p /var/tmp/test-root\n\
# %s -D /var/tmp/test-root --ldd -a sh tr\n\
# tree /var/tmp/test-root\n\
/var/tmp/test-root\n\
@@ -742,8 +743,16 @@ int main(int argc, char **argv)
if (strcmp(destrootdir, "/") == 0) {
log_error("Environment DESTROOTDIR or argument -D is set to '/'!");
usage(EXIT_FAILURE);
+ }
+ i = destrootdir;
+ destrootdir = realpath(destrootdir, NULL);
+ if (!destrootdir) {
+ log_error("Environment DESTROOTDIR or argument -D is set to '%s': %m", i);
+ r = EXIT_FAILURE;
+ goto finish;
}
+ free(i);
items = hashmap_new(string_hash_func, string_compare_func);
items_failed = hashmap_new(string_hash_func, string_compare_func);

View File

@ -1,40 +0,0 @@
From cc2180876488b6e2b49c36317a593cb10e9124a7 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 19:35:12 +0200
Subject: [PATCH] dracut-functions.sh:inst_rule_programs() fix error messages
---
dracut-functions.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 49051fa..9242204 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -757,7 +757,7 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
continue;
}
fi
@@ -772,7 +772,7 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
continue;
}
fi
@@ -787,7 +787,7 @@ inst_rule_programs() {
_bin=${udevdir}/$_prog
else
_bin=$(find_binary "$_prog") || {
- dinfo "Skipping program $_prog using in udev rule $(${1##*/}) as it cannot be found"
+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
continue;
}
fi

View File

@ -1,21 +0,0 @@
From 72ee74b9be0935f9421a4987e9de785b74e71a50 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 06:26:26 +0200
Subject: [PATCH] dracut.spec: add cifs module
---
dracut.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/dracut.spec b/dracut.spec
index d960506..f225bb6 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -328,6 +328,7 @@ rm -rf $RPM_BUILD_ROOT
%{dracutlibdir}/modules.d/95iscsi
%{dracutlibdir}/modules.d/90livenet
%{dracutlibdir}/modules.d/90qemu-net
+%{dracutlibdir}/modules.d/95cifs
%{dracutlibdir}/modules.d/95nbd
%{dracutlibdir}/modules.d/95nfs
%{dracutlibdir}/modules.d/95ssh-client

View File

@ -1,38 +0,0 @@
From c9baff669d659998edb5d8269ef8e004aaad1d4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Fri, 27 Jul 2012 09:34:32 +0200
Subject: [PATCH] Makefile: add dependencies for dracut-install (generated
with gcc -MM)
---
Makefile | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 28381df..cd15009 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,14 @@ DRACUT_INSTALL_OBJECTS = \
install/log.o \
install/util.o
+# deps generated with gcc -MM
+install/dracut-install.o: install/dracut-install.c install/log.h install/macro.h \
+ install/hashmap.h install/util.h
+install/hashmap.o: install/hashmap.c install/util.h install/macro.h install/log.h \
+ install/hashmap.h
+install/log.o: install/log.c install/log.h install/macro.h install/util.h
+install/util.o: install/util.c install/util.h install/macro.h install/log.h
+
install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
dracut-install: install/dracut-install
@@ -109,7 +117,7 @@ clean:
$(RM) */*/*~
$(RM) test-*.img
$(RM) dracut-*.rpm dracut-*.tar.bz2
- $(RM) $(DRACUT_INSTALL_BIN) install/dracut-install $(DRACUT_INSTALL_OBJECTS)
+ $(RM) dracut-install install/dracut-install $(DRACUT_INSTALL_OBJECTS)
$(RM) $(manpages) dracut.html
$(MAKE) -C test clean

View File

@ -1,18 +0,0 @@
From fc6b272f4126164c93abafe0c8198d1b16eace3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Fri, 27 Jul 2012 09:34:17 +0200
Subject: [PATCH] gitignore install/dracut-install
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
index 3693783..44ede87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ test*.img
/.buildpath
/.project
/dracut-version.sh
+/install/dracut-install

View File

@ -1,22 +0,0 @@
From 82b1739dcee8853c07675d3e79b2f4623c60a364 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 11:54:24 +0200
Subject: [PATCH] cifs/parse-cifsroot.sh: do not unset netroot, we need it
---
modules.d/95cifs/parse-cifsroot.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/95cifs/parse-cifsroot.sh b/modules.d/95cifs/parse-cifsroot.sh
index d5adb98..de7637f 100755
--- a/modules.d/95cifs/parse-cifsroot.sh
+++ b/modules.d/95cifs/parse-cifsroot.sh
@@ -35,7 +35,7 @@ fi
# Continue if cifs
case "${netroot%%:*}" in
cifs);;
- *) unset netroot; return;;
+ *) return;;
esac
# Check required arguments

View File

@ -1,148 +0,0 @@
From 24a38bc1cbe461c344ce61c7e10b6d51d5689c93 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 11:55:31 +0200
Subject: [PATCH] fixed install locations for udev rules and change to
IMPORT{builtin}
---
modules.d/90btrfs/module-setup.sh | 3 ++-
modules.d/90dmraid/module-setup.sh | 3 ++-
modules.d/90mdraid/module-setup.sh | 6 ++++--
modules.d/90multipath/module-setup.sh | 5 +++--
modules.d/95udev-rules/59-persistent-storage.rules | 8 ++++----
modules.d/95udev-rules/61-persistent-storage.rules | 2 +-
modules.d/99base/module-setup.sh | 4 +++-
7 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 22f3f1c..d2e559f 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -33,6 +33,7 @@ install() {
inst_rules "$moddir/80-btrfs.rules"
inst_script "$moddir/btrfs_finished.sh" /sbin/btrfs_finished
inst_script "$moddir/btrfs_timeout.sh" /sbin/btrfs_timeout
- dracut_install btrfs btrfsck
+ dracut_install btrfsck
+ inst $(command -v btrfs) /sbin/btrfs
}
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
index 10c732c..eb949dc 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -52,7 +52,8 @@ depends() {
install() {
local _i
dracut_install dmraid
- dracut_install -o partx kpartx
+ dracut_install -o kpartx
+ inst $(command -v partx) /sbin/partx
inst "$moddir/dmraid.sh" /sbin/dmraid_scan
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 7b3c759..8522756 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -43,8 +43,10 @@ installkernel() {
}
install() {
- dracut_install mdadm cat
- dracut_install -o mdmon partx
+ dracut_install cat
+ dracut_install -o mdmon
+ inst $(command -v partx) /sbin/partx
+ inst $(command -v mdadm) /sbin/mdadm
# XXX: mdmon really needs to run as non-root?
# If so, write only the user it needs in the initrd's /etc/passwd (and maybe /etc/group)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index f9c1f81..31d1108 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -73,7 +73,6 @@ install() {
dracut_install -o \
dmsetup \
kpartx \
- partx \
mpath_wait \
multipath \
multipathd \
@@ -83,10 +82,12 @@ install() {
/etc/multipath.conf \
/etc/multipath/*
+ inst $(command -v partx) /sbin/partx
+
inst_libdir_file "libmultipath*" "multipath/*"
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook cleanup 02 "$moddir/multipathd-stop.sh"
- inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
+ inst_rules 40-multipath.rules 62-multipath.rules 65-multipath.rules 66-kpartx.rules
}
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules
index 2b83e72..b7d069b 100644
--- a/modules.d/95udev-rules/59-persistent-storage.rules
+++ b/modules.d/95udev-rules/59-persistent-storage.rules
@@ -1,8 +1,8 @@
SUBSYSTEM!="block", GOTO="ps_end"
ACTION!="add|change", GOTO="ps_end"
-KERNEL=="cciss[0-9]*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
-KERNEL=="nbd[0-9]*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
+KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid"
+KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid"
KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end"
@@ -19,7 +19,7 @@ ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
LABEL="md_ignore_state"
IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
-IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
+IMPORT{builtin}="blkid"
OPTIONS+="link_priority=100"
OPTIONS+="watch"
LABEL="md_end"
@@ -32,7 +32,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{program}="/sbin/blkid -o udev -p $tempnode"
+IMPORT{builtin}="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 9cfdb0b..1136849 100644
--- a/modules.d/95udev-rules/61-persistent-storage.rules
+++ b/modules.d/95udev-rules/61-persistent-storage.rules
@@ -10,7 +10,7 @@ GOTO="pss_end"
LABEL="do_pss"
# by-path (parent device path)
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{program}="path_id %p"
+ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="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/99base/module-setup.sh b/modules.d/99base/module-setup.sh
index 097607a..22ab277 100755
--- a/modules.d/99base/module-setup.sh
+++ b/modules.d/99base/module-setup.sh
@@ -13,8 +13,10 @@ depends() {
install() {
local _d
- dracut_install mount mknod mkdir modprobe pidof sleep chroot \
+ dracut_install mount mknod mkdir pidof sleep chroot \
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
+ inst $(command -v modprobe) /sbin/modprobe
+
dracut_install -o less
if [ ! -e "${initdir}/bin/sh" ]; then
dracut_install bash

View File

@ -1,36 +0,0 @@
From 2d674a93364d432fbf62988e2fb3e3eda9a3be8f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 12:12:09 +0200
Subject: [PATCH] README.testsuite: add instructions on how to run the
testsuite
---
README.testsuite | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/README.testsuite b/README.testsuite
index cbc2ab7..e463c41 100644
--- a/README.testsuite
+++ b/README.testsuite
@@ -10,3 +10,21 @@ nbd
dhcp
iscsi-initiator-utils
TEST-04-FULL-SYSTEMD: systemd >= 187
+
+How to run the testsuite:
+
+$ sudo make clean check
+
+in verbose mode:
+$ sudo make V=1 clean check
+
+only specific test:
+$ sudo make TESTS="01 20 40" clean check
+only runs the 01, 20 and 40 tests.
+
+debug a specific test case:
+$ cd TEST-01-BASIC
+$ sudo make clean setup run
+... change some kernel parameters ...
+$ sudo make run
+to run the test without doing the setup

View File

@ -1,22 +0,0 @@
From f7f37923900507c5149ef86f4d459089d7d5f5e0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 12:18:08 +0200
Subject: [PATCH] iscsi/iscsiroot.sh: force link initiatorname
---
modules.d/95iscsi/iscsiroot.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 92414ee..1a8cc8d 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -128,7 +128,7 @@ handle_netroot()
fi
echo "InitiatorName='$iscsi_initiator'" > /run/initiatorname.iscsi
- ln -s /run/initiatorname.iscsi /dev/.initiatorname.iscsi
+ ln -fs /run/initiatorname.iscsi /dev/.initiatorname.iscsi
# FIXME $iscsi_protocol??

View File

@ -1,49 +0,0 @@
From a7473ef379b03c79f40965fb4e332690bd346604 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 12:40:55 +0200
Subject: [PATCH] cifs/parse-cifsroot.sh: fixed more root/netroot parsing
---
modules.d/95cifs/parse-cifsroot.sh | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/modules.d/95cifs/parse-cifsroot.sh b/modules.d/95cifs/parse-cifsroot.sh
index de7637f..f376b16 100755
--- a/modules.d/95cifs/parse-cifsroot.sh
+++ b/modules.d/95cifs/parse-cifsroot.sh
@@ -21,22 +21,22 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
[ -z "$root" ] && root=$(getarg root=)
[ -z "$netroot" ] && netroot=$(getarg netroot=)
-# netroot= cmdline argument must be ignored, but must be used if
-# we're inside netroot to parse dhcp root-path
-if [ -n "$netroot" ] ; then
- if [ "$netroot" = "$(getarg netroot=)" ] ; then
- warn "Ignoring netroot argument for CIFS"
- netroot=$root
+# Root takes precedence over netroot
+if [ "${root%%:*}" = "cifs" ] ; then
+
+ # Don't continue if root is ok
+ [ -n "$rootok" ] && return
+
+ if [ -n "$netroot" ] ; then
+ warn "root takes precedence over netroot. Ignoring netroot"
+
fi
-else
- netroot=$root;
+ netroot=$root
+ unset root
fi
-# Continue if cifs
-case "${netroot%%:*}" in
- cifs);;
- *) return;;
-esac
+# If it's not cifs we don't continue
+[ "${netroot%%:*}" = "cifs" ] || return
# Check required arguments
cifs_to_var $netroot

View File

@ -1,27 +0,0 @@
From 852105dc44d4bdfda8d988146f08f4a60bce979c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 14:11:22 +0200
Subject: [PATCH] i18n/console_init.sh: skip, if we use systemd and use
systemd-vconsole-init
---
modules.d/10i18n/console_init.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules.d/10i18n/console_init.sh b/modules.d/10i18n/console_init.sh
index 37efdd1..24eaad8 100755
--- a/modules.d/10i18n/console_init.sh
+++ b/modules.d/10i18n/console_init.sh
@@ -2,7 +2,11 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /lib/systemd/systemd-vconsole-setup ] && exit 0
+[ -x /lib/systemd/systemd ] && exit 0
+
+if [ -x /lib/systemd/systemd-vconsole-setup ]; then
+ /lib/systemd/systemd-vconsole-setup "$@"
+fi
[ -e /etc/vconsole.conf ] && . /etc/vconsole.conf

View File

@ -1,85 +0,0 @@
From 3e51b2f6fc9cca431815fb5561727c5ce9b4e148 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 14:15:48 +0200
Subject: [PATCH] fixed i18n and plymouth for systemd
---
modules.d/10i18n/parse-i18n.sh | 11 ++++-------
modules.d/50plymouth/plymouth-newroot.sh | 5 ++---
modules.d/50plymouth/plymouth-pretrigger.sh | 28 ++++++++++++++--------------
3 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/modules.d/10i18n/parse-i18n.sh b/modules.d/10i18n/parse-i18n.sh
index 5530136..b353296 100755
--- a/modules.d/10i18n/parse-i18n.sh
+++ b/modules.d/10i18n/parse-i18n.sh
@@ -35,10 +35,7 @@ if [ -f /etc/locale.conf ]; then
export LC_ALL
fi
-# FIXME: fix systemd-vconsole-setup
-#if [ -x /lib/systemd/systemd-vconsole-setup ]; then
-# /lib/systemd/systemd-vconsole-setup
-# rm -f /{etc,lib}/udev/rules.d/10-console.rules
-# rm -f /lib/udev/console_init
-# ln -s /lib/systemd/systemd-vconsole-setup /lib/udev/console_init
-#fi
+if [ -x /lib/systemd/systemd ]; then
+ rm -f /{etc,lib}/udev/rules.d/10-console.rules
+ rm -f /lib/udev/console_init
+fi
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index ffbabf1..2ffc929 100755
--- a/modules.d/50plymouth/plymouth-newroot.sh
+++ b/modules.d/50plymouth/plymouth-newroot.sh
@@ -2,6 +2,5 @@
# -*- 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 ! -x /lib/systemd/systemd ]; then
- /bin/plymouth --newroot=$NEWROOT
-fi
+[ -x /bin/plymouth ! -x /lib/systemd/systemd ] || exit 0
+/bin/plymouth --newroot=$NEWROOT
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index c52cf83..b282069 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -2,23 +2,23 @@
# -*- 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 ! -x /lib/systemd/systemd ]; then
- if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -d -n rd_NO_PLYMOUTH; then
+[ -x /bin/plymouthd -a ! -x /lib/systemd/systemd ] || exit 0
+
+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
+ udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
# first trigger graphics and tty subsystem
- udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
+ udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
- udevadm settle --timeout=30 2>&1 | vinfo
+ udevadm settle --timeout=30 2>&1 | vinfo
- info "Starting plymouth daemon"
- mkdir -m 0755 /run/plymouth
- 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
+ info "Starting plymouth daemon"
+ mkdir -m 0755 /run/plymouth
+ 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
# reset tty after plymouth messed with it
- [ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
- fi
+ [ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
fi

View File

@ -1,96 +0,0 @@
From 5d833a9f5bf16a5787b164b7a1f17f98cac13732 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 15:11:01 +0200
Subject: [PATCH] add "af_packet" kernel module to network testsuite tests
---
test/TEST-20-NFS/test.sh | 4 ++--
test/TEST-30-ISCSI/test.sh | 4 ++--
test/TEST-40-NBD/test.sh | 4 ++--
test/TEST-50-MULTINIC/test.sh | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
index a44f6c0..c7ccc09 100755
--- a/test/TEST-20-NFS/test.sh
+++ b/test/TEST-20-NFS/test.sh
@@ -336,14 +336,14 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-m "dash udev-rules base rootfs-block debug kernel-modules watchdog" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
# Make client's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth" \
-a "debug watchdog" \
- -d "piix ide-gd_mod ata_piix sd_mod e1000 nfs sunrpc ib700wdt" \
+ -d "af_packet piix ide-gd_mod ata_piix sd_mod e1000 nfs sunrpc ib700wdt" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
}
diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
index 1b1924b..c3d2c39 100755
--- a/test/TEST-30-ISCSI/test.sh
+++ b/test/TEST-30-ISCSI/test.sh
@@ -162,7 +162,7 @@ test_setup() {
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth dmraid" \
-a "debug" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod" \
+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
# Make server root
@@ -211,7 +211,7 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-m "dash udev-rules base rootfs-block debug kernel-modules" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
}
diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
index 94efb8a..99d930f 100755
--- a/test/TEST-40-NBD/test.sh
+++ b/test/TEST-40-NBD/test.sh
@@ -333,13 +333,13 @@ test_setup() {
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-m "dash udev-rules rootfs-block base debug kernel-modules" \
- -d "piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000" \
+ -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth" \
-a "debug watchdog" \
- -d "piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000 ib700wdt" \
+ -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000 ib700wdt" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
}
diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
index 74f10d8..2125b8e 100755
--- a/test/TEST-50-MULTINIC/test.sh
+++ b/test/TEST-50-MULTINIC/test.sh
@@ -246,14 +246,14 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-m "dash udev-rules base rootfs-block debug kernel-modules watchdog" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
# Make client's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth" \
-a "debug" \
- -d "piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfs sunrpc ib700wdt" \
+ -d "af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfs sunrpc ib700wdt" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
}

View File

@ -1,35 +0,0 @@
From 95a5b23a388a2e49dee10283727e6dded8f1c9c2 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 15:34:54 +0200
Subject: [PATCH] i18n,terminfo/module-setup.sh: fixed "cp -t" calls
---
modules.d/10i18n/module-setup.sh | 2 +-
modules.d/95terminfo/module-setup.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index a1cf1c8..cf5ad96 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -96,7 +96,7 @@ install() {
for _src in $(eval echo ${kbddir}/{${KBDSUBDIRS}}); do
inst_dir "$_src"
- cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_src%/*}" "$_src"
+ cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_src}" "$_src"/*
done
# remove unnecessary files
diff --git a/modules.d/95terminfo/module-setup.sh b/modules.d/95terminfo/module-setup.sh
index e1914a5..5e5c269 100755
--- a/modules.d/95terminfo/module-setup.sh
+++ b/modules.d/95terminfo/module-setup.sh
@@ -11,6 +11,6 @@ install() {
if [ -d ${_terminfodir} ]; then
inst_dir "$_terminfodir"
- cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_terminfodir%/*}" "$_terminfodir"
+ cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_terminfodir}" "$_terminfodir"/*
fi
}

View File

@ -1,21 +0,0 @@
From 764eb40cc933d111ad99d74d61e9203f20051e81 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 16:03:25 +0200
Subject: [PATCH] TODO: update
---
TODO | 1 +
1 file changed, 1 insertion(+)
diff --git a/TODO b/TODO
index 61be5d5..d74577f 100644
--- a/TODO
+++ b/TODO
@@ -6,6 +6,7 @@ Items are ordered in priority.
INITRAMFS TODO
+- use systemd crypto passwd mechanisms
- add sosreport
- generate systemd unit dracut-initramfs-restore in /run/systemd dynamically
- put "root=" parsing hooks in separate hook dir

View File

@ -1,68 +0,0 @@
From aec9f902f009bf7b13fe2ca679f95439c035c32a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 16:03:42 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: move "$drivers"
"$filesystems" and "$add_drivers" to dracut.sh
---
dracut.sh | 16 ++++++++++++++--
modules.d/90kernel-modules/module-setup.sh | 11 -----------
2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index eee829e..4be4306 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -780,9 +780,9 @@ if ! [[ -d "$systemdutildir" ]]; then
fi
[[ -d "$systemdsystemunitdir" ]] || systemdsystemunitdir=${systemdutildir}/system
-export initdir dracutbasedir dracutmodules drivers \
+export initdir dracutbasedir dracutmodules \
fw_dir drivers_dir debug no_kernel kernel_only \
- add_drivers omit_drivers mdadmconf lvmconf filesystems \
+ omit_drivers mdadmconf lvmconf \
use_fstab fstab_lines libdirs fscks nofscks ro_mnt \
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
debug host_fs_types host_devs sshkey add_fstab \
@@ -898,6 +898,18 @@ dinfo "*** Including modules done ***"
## final stuff that has to happen
if [[ $no_kernel != yes ]]; then
+
+ if [[ $drivers ]]; then
+ hostonly='' instmods $drivers
+ fi
+
+ if [[ $add_drivers ]]; then
+ hostonly='' instmods -c $add_drivers
+ fi
+ if [[ $filesystems ]]; then
+ hostonly='' instmods -c $filesystems
+ fi
+
dinfo "*** Installing kernel module dependencies and firmware ***"
dracut_kernel_post
dinfo "*** Installing kernel module dependencies and firmware done ***"
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 5018dc1..47e2f0d 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -61,17 +61,6 @@ installkernel() {
}
for_each_host_dev_fs inst_fs
fi
- else
- hostonly='' instmods $drivers
- fi
-
- if [[ $add_drivers ]]; then
- hostonly='' instmods -c $add_drivers || return 1
- fi
- if [[ $filesystems ]]; then
- hostonly='' instmods -c $filesystems || return 1
- fi
-
}
install() {

View File

@ -1,22 +0,0 @@
From 3e964eeb9674119d7c08ae0b1aaee76391a2ba93 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 27 Jul 2012 16:06:36 +0200
Subject: [PATCH] dracut.sh: put $drivers and $filesystems back in export
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 4be4306..1bbec3d 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -787,7 +787,7 @@ export initdir dracutbasedir dracutmodules \
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
debug host_fs_types host_devs sshkey add_fstab \
DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir \
- prefix
+ prefix filesystems drivers
# Create some directory structure first
[[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"

View File

@ -1,28 +0,0 @@
From 7e2285a48ac3d86a06a2d94d6c46fcf7011c7dfd Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Fri, 27 Jul 2012 13:12:28 -0400
Subject: [PATCH] add comment for getargbool()
I always forget how getargbool works. Add a comment documenting it.
---
modules.d/99base/dracut-lib.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 2eb1224..3a7be9a 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -145,6 +145,13 @@ getarg() {
return 1
}
+# getargbool <defaultval> <args...>
+# False if "getarg <args...>" returns "0", "no", or "off".
+# True if getarg returns any other non-empty string.
+# If not found, assumes <defaultval> - usually 0 for false, 1 for true.
+# example: getargbool 0 rd.info
+# true: rd.info, rd.info=1, rd.info=xxx
+# false: rd.info=0, rd.info=off, rd.info not present (default val is 0)
getargbool() {
local _b
unset _b

View File

@ -1,41 +0,0 @@
From a5f01bbfb5374bd6c136a3d34bad021bf20b27ab Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Fri, 27 Jul 2012 13:12:29 -0400
Subject: [PATCH] dracut-lib: add find_mount, use it to implement ismounted
find_mount is really the same thing as ismounted with two additions:
1) uses "readlink" so "ismounted /dev/disk/by-label/LABEL" works
2) returns the mountpoint of the device
And ismounted is now just "find_mount $dev >/dev/null".
---
modules.d/99base/dracut-lib.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 3a7be9a..813cead 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -452,13 +452,18 @@ udevproperty() {
fi
}
-ismounted() {
- while read a m a; do
- [ "$m" = "$1" ] && return 0
+find_mount() {
+ local dev mnt etc wanted_dev="$(readlink -e -q $1)"
+ while read dev mnt etc; do
+ [ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
done < /proc/mounts
return 1
}
+ismounted() {
+ find_mount "$1" > /dev/null
+}
+
wait_for_if_up() {
local cnt=0
local li

View File

@ -1,22 +0,0 @@
From b2d225a6698607bbcb73b6e6d12fbfc5be014102 Mon Sep 17 00:00:00 2001
From: Chao Wang <chaowang@redhat.com>
Date: Mon, 30 Jul 2012 11:56:29 +0800
Subject: [PATCH] dracut-functions: $_x should exist, no need to test.
Signed-off-by: Chao Wang <chaowang@redhat.com>
---
dracut-functions.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 9242204..04b4c7a 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -423,7 +423,6 @@ check_block_and_slaves() {
fi
[[ -d /sys/dev/block/$2/slaves ]] || return 1
for _x in /sys/dev/block/$2/slaves/*/dev; do
- [[ -f $_x ]] || continue
check_block_and_slaves $1 $(cat "$_x") && return 0
done
return 1

View File

@ -1,33 +0,0 @@
From bfd2e8c25ffc68bb98ca62049d709f378ac2ff1d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 13:02:41 +0200
Subject: [PATCH] dracut.sh: test if we can lazy resolve with ldd
---
dracut.sh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 1bbec3d..46f3a5b 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.'

View File

@ -1,20 +0,0 @@
From 171ba532bc93951bb06c8bc1acdc80718dc306e4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 13:39:37 +0200
Subject: [PATCH] plymouth/plymouth-newroot.sh: fixed pre-pivot hook
---
modules.d/50plymouth/plymouth-newroot.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index 2ffc929..c5f1e56 100755
--- a/modules.d/50plymouth/plymouth-newroot.sh
+++ b/modules.d/50plymouth/plymouth-newroot.sh
@@ -2,5 +2,5 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /bin/plymouth ! -x /lib/systemd/systemd ] || exit 0
+[ -x /bin/plymouth -a ! -x /lib/systemd/systemd ] || exit 0
/bin/plymouth --newroot=$NEWROOT

View File

@ -1,21 +0,0 @@
From 4976edb1a670d588cfb7d9bd88ad687151489650 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 13:58:58 +0200
Subject: [PATCH] dracut.spec: add Requires: kbd kbd-misc
---
dracut.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/dracut.spec b/dracut.spec
index f225bb6..573c3c8 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -83,6 +83,7 @@ Requires: sed
Requires: file
Requires: kpartx
Requires: udev > 166
+Requires: kbd kbd-misc
%if 0%{?fedora} || 0%{?rhel} > 6
Requires: util-linux >= 2.21
Conflicts: systemd < 187

View File

@ -1,159 +0,0 @@
From aefea76cf85a19781447880d2a82e4da3a25d068 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 14:35:26 +0200
Subject: [PATCH] set DRACUT_SYSTEMD for systemd mode in the initramfs
---
modules.d/10i18n/console_init.sh | 2 +-
modules.d/10i18n/parse-i18n.sh | 2 +-
modules.d/50plymouth/plymouth-newroot.sh | 2 +-
modules.d/50plymouth/plymouth-pretrigger.sh | 2 +-
modules.d/90crypt/parse-crypt.sh | 3 +++
modules.d/98systemd/dracut-cmdline.sh | 3 ++-
modules.d/98systemd/dracut-initqueue.sh | 1 +
modules.d/98systemd/dracut-pre-pivot.sh | 1 +
modules.d/98systemd/dracut-pre-trigger.sh | 1 +
modules.d/98systemd/dracut-pre-udev.sh | 2 +-
modules.d/99base/dracut-lib.sh | 2 +-
11 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/modules.d/10i18n/console_init.sh b/modules.d/10i18n/console_init.sh
index 24eaad8..8817f95 100755
--- a/modules.d/10i18n/console_init.sh
+++ b/modules.d/10i18n/console_init.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
-[ -x /lib/systemd/systemd ] && exit 0
+[ -n "$DRACUT_SYSTEMD" ] && exit 0
if [ -x /lib/systemd/systemd-vconsole-setup ]; then
/lib/systemd/systemd-vconsole-setup "$@"
diff --git a/modules.d/10i18n/parse-i18n.sh b/modules.d/10i18n/parse-i18n.sh
index b353296..90152cf 100755
--- a/modules.d/10i18n/parse-i18n.sh
+++ b/modules.d/10i18n/parse-i18n.sh
@@ -35,7 +35,7 @@ if [ -f /etc/locale.conf ]; then
export LC_ALL
fi
-if [ -x /lib/systemd/systemd ]; then
+if [ -n "$DRACUT_SYSTEMD" ]; then
rm -f /{etc,lib}/udev/rules.d/10-console.rules
rm -f /lib/udev/console_init
fi
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index c5f1e56..58ac11f 100755
--- a/modules.d/50plymouth/plymouth-newroot.sh
+++ b/modules.d/50plymouth/plymouth-newroot.sh
@@ -2,5 +2,5 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /bin/plymouth -a ! -x /lib/systemd/systemd ] || exit 0
+[ -x /bin/plymouth -a -z "$DRACUT_SYSTEMD" ] || exit 0
/bin/plymouth --newroot=$NEWROOT
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index b282069..e536564 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
-[ -x /bin/plymouthd -a ! -x /lib/systemd/systemd ] || exit 0
+[ -x /bin/plymouthd -a ! -n "$DRACUT_SYSTEMD" ] || exit 0
if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -d -n rd_NO_PLYMOUTH; then
# first trigger graphics subsystem
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index a2b157f..e20e6e0 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -1,6 +1,9 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+[ -n "$DRACUT_SYSTEMD" ] && exit 0
+
if ! getargbool 1 rd.luks -d -n rd_NO_LUKS; then
info "rd.luks=0: removing cryptoluks activation"
rm -f /etc/udev/rules.d/70-luks.rules
diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh
index 927b99a..a366381 100755
--- a/modules.d/98systemd/dracut-cmdline.sh
+++ b/modules.d/98systemd/dracut-cmdline.sh
@@ -2,7 +2,8 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-NEWROOT="/sysroot"
+export DRACUT_SYSTEMD=1
+export NEWROOT="/sysroot"
[ -d $NEWROOT ] || mkdir -p -m 0755 $NEWROOT
[ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs
[ -d /run/lock ] || mkdir -p -m 0755 /run/lock
diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
index 112d2a8..1ee6be1 100755
--- a/modules.d/98systemd/dracut-initqueue.sh
+++ b/modules.d/98systemd/dracut-initqueue.sh
@@ -2,6 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+export DRACUT_SYSTEMD=1
if [ -f /dracut-state.sh ]; then
. /dracut-state.sh 2>/dev/null
fi
diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
index 3fd7957..1ffa6aa 100755
--- a/modules.d/98systemd/dracut-pre-pivot.sh
+++ b/modules.d/98systemd/dracut-pre-pivot.sh
@@ -2,6 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+export DRACUT_SYSTEMD=1
if [ -f /dracut-state.sh ]; then
. /dracut-state.sh 2>/dev/null
fi
diff --git a/modules.d/98systemd/dracut-pre-trigger.sh b/modules.d/98systemd/dracut-pre-trigger.sh
index 9850124..20a3f64 100755
--- a/modules.d/98systemd/dracut-pre-trigger.sh
+++ b/modules.d/98systemd/dracut-pre-trigger.sh
@@ -2,6 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+export DRACUT_SYSTEMD=1
if [ -f /dracut-state.sh ]; then
. /dracut-state.sh 2>/dev/null
fi
diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh
index 2566ab9..9a4dc61 100755
--- a/modules.d/98systemd/dracut-pre-udev.sh
+++ b/modules.d/98systemd/dracut-pre-udev.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-
+export DRACUT_SYSTEMD=1
if [ -f /dracut-state.sh ]; then
. /dracut-state.sh 2>/dev/null
fi
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 813cead..b4ef59a 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -358,7 +358,7 @@ check_quiet() {
fi
}
-if [ ! -x /lib/systemd/systemd ]; then
+if [ -z "$DRACUT_SYSTEMD" ]; then
warn() {
check_quiet

View File

@ -1,21 +0,0 @@
From 343b7d7488e7e91a91a0056c4dde2bb57ea203a0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 14:50:14 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: add missing "fi"
---
modules.d/90kernel-modules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 47e2f0d..4e75ef8 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -61,6 +61,7 @@ installkernel() {
}
for_each_host_dev_fs inst_fs
fi
+ fi
}
install() {

View File

@ -1,22 +0,0 @@
From 5a84ac3fe36e706c88f7231fe3e4e1d2b11359e3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:00:27 +0200
Subject: [PATCH] dracut-functions.sh: inst_hook() with [0-9]-<name>
---
dracut-functions.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 04b4c7a..a299bbb 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -837,7 +837,7 @@ inst_hook() {
dfatal "No such hook type $1. Aborting initrd creation."
exit 1
fi
- inst_simple "$3" "/lib/dracut/hooks/${1}/${2}${3##*/}"
+ inst_simple "$3" "/lib/dracut/hooks/${1}/${2}-${3##*/}"
}
# install any of listed files

View File

@ -1,22 +0,0 @@
From d782ffb8224cccd87ab5e1f314f011c5bb760f34 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:01:08 +0200
Subject: [PATCH] i18n/parse-i18n.sh: remove udev rules
---
modules.d/10i18n/parse-i18n.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/10i18n/parse-i18n.sh b/modules.d/10i18n/parse-i18n.sh
index 90152cf..3aa8d70 100755
--- a/modules.d/10i18n/parse-i18n.sh
+++ b/modules.d/10i18n/parse-i18n.sh
@@ -36,6 +36,7 @@ if [ -f /etc/locale.conf ]; then
fi
if [ -n "$DRACUT_SYSTEMD" ]; then
- rm -f /{etc,lib}/udev/rules.d/10-console.rules
+ rm -f /etc/udev/rules.d/10-console.rules
+ rm -f /lib/udev/rules.d/10-console.rules
rm -f /lib/udev/console_init
fi

View File

@ -1,42 +0,0 @@
From 27790828d1d96eee7c77ac47047f0d57bb6c0f94 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:04:55 +0200
Subject: [PATCH] base/dracut-lib.sh: fixed ismounted(<mountpoint>)
---
modules.d/99base/dracut-lib.sh | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index b4ef59a..b638bd6 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -453,15 +453,26 @@ udevproperty() {
}
find_mount() {
- local dev mnt etc wanted_dev="$(readlink -e -q $1)"
+ local dev mnt etc wanted_dev
+ wanted_dev="$(readlink -e -q $1)"
while read dev mnt etc; do
[ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
done < /proc/mounts
return 1
}
+# usage: ismounted <mountpoint>
+# usage: ismounted /dev/<device>
ismounted() {
- find_mount "$1" > /dev/null
+ if str_starts "$1" "/dev"; then
+ find_mount "$1" > /dev/null && return 0
+ return 1
+ fi
+
+ while read a m a; do
+ [ "$m" = "$1" ] && return 0
+ done < /proc/mounts
+ return 1
}
wait_for_if_up() {

View File

@ -1,20 +0,0 @@
From 8b6bdafc39c95f55ea9bdc1d7465c085b77ef052 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:05:49 +0200
Subject: [PATCH] systemd/module-setup.sh: install systemd udev rules
---
modules.d/98systemd/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
index 21c86ed..577bcb9 100755
--- a/modules.d/98systemd/module-setup.sh
+++ b/modules.d/98systemd/module-setup.sh
@@ -141,5 +141,6 @@ install() {
ln -fs ../udevadm-cleanup-db.service "${initdir}${dracutsystemunitdir}/initrd-switch-root.target.requires/udevadm-cleanup-db.service"
inst_script "$moddir/service-to-run.sh" "${systemdutildir}/system-generators/service-to-run"
+ inst_rules 99-systemd.rules
}

View File

@ -1,18 +0,0 @@
From cf62cc435f6785261d3ea8731f154e1898c35cc1 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:06:23 +0200
Subject: [PATCH] virtfs/mount-virtfs.sh: don't exit != 0
---
modules.d/95virtfs/mount-virtfs.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95virtfs/mount-virtfs.sh b/modules.d/95virtfs/mount-virtfs.sh
index dfebf38..7c07b46 100755
--- a/modules.d/95virtfs/mount-virtfs.sh
+++ b/modules.d/95virtfs/mount-virtfs.sh
@@ -73,3 +73,4 @@ mount_root() {
if [ -n "$root" -a -z "${root%%virtfs:*}" ]; then
mount_root
fi
+:

View File

@ -1,23 +0,0 @@
From 19cd47fd26d072000a49661f78fc0a7200116ef6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:06:48 +0200
Subject: [PATCH] plymouth/plymouth-newroot.sh: don't "exit 0" for sourced
scripts
---
modules.d/50plymouth/plymouth-newroot.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/50plymouth/plymouth-newroot.sh b/modules.d/50plymouth/plymouth-newroot.sh
index 58ac11f..2311b47 100755
--- a/modules.d/50plymouth/plymouth-newroot.sh
+++ b/modules.d/50plymouth/plymouth-newroot.sh
@@ -2,5 +2,6 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /bin/plymouth -a -z "$DRACUT_SYSTEMD" ] || exit 0
-/bin/plymouth --newroot=$NEWROOT
+if [ -x /bin/plymouth -a -z "$DRACUT_SYSTEMD" ]; then
+ /bin/plymouth --newroot=$NEWROOT
+fi

View File

@ -1,52 +0,0 @@
From 540eca9d9d651b52c2d3e18a3df7f9e36c23b681 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 17:07:43 +0200
Subject: [PATCH] plymouth/plymouth-pretrigger.sh: don't "exit 0" for a
sourced script
---
modules.d/50plymouth/plymouth-pretrigger.sh | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index e536564..17533bb 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -2,23 +2,23 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -x /bin/plymouthd -a ! -n "$DRACUT_SYSTEMD" ] || exit 0
-
-if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -d -n rd_NO_PLYMOUTH; then
+if [ -x /bin/plymouthd -a ! -n "$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
+ udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
# first trigger graphics and tty subsystem
- udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
+ udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
- udevadm settle --timeout=30 2>&1 | vinfo
+ udevadm settle --timeout=30 2>&1 | vinfo
- info "Starting plymouth daemon"
- mkdir -m 0755 /run/plymouth
- 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
+ info "Starting plymouth daemon"
+ mkdir -m 0755 /run/plymouth
+ 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
# reset tty after plymouth messed with it
- [ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
+ [ -x /lib/udev/console_init -a -e "/dev/$consoledev" ] && /lib/udev/console_init "/dev/$consoledev"
+ fi
fi

View File

@ -1,122 +0,0 @@
From 3d352f522837ce8dc20ae130f79462e5a3cce347 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 14:34:55 +0200
Subject: [PATCH] crypt: add systemd crypt support
---
modules.d/90crypt/crypt-run-generator.sh | 10 +++++++
modules.d/90crypt/module-setup.sh | 13 ++++++++-
modules.d/90crypt/parse-crypt.sh | 46 ++++++++++++++++++++++----------
3 files changed, 54 insertions(+), 15 deletions(-)
create mode 100755 modules.d/90crypt/crypt-run-generator.sh
diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh
new file mode 100755
index 0000000..d70443e
--- /dev/null
+++ b/modules.d/90crypt/crypt-run-generator.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+dev=$1
+luks=$2
+
+echo "$luks $dev" >> /etc/crypttab
+/lib/systemd/system-generators/systemd-cryptsetup-generator
+systemctl daemon-reload
+systemctl start cryptsetup.target
+exit 0
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 9b0bf64..b6d97af 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -49,5 +49,16 @@ install() {
inst_hook cleanup 30 "$moddir/crypt-cleanup.sh"
inst_simple /etc/crypttab
inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh"
-}
+ dracut_install -o \
+ $systemdutildir/system-generators/systemd-cryptsetup-generator \
+ $systemdutildir/system-generators/systemd-cryptsetup-generator \
+ $systemdutildir/systemd-cryptsetup \
+ $systemdsystemunitdir/systemd-ask-password-console.path \
+ $systemdsystemunitdir/systemd-ask-password-console.service \
+ $systemdsystemunitdir/cryptsetup.target \
+ $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
+ systemd-ask-password systemd-tty-ask-password-agent
+ inst_hook initqueue/finished 01 "$moddir/finished-ask-password.sh"
+ inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
+}
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index e20e6e0..8d1c8cd 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -2,8 +2,6 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -n "$DRACUT_SYSTEMD" ] && exit 0
-
if ! getargbool 1 rd.luks -d -n rd_NO_LUKS; then
info "rd.luks=0: removing cryptoluks activation"
rm -f /etc/udev/rules.d/70-luks.rules
@@ -18,14 +16,26 @@ else
if [ -n "$LUKS" ]; then
for luksid in $LUKS; do
+
luksid=${luksid##luks-}
- {
- printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '
- printf -- 'ENV{ID_FS_UUID}=="*%s*", ' $luksid
- printf -- 'RUN+="%s --unique --onetime ' $(command -v initqueue)
- printf -- '--name cryptroot-ask-%%k %s ' $(command -v cryptroot-ask)
- printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $tout
- } >> /etc/udev/rules.d/70-luks.rules.new
+
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+ {
+ printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '
+ printf -- 'ENV{ID_FS_UUID}=="*%s*", ' $luksid
+ printf -- 'RUN+="%s --unique --onetime ' $(command -v initqueue)
+ printf -- '--name cryptroot-ask-%%k %s ' $(command -v cryptroot-ask)
+ printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $tout
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ else
+ {
+ printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '
+ printf -- 'ENV{ID_FS_UUID}=="*%s*", ' $luksid
+ printf -- 'RUN+="%s --unique --onetime ' $(command -v initqueue)
+ printf -- '--name crypt-run-generator-%%k %s ' $(command -v crypt-run-generator)
+ printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID}"\n'
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ fi
uuid=$luksid
while [ "$uuid" != "${uuid#*-}" ]; do uuid=${uuid%%-*}${uuid#*-}; done
@@ -38,11 +48,19 @@ else
} >> $hookdir/emergency/90-crypt.sh
done
else
- {
- printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="%s ' $(command -v initqueue)
- printf -- '--unique --onetime --name cryptroot-ask-%%k '
- printf -- '%s $env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $(command -v cryptroot-ask) $tout
- } >> /etc/udev/rules.d/70-luks.rules.new
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+ {
+ printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="%s ' $(command -v initqueue)
+ printf -- '--unique --onetime --name cryptroot-ask-%%k '
+ printf -- '%s $env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $(command -v cryptroot-ask) $tout
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ else
+ {
+ printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="%s ' $(command -v initqueue)
+ printf -- '--unique --onetime --name crypt-run-generator-%%k '
+ printf -- '%s $env{DEVNAME} luks-$env{ID_FS_UUID}"\n' $(command -v crypt-run-generator)
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ fi
fi
echo 'LABEL="luks_end"' >> /etc/udev/rules.d/70-luks.rules.new

View File

@ -1,246 +0,0 @@
From 3f7e5358e520b3d55c709a675d46c8080070276d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 18:35:30 +0200
Subject: [PATCH] crypt/crypt-run-generator.sh: do not add already existing
luks
---
modules.d/90crypt/crypt-run-generator.sh | 9 ++++++++-
test/TEST-10-RAID/create-root.sh | 3 ++-
test/TEST-10-RAID/test.sh | 9 +++++++--
test/TEST-12-RAID-DEG/create-root.sh | 3 ++-
test/TEST-12-RAID-DEG/test.sh | 6 ++++++
test/TEST-13-ENC-RAID-LVM/test.sh | 14 +++++++++++---
test/TEST-30-ISCSI/create-root.sh | 3 ---
test/TEST-40-NBD/create-root.sh | 16 +++++++++-------
test/TEST-40-NBD/test.sh | 8 ++++++--
9 files changed, 51 insertions(+), 20 deletions(-)
diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh
index d70443e..cb3aedc 100755
--- a/modules.d/90crypt/crypt-run-generator.sh
+++ b/modules.d/90crypt/crypt-run-generator.sh
@@ -1,8 +1,15 @@
-#!/bin/bash
+#!/bin/sh
+
+. /lib/dracut-lib.sh
dev=$1
luks=$2
+while read l rest; do
+ strstr "${l##luks-}" "${luks##luks-}" && exit 0
+done < /etc/crypttab
+
+
echo "$luks $dev" >> /etc/crypttab
/lib/systemd/system-generators/systemd-cryptsetup-generator
systemctl daemon-reload
diff --git a/test/TEST-10-RAID/create-root.sh b/test/TEST-10-RAID/create-root.sh
index 3dd86cb..cd67819 100755
--- a/test/TEST-10-RAID/create-root.sh
+++ b/test/TEST-10-RAID/create-root.sh
@@ -34,5 +34,6 @@ lvm lvchange -a n /dev/dracut/root
udevadm settle
cryptsetup luksClose /dev/mapper/dracut_crypt_test
udevadm settle
-echo "dracut-root-block-created" >/dev/sda1
+eval $(udevadm info --query=env --name=/dev/md0|while read line; do [ "$line" != "${line#*ID_FS_UUID*}" ] && echo $line; done;)
+{ echo "dracut-root-block-created"; echo "ID_FS_UUID=$ID_FS_UUID"; } >/dev/sda1
poweroff -f
diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
index d2b1921..45bb62e 100755
--- a/test/TEST-10-RAID/test.sh
+++ b/test/TEST-10-RAID/test.sh
@@ -4,14 +4,14 @@ TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a RAID-5"
KVERSION=${KVERSION-$(uname -r)}
# Uncomment this to debug failures
-#DEBUGFAIL="rd.shell"
+DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg"
test_run() {
DISKIMAGE=$TESTDIR/TEST-10-RAID-root.img
$testdir/run-qemu \
-hda $DISKIMAGE \
-m 256M -nographic \
-net none -kernel /boot/vmlinuz-$KVERSION \
- -append "root=/dev/dracut/root rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
+ -append "root=/dev/dracut/root rw rd.retry=10 console=ttyS0,115200n81 selinux=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
}
@@ -70,6 +70,7 @@ test_setup() {
-append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -m 1 -q dracut-root-block-created $DISKIMAGE || return 1
+ eval $(grep -a -m 1 ID_FS_UUID $DISKIMAGE)
(
export initdir=$TESTDIR/overlay
@@ -77,8 +78,12 @@ test_setup() {
dracut_install poweroff shutdown
inst_hook emergency 000 ./hard-off.sh
inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+ mkdir -p $initdir/etc
+ echo "luks-$ID_FS_UUID /dev/md0 /etc/key" > $initdir/etc/crypttab
+ echo -n "test" > $initdir/etc/key
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
)
+
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth network" \
-a "debug" \
diff --git a/test/TEST-12-RAID-DEG/create-root.sh b/test/TEST-12-RAID-DEG/create-root.sh
index 84f5ad2..d5a8c0b 100755
--- a/test/TEST-12-RAID-DEG/create-root.sh
+++ b/test/TEST-12-RAID-DEG/create-root.sh
@@ -41,4 +41,5 @@ udevadm settle
mdadm -W /dev/md0 || :
mdadm --detail --export /dev/md0 |grep MD_UUID > /tmp/mduuid
. /tmp/mduuid
-{ echo "dracut-root-block-created"; echo MD_UUID=$MD_UUID; } > /dev/sda1
+eval $(udevadm info --query=env --name=/dev/md0|while read line; do [ "$line" != "${line#*ID_FS_UUID*}" ] && echo $line; done;)
+{ echo "dracut-root-block-created"; echo MD_UUID=$MD_UUID; echo "ID_FS_UUID=$ID_FS_UUID";} > /dev/sda1
diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh
index 96c84f8..558e3b0 100755
--- a/test/TEST-12-RAID-DEG/test.sh
+++ b/test/TEST-12-RAID-DEG/test.sh
@@ -103,8 +103,11 @@ test_setup() {
-kernel "/boot/vmlinuz-$kernel" \
-append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
+
grep -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
eval $(grep --binary-files=text -m 1 MD_UUID $TESTDIR/root.ext2)
+ eval $(grep -a -m 1 ID_FS_UUID $TESTDIR/root.ext2)
+
(
export initdir=$TESTDIR/overlay
. $basedir/dracut-functions.sh
@@ -114,7 +117,10 @@ test_setup() {
inst ./cryptroot-ask.sh /sbin/cryptroot-ask
mkdir -p $initdir/etc
echo "ARRAY /dev/md0 level=raid5 num-devices=3 UUID=$MD_UUID" > $initdir/etc/mdadm.conf
+ echo "luks-$ID_FS_UUID /dev/md0 /etc/key" > $initdir/etc/crypttab
+ echo -n test > $initdir/etc/key
)
+
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth network" \
-a "debug" \
diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh
index f0f7d34..dff3229 100755
--- a/test/TEST-13-ENC-RAID-LVM/test.sh
+++ b/test/TEST-13-ENC-RAID-LVM/test.sh
@@ -17,7 +17,7 @@ test_run() {
-hdb $TESTDIR/check-success.img \
-m 256M -nographic \
-net none -kernel /boot/vmlinuz-$KVERSION \
- -append "root=/dev/dracut/root rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $LUKSARGS $DEBUGFAIL" \
+ -append "root=/dev/dracut/root rw quiet rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $LUKSARGS $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1
echo "CLIENT TEST END: [OK]"
@@ -30,7 +30,7 @@ test_run() {
-hdb $TESTDIR/check-success.img \
-m 256M -nographic \
-net none -kernel /boot/vmlinuz-$KVERSION \
- -append "root=/dev/dracut/root rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
+ -append "root=/dev/dracut/root rw quiet rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1
echo "CLIENT TEST END: [OK]"
@@ -43,7 +43,7 @@ test_run() {
-hdb $TESTDIR/check-success.img \
-m 256M -nographic \
-net none -kernel /boot/vmlinuz-$KVERSION \
- -append "root=/dev/dracut/root rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \
+ -append "root=/dev/dracut/root rw quiet rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \
-initrd $TESTDIR/initramfs.testing
grep -m 1 -q dracut-root-block-success $TESTDIR/check-success.img && return 1
echo "CLIENT TEST END: [OK]"
@@ -114,6 +114,14 @@ test_setup() {
inst_hook emergency 000 ./hard-off.sh
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+ mkdir -p $initdir/etc
+ i=2
+ for uuid in $cryptoUUIDS; do
+ eval $uuid
+ printf 'luks-%s /dev/sda%s /etc/key\n' $ID_FS_UUID $i
+ ((i+=1))
+ done > $initdir/etc/crypttab
+ echo -n test > $initdir/etc/key
)
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth network" \
diff --git a/test/TEST-30-ISCSI/create-root.sh b/test/TEST-30-ISCSI/create-root.sh
index 6016320..8116a13 100755
--- a/test/TEST-30-ISCSI/create-root.sh
+++ b/test/TEST-30-ISCSI/create-root.sh
@@ -23,6 +23,3 @@ umount /sysroot && \
lvm lvchange -a n /dev/dracut/root && \
echo "dracut-root-block-created" >/dev/sdb
poweroff -f
-
-#lvm lvchange -a n /dev/dracut/root && \
-#cryptsetup luksClose /dev/mapper/dracut_crypt_test && \
diff --git a/test/TEST-40-NBD/create-root.sh b/test/TEST-40-NBD/create-root.sh
index 4bef5f1..5b902c3 100755
--- a/test/TEST-40-NBD/create-root.sh
+++ b/test/TEST-40-NBD/create-root.sh
@@ -18,11 +18,13 @@ mke2fs -j /dev/dracut/root && \
mkdir -p /sysroot && \
mount /dev/dracut/root /sysroot && \
cp -a -t /sysroot /source/* && \
-umount /sysroot && \
-sleep 1 && \
-lvm lvchange -a n /dev/dracut/root && \
-sleep 1 && \
-cryptsetup luksClose /dev/mapper/dracut_crypt_test && \
-sleep 1 && \
-echo "dracut-root-block-created" >/dev/sda
+umount /sysroot
+sleep 1
+lvm lvchange -a n /dev/dracut/root
+udevadm settle
+cryptsetup luksClose /dev/mapper/dracut_crypt_test
+udevadm settle
+sleep 1
+eval $(udevadm info --query=env --name=/dev/sdb|while read line; do [ "$line" != "${line#*ID_FS_UUID*}" ] && echo $line; done;)
+{ echo "dracut-root-block-created"; echo "ID_FS_UUID=$ID_FS_UUID"; } >/dev/sda
poweroff -f
diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
index 99d930f..9881630 100755
--- a/test/TEST-40-NBD/test.sh
+++ b/test/TEST-40-NBD/test.sh
@@ -52,7 +52,6 @@ client_test() {
echo "Unable to make client sda image" 1>&2
return 1
fi
-
$testdir/run-qemu \
-hda $TESTDIR/flag.img \
-m 256M -nographic \
@@ -234,6 +233,7 @@ make_encrypted_root() {
-append "root=/dev/dracut/root rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -m 1 -q dracut-root-block-created $TESTDIR/flag.img || return 1
+ grep -a -m 1 ID_FS_UUID $TESTDIR/flag.img > $TESTDIR/luks.uuid
}
make_client_root() {
@@ -328,7 +328,11 @@ test_setup() {
dracut_install poweroff shutdown
inst_hook emergency 000 ./hard-off.sh
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
- inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+ inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+ . $TESTDIR/luks.uuid
+ mkdir -p $initdir/etc
+ echo "luks-$ID_FS_UUID /dev/nbd0 /etc/key" > $initdir/etc/crypttab
+ echo -n test > $initdir/etc/key
)
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \

View File

@ -1,77 +0,0 @@
From c0cae7f702b5ccf27a80913642aec8bf15fe710e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 20:32:39 +0200
Subject: [PATCH] dmraid,mdraid,lvm,udev: don't process
DM_MULTIPATH_DEVICE_PATH devs
---
modules.d/90dmraid/61-dmraid-imsm.rules | 2 ++
modules.d/90lvm/64-lvm.rules | 2 ++
modules.d/90mdraid/65-md-incremental-imsm.rules | 2 ++
modules.d/95udev-rules/59-persistent-storage.rules | 2 ++
modules.d/95udev-rules/61-persistent-storage.rules | 2 ++
5 files changed, 10 insertions(+)
diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules
index 73ba58e..33e060b 100644
--- a/modules.d/90dmraid/61-dmraid-imsm.rules
+++ b/modules.d/90dmraid/61-dmraid-imsm.rules
@@ -4,6 +4,8 @@
SUBSYSTEM!="block", GOTO="dm_end"
ACTION!="add|change", GOTO="dm_end"
+# Also don't process disks that are slated to be a multipath device
+ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="dm_end"
ENV{ID_FS_TYPE}=="linux_raid_member", GOTO="dm_end"
diff --git a/modules.d/90lvm/64-lvm.rules b/modules.d/90lvm/64-lvm.rules
index ab827a9..3ce0c1f 100644
--- a/modules.d/90lvm/64-lvm.rules
+++ b/modules.d/90lvm/64-lvm.rules
@@ -6,6 +6,8 @@
SUBSYSTEM!="block", GOTO="lvm_end"
ACTION!="add|change", GOTO="lvm_end"
+# Also don't process disks that are slated to be a multipath device
+ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="lvm_end"
KERNEL=="dm-[0-9]*", ACTION=="add", GOTO="lvm_end"
ENV{ID_FS_TYPE}!="LVM?_member", GOTO="lvm_end"
diff --git a/modules.d/90mdraid/65-md-incremental-imsm.rules b/modules.d/90mdraid/65-md-incremental-imsm.rules
index c4334db..6dd696a 100644
--- a/modules.d/90mdraid/65-md-incremental-imsm.rules
+++ b/modules.d/90mdraid/65-md-incremental-imsm.rules
@@ -6,6 +6,8 @@ ACTION!="add|change", GOTO="md_end"
SUBSYSTEM!="block", GOTO="md_end"
ENV{rd_NO_MD}=="?*", GOTO="md_end"
KERNEL=="md*", GOTO="md_end"
+# Also don't process disks that are slated to be a multipath device
+ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="md_end"
ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="md_try"
GOTO="md_end"
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules
index b7d069b..f2756ee 100644
--- a/modules.d/95udev-rules/59-persistent-storage.rules
+++ b/modules.d/95udev-rules/59-persistent-storage.rules
@@ -1,5 +1,7 @@
SUBSYSTEM!="block", GOTO="ps_end"
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"
diff --git a/modules.d/95udev-rules/61-persistent-storage.rules b/modules.d/95udev-rules/61-persistent-storage.rules
index 1136849..7dbd151 100644
--- a/modules.d/95udev-rules/61-persistent-storage.rules
+++ b/modules.d/95udev-rules/61-persistent-storage.rules
@@ -1,5 +1,7 @@
SUBSYSTEM!="block", GOTO="pss_end"
ACTION!="add|change", GOTO="pss_end"
+# Also don't process disks that are slated to be a multipath device
+ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="pss_end"
ACTION=="change", KERNEL=="dm-[0-9]*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}!="1", GOTO="do_pss"
KERNEL=="cciss[0-9]*", GOTO="do_pss"

View File

@ -1,22 +0,0 @@
From 474cca1e9dba2ff185062943d28a0223a7e53f58 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 21:07:03 +0200
Subject: [PATCH] TODO: update
---
TODO | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TODO b/TODO
index d74577f..9481df7 100644
--- a/TODO
+++ b/TODO
@@ -6,7 +6,7 @@ Items are ordered in priority.
INITRAMFS TODO
-- use systemd crypto passwd mechanisms
+- use info and warn prefix
- add sosreport
- generate systemd unit dracut-initramfs-restore in /run/systemd dynamically
- put "root=" parsing hooks in separate hook dir

View File

@ -1,22 +0,0 @@
From 650ab3b077e65a70b0a7782c9bea79cb6733a267 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 21:07:14 +0200
Subject: [PATCH] TEST-10-RAID/test.sh: comment debug options
---
test/TEST-10-RAID/test.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
index 45bb62e..92f4dd8 100755
--- a/test/TEST-10-RAID/test.sh
+++ b/test/TEST-10-RAID/test.sh
@@ -4,7 +4,7 @@ TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a RAID-5"
KVERSION=${KVERSION-$(uname -r)}
# Uncomment this to debug failures
-DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg"
+#DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg"
test_run() {
DISKIMAGE=$TESTDIR/TEST-10-RAID-root.img
$testdir/run-qemu \

View File

@ -1,20 +0,0 @@
From 92b3ee855f2db13577c04dba584739a10e62368a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 22:19:59 +0200
Subject: [PATCH] removed finished-ask-password.sh
---
modules.d/90crypt/module-setup.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index b6d97af..485cbe0 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -59,6 +59,5 @@ install() {
$systemdsystemunitdir/cryptsetup.target \
$systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
systemd-ask-password systemd-tty-ask-password-agent
- inst_hook initqueue/finished 01 "$moddir/finished-ask-password.sh"
inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
}

View File

@ -1,29 +0,0 @@
From 3d3c192621861bb82966369d74300c504f6d786f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 30 Jul 2012 22:27:53 +0200
Subject: [PATCH] crypt/crypt-run-generator.sh: check if crypttab exists
---
modules.d/90crypt/crypt-run-generator.sh | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh
index cb3aedc..f2f2da1 100755
--- a/modules.d/90crypt/crypt-run-generator.sh
+++ b/modules.d/90crypt/crypt-run-generator.sh
@@ -5,10 +5,11 @@
dev=$1
luks=$2
-while read l rest; do
- strstr "${l##luks-}" "${luks##luks-}" && exit 0
-done < /etc/crypttab
-
+if [ -f /etc/crypttab ]; then
+ while read l rest; do
+ strstr "${l##luks-}" "${luks##luks-}" && exit 0
+ done < /etc/crypttab
+fi
echo "$luks $dev" >> /etc/crypttab
/lib/systemd/system-generators/systemd-cryptsetup-generator

View File

@ -9,8 +9,8 @@
%endif
Name: dracut
Version: 022
Release: 99.git20120730%{?dist}
Version: 023
Release: 1%{?dist}
Summary: Initramfs generator using udev
%if 0%{?fedora} || 0%{?rhel}
@ -29,104 +29,6 @@ URL: https://dracut.wiki.kernel.org/
# Source can be generated by
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
Patch1: 0001-resume-move-resume-in-the-initqueue-finished-hook.patch
Patch2: 0002-dracut.8-add-more-description-about-calling-dracut.patch
Patch3: 0003-AUTHORS-update.patch
Patch4: 0004-dracut.sh-add-N-option-for-no-hostonly.patch
Patch5: 0005-add-documentation-for-systemd-services-in-the-initra.patch
Patch6: 0006-kernel-modules-module-setup.sh-fix-modprobe.d-instal.patch
Patch7: 0007-lvm-lvm_scan.sh-udevadm-settle-after-lvm-scan.patch
Patch8: 0008-kernel-modules-module-setup.sh-just-optionally-insta.patch
Patch9: 0009-i18n-10-console.rules-move-console_init-to-the-initq.patch
Patch10: 0010-dracut-functions.sh-small-error-print-correction.patch
Patch11: 0011-get-rid-of-basename.patch
Patch12: 0012-90crypt-recognize-.img-as-loop-key-container.patch
Patch13: 0013-90crypt-enhance-crypt-lib-keydev-mounting.patch
Patch14: 0014-91crypt-loop-open-root-device-with-a-key-inside-encr.patch
Patch15: 0015-91crypt-loop-use-initqueue-for-cleanup-strategy.patch
Patch16: 0016-91crypt-loop-replace-basename-calls-with-string-matc.patch
Patch17: 0017-deprecate-old-command-line-options.patch
Patch18: 0018-require-kpartx-and-partx-for-some-modules.patch
Patch19: 0019-iscsiroot.sh-do-not-source-etc-conf.d.patch
Patch20: 0020-dracut.asc-add-doc-about-journalctl.patch
Patch21: 0021-network-module-setup.sh-instmods-af_packet.patch
Patch22: 0022-Makefile-honor-CFLAGS.patch
Patch23: 0023-TODO-update.patch
Patch24: 0024-qemu-module-setup.sh-provide-alternative-for-systemd.patch
Patch25: 0025-Remove-object-file-from-repo-install-hashmap.o.patch
Patch26: 0026-Makefile-use-implicit-rules-for-install-dracut-insta.patch
Patch27: 0027-95fstab-sys-Skip-mounted-filesystem.patch
Patch28: 0028-90multipath-check-Regexp-fix-to-match-multipath-part.patch
Patch29: 0029-dmsquash-live-do-not-eject-medium-for-live_ram.patch
Patch30: 0030-Remove-obsolete-gentoo-conf-file.patch
Patch31: 0031-Config-file-for-systemd-on-Gentoo.patch
Patch32: 0032-gentoo.conf-set-udevdir.patch
Patch33: 0033-90kernel-modules-remove-unused-variables-in-install.patch
Patch34: 0034-90multipath-added-kpartx.rules-multipath.rules-diffe.patch
Patch35: 0035-Makefile-fixed-dracut-install-make-target.patch
Patch36: 0036-multipath-module-setup.sh-add-dm-dependency.patch
Patch37: 0037-Makefile-use-symlink-for-topsrcdir-dracut-install.patch
Patch38: 0038-systemd-dracut-cmdline.sh-output-dracut-version.patch
Patch39: 0039-95rootfs-block-fix-left-fsck-rel.-checks.patch
Patch40: 0040-98usrmount-use-rw-and-ro-options-instead-of-rd.usrmo.patch
Patch41: 0041-98usrmount-print-mount-options.patch
Patch42: 0042-98usrmount-x-_usr_found-x-removed-redundant-x.patch
Patch43: 0043-dracut-lib-new-functions-listlist-and-are_lists_eq.patch
Patch44: 0044-apply-ro-and-rw-options-from-cmdline-to-mount.patch
Patch45: 0045-modules.d-99base-mount-hook.sh-is-not-used-removed.patch
Patch46: 0046-PATCH-add-support-for-xfs-reiserfs-separate-journal-.patch
Patch47: 0047-dracut-functions.sh-add-find_mp_fstype.patch
Patch48: 0048-rootfs-block-module-setup.sh-add-support-for-xfs-rei.patch
Patch49: 0049-dracut-functions.sh-corrected-usage-comment-of-find_.patch
Patch50: 0050-ro_mnt-option-at-build-time-to-force-ro-mount-of-and.patch
Patch51: 0051-mv-rootfs-block-module-setup.sh-search_option-in-dra.patch
Patch52: 0052-README.testsuite-updated-with-requirements-for-TEST-.patch
Patch53: 0053-base-module-setup.sh-removed-mount-hook.patch
Patch54: 0054-parse-root-opts-first-check-for-ro-later-for-rw.patch
Patch55: 0055-nfs-module-setup.sh-check-for-rpc.rpc-before-running.patch
Patch56: 0056-Added-cifs.patch
Patch57: 0057-plymouth-do-not-start-plymouth-via-dracut-for-system.patch
Patch58: 0058-gentoo.conf-enable-ro_mnt.patch
Patch59: 0059-dracut-functions.sh-inst_rule_programs-fixed-IMPORT-.patch
Patch60: 0060-install-dracut-install.c-convert-destrootdir-to-real.patch
Patch61: 0061-dracut-functions.sh-inst_rule_programs-fix-error-mes.patch
Patch62: 0062-dracut.spec-add-cifs-module.patch
Patch63: 0063-Makefile-add-dependencies-for-dracut-install-generat.patch
Patch64: 0064-gitignore-install-dracut-install.patch
Patch65: 0065-cifs-parse-cifsroot.sh-do-not-unset-netroot-we-need-.patch
Patch66: 0066-fixed-install-locations-for-udev-rules-and-change-to.patch
Patch67: 0067-README.testsuite-add-instructions-on-how-to-run-the-.patch
Patch68: 0068-iscsi-iscsiroot.sh-force-link-initiatorname.patch
Patch69: 0069-cifs-parse-cifsroot.sh-fixed-more-root-netroot-parsi.patch
Patch70: 0070-i18n-console_init.sh-skip-if-we-use-systemd-and-use-.patch
Patch71: 0071-fixed-i18n-and-plymouth-for-systemd.patch
Patch72: 0072-add-af_packet-kernel-module-to-network-testsuite-tes.patch
Patch73: 0073-i18n-terminfo-module-setup.sh-fixed-cp-t-calls.patch
Patch74: 0074-TODO-update.patch
Patch75: 0075-kernel-modules-module-setup.sh-move-drivers-filesyst.patch
Patch76: 0076-dracut.sh-put-drivers-and-filesystems-back-in-export.patch
Patch77: 0077-add-comment-for-getargbool.patch
Patch78: 0078-dracut-lib-add-find_mount-use-it-to-implement-ismoun.patch
Patch79: 0079-dracut-functions-_x-should-exist-no-need-to-test.patch
Patch80: 0080-dracut.sh-test-if-we-can-lazy-resolve-with-ldd.patch
Patch81: 0081-plymouth-plymouth-newroot.sh-fixed-pre-pivot-hook.patch
Patch82: 0082-dracut.spec-add-Requires-kbd-kbd-misc.patch
Patch83: 0083-set-DRACUT_SYSTEMD-for-systemd-mode-in-the-initramfs.patch
Patch84: 0084-kernel-modules-module-setup.sh-add-missing-fi.patch
Patch85: 0085-dracut-functions.sh-inst_hook-with-0-9-name.patch
Patch86: 0086-i18n-parse-i18n.sh-remove-udev-rules.patch
Patch87: 0087-base-dracut-lib.sh-fixed-ismounted-mountpoint.patch
Patch88: 0088-systemd-module-setup.sh-install-systemd-udev-rules.patch
Patch89: 0089-virtfs-mount-virtfs.sh-don-t-exit-0.patch
Patch90: 0090-plymouth-plymouth-newroot.sh-don-t-exit-0-for-source.patch
Patch91: 0091-plymouth-plymouth-pretrigger.sh-don-t-exit-0-for-a-s.patch
Patch92: 0092-crypt-add-systemd-crypt-support.patch
Patch93: 0093-crypt-crypt-run-generator.sh-do-not-add-already-exis.patch
Patch94: 0094-dmraid-mdraid-lvm-udev-don-t-process-DM_MULTIPATH_DE.patch
Patch95: 0095-TODO-update.patch
Patch96: 0096-TEST-10-RAID-test.sh-comment-debug-options.patch
Patch97: 0097-removed-finished-ask-password.sh.patch
Patch98: 0098-crypt-crypt-run-generator.sh-check-if-crypttab-exist.patch
BuildRequires: dash bash git
@ -460,6 +362,9 @@ rm -rf $RPM_BUILD_ROOT
%dir /var/lib/dracut/overlay
%changelog
* Wed Aug 01 2012 Harald Hoyer <harald@redhat.com> 023-1
- version 023
* Mon Jul 30 2012 Harald Hoyer <harald@redhat.com> 022-99.git20120730
- removed install of missing finished-ask-password.sh

Some files were not shown because too many files have changed in this diff Show More