dracut-020-96.git20120717
- disabled systemd in the initramfs, until it works correctly
This commit is contained in:
parent
43b21102ee
commit
a66b474ff5
18
0084-watchdog-watchdog-stop.sh-forgot-to-add-script.patch
Normal file
18
0084-watchdog-watchdog-stop.sh-forgot-to-add-script.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
From 982032fd26d4b671f36a46c0a8564122cc7fde8a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 12 Jul 2012 07:01:27 +0200
|
||||||
|
Subject: [PATCH] watchdog/watchdog-stop.sh: forgot to add script
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/04watchdog/watchdog-stop.sh | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
create mode 100755 modules.d/04watchdog/watchdog-stop.sh
|
||||||
|
|
||||||
|
diff --git a/modules.d/04watchdog/watchdog-stop.sh b/modules.d/04watchdog/watchdog-stop.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000..91d45d6
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/modules.d/04watchdog/watchdog-stop.sh
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+[ -c /dev/watchdog ] && echo -n 'V' > /dev/watchdog
|
@ -0,0 +1,31 @@
|
|||||||
|
From e6bec9b793314d248085e7dd50d9d79d9a01486e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 12 Jul 2012 08:56:17 +0200
|
||||||
|
Subject: [PATCH] systemd/initrd-switch-root.service: add some more
|
||||||
|
dependencies
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/98systemd/initrd-switch-root.service | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/98systemd/initrd-switch-root.service b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
index e38f04d..f9fd10b 100644
|
||||||
|
--- a/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
+++ b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
@@ -12,14 +12,14 @@ ConditionPathExists=/etc/initrd-release
|
||||||
|
OnFailure=emergency.service
|
||||||
|
After=initrd-switch-root.target
|
||||||
|
Before=systemd-journal-flush.service
|
||||||
|
+Before=sysinit.target local-fs.target swap.target emergency.service emergency.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
EnvironmentFile=/run/initramfs/switch-root.conf
|
||||||
|
# we have to use "--force" here, otherwise systemd would umount /run
|
||||||
|
ExecStart=/usr/bin/systemctl --force switch-root ${NEWROOT} ${NEWINIT}
|
||||||
|
-ExecStopPost=-/usr/bin/systemctl stop systemd-journald.service
|
||||||
|
-ExecStopPost=-/bin/rm -f /run/initramfs/switch-root.conf
|
||||||
|
+ExecStopPost=-/usr/bin/systemctl stop systemd-journald.service ; /bin/rm -f /run/initramfs/switch-root.conf
|
||||||
|
StandardInput=null
|
||||||
|
StandardOutput=null
|
||||||
|
StandardError=null
|
@ -0,0 +1,20 @@
|
|||||||
|
From f31049c17f76048799017de52cb65c8906070b3e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 12 Jul 2012 08:56:36 +0200
|
||||||
|
Subject: [PATCH] systemd/service-to-run.sh: do not copy the target subdirs
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/98systemd/service-to-run.sh | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/98systemd/service-to-run.sh b/modules.d/98systemd/service-to-run.sh
|
||||||
|
index 797958e..e09acc5 100755
|
||||||
|
--- a/modules.d/98systemd/service-to-run.sh
|
||||||
|
+++ b/modules.d/98systemd/service-to-run.sh
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
mkdir -p /run/systemd/system/
|
||||||
|
-cp -a -t /run/systemd/system/ /etc/systemd/system/*
|
||||||
|
+cp -d -t /run/systemd/system/ /etc/systemd/system/*
|
||||||
|
+exit 0
|
||||||
|
|
114
0087-test-TEST-04-FULL-SYSTEMD-default-to-basic.target-an.patch
Normal file
114
0087-test-TEST-04-FULL-SYSTEMD-default-to-basic.target-an.patch
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
From 3d115217e4db6fc54c9cda87088f3fb212285158 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 12 Jul 2012 08:59:43 +0200
|
||||||
|
Subject: [PATCH] test/TEST-04-FULL-SYSTEMD: default to basic.target and
|
||||||
|
output more debug
|
||||||
|
|
||||||
|
---
|
||||||
|
test/TEST-04-FULL-SYSTEMD/test-init.sh | 13 ++++++++++++-
|
||||||
|
test/TEST-04-FULL-SYSTEMD/test.sh | 19 ++++++++++++-------
|
||||||
|
2 files changed, 24 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/TEST-04-FULL-SYSTEMD/test-init.sh b/test/TEST-04-FULL-SYSTEMD/test-init.sh
|
||||||
|
index cc26017..d41f0b0 100755
|
||||||
|
--- a/test/TEST-04-FULL-SYSTEMD/test-init.sh
|
||||||
|
+++ b/test/TEST-04-FULL-SYSTEMD/test-init.sh
|
||||||
|
@@ -13,9 +13,19 @@ ismounted() {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
-if ismounted /usr; then
|
||||||
|
+systemctl --failed --no-legend --no-pager > /failed
|
||||||
|
+
|
||||||
|
+if ismounted /usr && [ -f /run/systemd/system/initrd-switch-root.service ] && [ ! -s /failed ]; then
|
||||||
|
echo "dracut-root-block-success" >/dev/sdc
|
||||||
|
fi
|
||||||
|
+
|
||||||
|
+set -x
|
||||||
|
+ cat /proc/mounts
|
||||||
|
+ tree /run
|
||||||
|
+ dmesg
|
||||||
|
+ cat /failed
|
||||||
|
+set +x
|
||||||
|
+
|
||||||
|
export TERM=linux
|
||||||
|
export PS1='initramfs-test:\w\$ '
|
||||||
|
[ -f /etc/mtab ] || ln -sfn /proc/mounts /etc/mtab
|
||||||
|
@@ -23,6 +33,7 @@ export PS1='initramfs-test:\w\$ '
|
||||||
|
stty sane
|
||||||
|
echo "made it to the rootfs!"
|
||||||
|
if strstr "$CMDLINE" "rd.shell"; then
|
||||||
|
+# while sleep 1; do sleep 1;done
|
||||||
|
strstr "$(setsid --help)" "control" && CTTY="-c"
|
||||||
|
setsid $CTTY sh -i
|
||||||
|
fi
|
||||||
|
diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh
|
||||||
|
index 921189f..9a679a7 100755
|
||||||
|
--- a/test/TEST-04-FULL-SYSTEMD/test.sh
|
||||||
|
+++ b/test/TEST-04-FULL-SYSTEMD/test.sh
|
||||||
|
@@ -6,7 +6,9 @@ KVERSION=${KVERSION-$(uname -r)}
|
||||||
|
|
||||||
|
# Uncomment this to debug failures
|
||||||
|
#DEBUGFAIL="rd.shell rd.break"
|
||||||
|
-
|
||||||
|
+#DEBUGFAIL="rd.shell"
|
||||||
|
+#DEBUGOUT="quiet systemd.log_level=debug systemd.log_target=console loglevel=77 rd.info rd.debug"
|
||||||
|
+DEBUGOUT="loglevel=0 systemd.log_level=debug systemd.log_target=kmsg"
|
||||||
|
client_run() {
|
||||||
|
local test_name="$1"; shift
|
||||||
|
local client_opts="$*"
|
||||||
|
@@ -20,7 +22,7 @@ client_run() {
|
||||||
|
-hdc $TESTDIR/result \
|
||||||
|
-m 256M -nographic \
|
||||||
|
-net none -kernel /boot/vmlinuz-$KVERSION \
|
||||||
|
- -append "root=LABEL=dracut $client_opts quiet systemd.log_level=debug systemd.log_target=console loglevel=77 rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
|
||||||
|
+ -append "root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT $DEBUGFAIL" \
|
||||||
|
-initrd $TESTDIR/initramfs.testing
|
||||||
|
|
||||||
|
if (($? != 0)); then
|
||||||
|
@@ -57,7 +59,7 @@ test_setup() {
|
||||||
|
mkdir -p $initdir
|
||||||
|
. $basedir/dracut-functions.sh
|
||||||
|
|
||||||
|
- for d in usr/bin usr/sbin bin etc lib "$libdir" sbin tmp usr var var/log dev proc sys sysroot root run run/lock run/initramfs; do
|
||||||
|
+ for d in usr/bin usr/sbin bin etc lib "$libdir" sbin tmp usr var var/log dev proc sys sysroot root run; do
|
||||||
|
if [ -L "/$d" ]; then
|
||||||
|
inst_symlink "/$d"
|
||||||
|
else
|
||||||
|
@@ -70,7 +72,8 @@ test_setup() {
|
||||||
|
|
||||||
|
dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
|
||||||
|
mount dmesg ifconfig dhclient mkdir cp ping dhclient \
|
||||||
|
- umount strace less setsid
|
||||||
|
+ umount strace less setsid tree systemctl
|
||||||
|
+
|
||||||
|
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
|
||||||
|
[ -f ${_terminfodir}/l/linux ] && break
|
||||||
|
done
|
||||||
|
@@ -112,8 +115,8 @@ test_setup() {
|
||||||
|
cat >$initdir/etc/systemd/system/testsuite.target <<EOF
|
||||||
|
[Unit]
|
||||||
|
Description=Testsuite target
|
||||||
|
-Requires=multi-user.target
|
||||||
|
-After=multi-user.target
|
||||||
|
+Requires=basic.target
|
||||||
|
+After=basic.target
|
||||||
|
Conflicts=rescue.target
|
||||||
|
AllowIsolate=yes
|
||||||
|
EOF
|
||||||
|
@@ -124,12 +127,14 @@ EOF
|
||||||
|
cat >$initdir/etc/systemd/system/testsuite.service <<EOF
|
||||||
|
[Unit]
|
||||||
|
Description=Testsuite service
|
||||||
|
-After=multi-user.target
|
||||||
|
+After=basic.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/sbin/test-init
|
||||||
|
ExecStopPost=/usr/bin/systemctl poweroff
|
||||||
|
Type=oneshot
|
||||||
|
+StandardInput=tty
|
||||||
|
+StandardOutput=tty
|
||||||
|
EOF
|
||||||
|
mkdir -p $initdir/etc/systemd/system/testsuite.target.wants
|
||||||
|
ln -fs ../testsuite.service $initdir/etc/systemd/system/testsuite.target.wants/testsuite.service
|
@ -0,0 +1,23 @@
|
|||||||
|
From 1ddc789f5aa1878a51db1c74b0d3503c3df35c1e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 12 Jul 2012 10:20:28 +0200
|
||||||
|
Subject: [PATCH] kernel-modules/module-setup.sh: add hid_generic to kernel
|
||||||
|
modules
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/90kernel-modules/module-setup.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
|
||||||
|
index 1744e53..f309de8 100755
|
||||||
|
--- a/modules.d/90kernel-modules/module-setup.sh
|
||||||
|
+++ b/modules.d/90kernel-modules/module-setup.sh
|
||||||
|
@@ -43,7 +43,7 @@ installkernel() {
|
||||||
|
hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm sdhci_dove ahci_platform pata_imx sata_mv
|
||||||
|
|
||||||
|
# install keyboard support
|
||||||
|
- hostonly='' instmods atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech hid-logitech-dj hid-microsoft ehci-hcd ohci-hcd uhci-hcd xhci-hcd
|
||||||
|
+ hostonly='' instmods atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech hid-logitech-dj hid-microsoft ehci-hcd ohci-hcd uhci-hcd xhci-hcd hid_generic
|
||||||
|
# install unix socket support
|
||||||
|
hostonly='' instmods unix
|
||||||
|
instmods "=drivers/pcmcia" =ide "=drivers/usb/storage"
|
@ -0,0 +1,45 @@
|
|||||||
|
From 030ade759004cb2bf81148bfdcd0ef821f7bd429 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Mon, 16 Jul 2012 10:13:53 +0200
|
||||||
|
Subject: [PATCH] Fixes for systemd-187, which does the right thing for
|
||||||
|
switch-root
|
||||||
|
|
||||||
|
---
|
||||||
|
dracut.spec | 2 +-
|
||||||
|
modules.d/98systemd/initrd-switch-root.service | 4 +---
|
||||||
|
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dracut.spec b/dracut.spec
|
||||||
|
index c17860d..0e853fd 100644
|
||||||
|
--- a/dracut.spec
|
||||||
|
+++ b/dracut.spec
|
||||||
|
@@ -84,7 +84,7 @@ Requires: file
|
||||||
|
Requires: udev > 166
|
||||||
|
%if 0%{?fedora} || 0%{?rhel} > 6
|
||||||
|
Requires: util-linux >= 2.21
|
||||||
|
-Requires: systemd >= 186
|
||||||
|
+Conflicts: systemd <= 187
|
||||||
|
%else
|
||||||
|
Requires: util-linux-ng >= 2.21
|
||||||
|
%endif
|
||||||
|
diff --git a/modules.d/98systemd/initrd-switch-root.service b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
index f9fd10b..7b59e15 100644
|
||||||
|
--- a/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
+++ b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
@@ -11,15 +11,13 @@ DefaultDependencies=no
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
OnFailure=emergency.service
|
||||||
|
After=initrd-switch-root.target
|
||||||
|
-Before=systemd-journal-flush.service
|
||||||
|
-Before=sysinit.target local-fs.target swap.target emergency.service emergency.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
EnvironmentFile=/run/initramfs/switch-root.conf
|
||||||
|
# we have to use "--force" here, otherwise systemd would umount /run
|
||||||
|
ExecStart=/usr/bin/systemctl --force switch-root ${NEWROOT} ${NEWINIT}
|
||||||
|
-ExecStopPost=-/usr/bin/systemctl stop systemd-journald.service ; /bin/rm -f /run/initramfs/switch-root.conf
|
||||||
|
+ExecStopPost=-/bin/rm -f /run/initramfs/switch-root.conf
|
||||||
|
StandardInput=null
|
||||||
|
StandardOutput=null
|
||||||
|
StandardError=null
|
64
0090-dracut.spec-add-suse-version-ifdefs.patch
Normal file
64
0090-dracut.spec-add-suse-version-ifdefs.patch
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
From 7a1f355fb51426ec69002cf23ada0aea7fe285c7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Mon, 16 Jul 2012 10:33:27 +0200
|
||||||
|
Subject: [PATCH] dracut.spec: add suse version ifdefs
|
||||||
|
|
||||||
|
---
|
||||||
|
dracut.spec | 12 +++++++-----
|
||||||
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dracut.spec b/dracut.spec
|
||||||
|
index 0e853fd..9108d1a 100644
|
||||||
|
--- a/dracut.spec
|
||||||
|
+++ b/dracut.spec
|
||||||
|
@@ -111,7 +111,7 @@ Provides: dracut-generic = %{version}-%{release}
|
||||||
|
This package requires everything which is needed to build a generic
|
||||||
|
all purpose initramfs with network support with dracut.
|
||||||
|
|
||||||
|
-%if 0%{?fedora} || 0%{?rhel} >= 6
|
||||||
|
+%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version}
|
||||||
|
%package fips
|
||||||
|
Summary: Dracut modules to build a dracut initramfs with an integrity check
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
@@ -185,7 +185,7 @@ make install DESTDIR=$RPM_BUILD_ROOT \
|
||||||
|
|
||||||
|
echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh
|
||||||
|
|
||||||
|
-%if 0%{?fedora} == 0 && 0%{?rhel} == 0
|
||||||
|
+%if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0
|
||||||
|
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
|
||||||
|
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
|
||||||
|
%endif
|
||||||
|
@@ -210,7 +210,7 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
|
||||||
|
touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs
|
||||||
|
|
||||||
|
-%if 0%{?fedora} || 0%{?rhel}
|
||||||
|
+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
|
||||||
|
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
|
||||||
|
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf
|
||||||
|
%endif
|
||||||
|
@@ -258,11 +258,13 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%endif
|
||||||
|
%dir /etc/dracut.conf.d
|
||||||
|
%{_mandir}/man8/dracut.8*
|
||||||
|
+%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
|
||||||
|
%{_mandir}/man8/mkinitrd.8*
|
||||||
|
+%{_mandir}/man1/lsinitrd.1*
|
||||||
|
+%endif
|
||||||
|
%{_mandir}/man7/dracut.kernel.7*
|
||||||
|
%{_mandir}/man7/dracut.cmdline.7*
|
||||||
|
%{_mandir}/man5/dracut.conf.5*
|
||||||
|
-%{_mandir}/man1/lsinitrd.1*
|
||||||
|
%{dracutlibdir}/modules.d/00bootchart
|
||||||
|
%{dracutlibdir}/modules.d/04watchdog
|
||||||
|
%{dracutlibdir}/modules.d/05busybox
|
||||||
|
@@ -329,7 +331,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%{dracutlibdir}/modules.d/45ifcfg
|
||||||
|
%{dracutlibdir}/modules.d/95znet
|
||||||
|
|
||||||
|
-%if 0%{?fedora} || 0%{?rhel}
|
||||||
|
+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
|
||||||
|
%files fips
|
||||||
|
%defattr(-,root,root,0755)
|
||||||
|
%{dracutlibdir}/modules.d/01fips
|
@ -0,0 +1,62 @@
|
|||||||
|
From 0f283709c9bbcdc064e1212c42173a3ff9552525 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Mon, 16 Jul 2012 12:21:56 +0200
|
||||||
|
Subject: [PATCH] dracut-functions.sh: output more info, if dependency modules
|
||||||
|
are omitted
|
||||||
|
|
||||||
|
---
|
||||||
|
dracut-functions.sh | 20 ++++++++++++++++----
|
||||||
|
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||||
|
index 3f56316..306b93a 100755
|
||||||
|
--- a/dracut-functions.sh
|
||||||
|
+++ b/dracut-functions.sh
|
||||||
|
@@ -1024,7 +1024,10 @@ check_mount() {
|
||||||
|
|
||||||
|
[[ $2 ]] || mods_checked_as_dep+=" $_mod "
|
||||||
|
|
||||||
|
- strstr " $omit_dracutmodules " " $_mod " && return 1
|
||||||
|
+ if strstr " $omit_dracutmodules " " $_mod "; then
|
||||||
|
+ dinfo "Dracut module '$_mod' will not be installed, because it's in the list to be omitted!"
|
||||||
|
+ return 1
|
||||||
|
+ fi
|
||||||
|
|
||||||
|
if [ "${#host_fs_types[*]}" -gt 0 ]; then
|
||||||
|
module_check_mount $_mod || return 1
|
||||||
|
@@ -1040,7 +1043,10 @@ check_mount() {
|
||||||
|
strstr " $force_add_dracutmodules " " $_moddep " || \
|
||||||
|
force_add_dracutmodules+=" $_moddep "
|
||||||
|
# if a module we depend on fail, fail also
|
||||||
|
- check_module $_moddep || return 1
|
||||||
|
+ if ! check_module $_moddep; then
|
||||||
|
+ derror "Dracut module '$_mod' depends on '$_moddep', which can't be installed"
|
||||||
|
+ return 1
|
||||||
|
+ fi
|
||||||
|
done
|
||||||
|
|
||||||
|
strstr " $mods_to_load " " $_mod " || \
|
||||||
|
@@ -1067,7 +1073,10 @@ check_module() {
|
||||||
|
|
||||||
|
[[ $2 ]] || mods_checked_as_dep+=" $_mod "
|
||||||
|
|
||||||
|
- strstr " $omit_dracutmodules " " $_mod " && return 1
|
||||||
|
+ if strstr " $omit_dracutmodules " " $_mod "; then
|
||||||
|
+ dinfo "Dracut module '$_mod' will not be installed, because it's in the list to be omitted!"
|
||||||
|
+ return 1
|
||||||
|
+ fi
|
||||||
|
|
||||||
|
if strstr " $dracutmodules $add_dracutmodules $force_add_dracutmodules" " $_mod "; then
|
||||||
|
if strstr " $force_add_dracutmodules" " $_mod"; then
|
||||||
|
@@ -1095,7 +1104,10 @@ check_module() {
|
||||||
|
strstr " $force_add_dracutmodules " " $_moddep " || \
|
||||||
|
force_add_dracutmodules+=" $_moddep "
|
||||||
|
# if a module we depend on fail, fail also
|
||||||
|
- check_module $_moddep || return 1
|
||||||
|
+ if ! check_module $_moddep; then
|
||||||
|
+ derror "Dracut module '$_mod' depends on '$_moddep', which can't be installed"
|
||||||
|
+ return 1
|
||||||
|
+ fi
|
||||||
|
done
|
||||||
|
|
||||||
|
strstr " $mods_to_load " " $_mod " || \
|
42
0092-Fix-fips-module-list.patch
Normal file
42
0092-Fix-fips-module-list.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 4ee59ab3ed59475923a1fed0a8a52f5a03799c93 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Milan Broz <mbroz@redhat.com>
|
||||||
|
Date: Mon, 16 Jul 2012 16:28:47 +0200
|
||||||
|
Subject: [PATCH] Fix fips module list.
|
||||||
|
|
||||||
|
If dracut is build only with fips/fips-aesni (no crypto module),
|
||||||
|
FIPS mode fails because of missing GCM modules.
|
||||||
|
|
||||||
|
Just add proper modules to list (kernel have both maker as FIPS compliant already).
|
||||||
|
|
||||||
|
Signed-off-by: Milan Broz <mbroz@redhat.com>
|
||||||
|
---
|
||||||
|
modules.d/01fips/module-setup.sh | 2 +-
|
||||||
|
modules.d/02fips-aesni/module-setup.sh | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
|
||||||
|
index 2d238fb..2517964 100755
|
||||||
|
--- a/modules.d/01fips/module-setup.sh
|
||||||
|
+++ b/modules.d/01fips/module-setup.sh
|
||||||
|
@@ -12,7 +12,7 @@ depends() {
|
||||||
|
|
||||||
|
installkernel() {
|
||||||
|
local _fipsmodules _mod
|
||||||
|
- _fipsmodules="aead aes_generic xts aes-x86_64 ansi_cprng cbc ccm chainiv ctr"
|
||||||
|
+ _fipsmodules="aead aes_generic xts aes-x86_64 ansi_cprng cbc ccm chainiv ctr gcm ghash_generic"
|
||||||
|
_fipsmodules+=" des deflate ecb eseqiv hmac seqiv sha256 sha256_generic sha512 sha512_generic"
|
||||||
|
_fipsmodules+=" cryptomgr crypto_null tcrypt dm-mod dm-crypt"
|
||||||
|
|
||||||
|
diff --git a/modules.d/02fips-aesni/module-setup.sh b/modules.d/02fips-aesni/module-setup.sh
|
||||||
|
index f8fb705..fb4010d 100755
|
||||||
|
--- a/modules.d/02fips-aesni/module-setup.sh
|
||||||
|
+++ b/modules.d/02fips-aesni/module-setup.sh
|
||||||
|
@@ -12,7 +12,7 @@ depends() {
|
||||||
|
|
||||||
|
installkernel() {
|
||||||
|
local _fipsmodules _mod
|
||||||
|
- _fipsmodules="aesni-intel"
|
||||||
|
+ _fipsmodules="aesni-intel ghash_clmulni_intel"
|
||||||
|
|
||||||
|
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
|
||||||
|
|
@ -0,0 +1,80 @@
|
|||||||
|
From a43f97c4e35d0d9c7e6e315e11c909e86936e1cc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Tue, 17 Jul 2012 11:06:25 +0200
|
||||||
|
Subject: [PATCH] systemd/dracut-pre-pivot.service: force clean stop of udevd
|
||||||
|
and cleanup-db
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/98systemd/dracut-pre-pivot.service | 2 +-
|
||||||
|
modules.d/98systemd/dracut-pre-pivot.sh | 3 +++
|
||||||
|
modules.d/98systemd/module-setup.sh | 4 ----
|
||||||
|
modules.d/98systemd/udevadm-cleanup-db.service | 20 --------------------
|
||||||
|
4 files changed, 4 insertions(+), 25 deletions(-)
|
||||||
|
delete mode 100644 modules.d/98systemd/udevadm-cleanup-db.service
|
||||||
|
|
||||||
|
diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
|
||||||
|
index 61257cf..317b476 100644
|
||||||
|
--- a/modules.d/98systemd/dracut-pre-pivot.service
|
||||||
|
+++ b/modules.d/98systemd/dracut-pre-pivot.service
|
||||||
|
@@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=-/bin/dracut-pre-pivot
|
||||||
|
-ExecStopPost=-/usr/bin/systemctl isolate initrd-switch-root.target
|
||||||
|
+ExecStopPost=-/usr/bin/systemctl --no-block isolate initrd-switch-root.target
|
||||||
|
StandardInput=null
|
||||||
|
StandardOutput=syslog
|
||||||
|
StandardError=syslog+console
|
||||||
|
diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
|
||||||
|
index 31dded5..44afe54 100755
|
||||||
|
--- a/modules.d/98systemd/dracut-pre-pivot.sh
|
||||||
|
+++ b/modules.d/98systemd/dracut-pre-pivot.sh
|
||||||
|
@@ -39,4 +39,7 @@ echo "NEWROOT=\"$NEWROOT\"" >> /run/initramfs/switch-root.conf
|
||||||
|
|
||||||
|
getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root"
|
||||||
|
|
||||||
|
+/usr/bin/udevadm control --exit || warn "/usr/bin/udevadm control --exit failed"
|
||||||
|
+/usr/bin/udevadm info --cleanup-db || warn "/usr/bin/udevadm info --cleanup-db failed"
|
||||||
|
+
|
||||||
|
exit 0
|
||||||
|
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
|
||||||
|
index 5cb236c..05faf87 100755
|
||||||
|
--- a/modules.d/98systemd/module-setup.sh
|
||||||
|
+++ b/modules.d/98systemd/module-setup.sh
|
||||||
|
@@ -143,10 +143,6 @@ install() {
|
||||||
|
inst_simple "$moddir/dracut-pre-pivot.service" ${dracutsystemunitdir}/dracut-pre-pivot.service
|
||||||
|
ln -fs ../dracut-pre-pivot.service "${initdir}${dracutsystemunitdir}/basic.target.wants/dracut-pre-pivot.service"
|
||||||
|
|
||||||
|
- inst_simple "$moddir/udevadm-cleanup-db.service" ${dracutsystemunitdir}/udevadm-cleanup-db.service
|
||||||
|
- mkdir -p "${initdir}${dracutsystemunitdir}/initrd-switch-root.target.requires"
|
||||||
|
- 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/modules.d/98systemd/udevadm-cleanup-db.service b/modules.d/98systemd/udevadm-cleanup-db.service
|
||||||
|
deleted file mode 100644
|
||||||
|
index 368a0dd..0000000
|
||||||
|
--- a/modules.d/98systemd/udevadm-cleanup-db.service
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,20 +0,0 @@
|
||||||
|
-# This file is part of systemd.
|
||||||
|
-#
|
||||||
|
-# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
-# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
-# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-
|
||||||
|
-[Unit]
|
||||||
|
-Description=Cleanup udevd DB
|
||||||
|
-DefaultDependencies=no
|
||||||
|
-ConditionPathExists=/etc/initrd-release
|
||||||
|
-Conflicts=systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
|
||||||
|
-Before=initrd-switch-root.service
|
||||||
|
-
|
||||||
|
-[Service]
|
||||||
|
-Type=oneshot
|
||||||
|
-ExecStart=-/usr/bin/udevadm info --cleanup-db
|
||||||
|
-StandardInput=null
|
||||||
|
-StandardOutput=null
|
||||||
|
-StandardError=null
|
@ -0,0 +1,29 @@
|
|||||||
|
From 3780d7e44982b0e801622f5ad90ce0e80792b69e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Tue, 17 Jul 2012 11:09:17 +0200
|
||||||
|
Subject: [PATCH] systemd/initrd-switch-root.service: call switch-root with
|
||||||
|
--no-block
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/98systemd/initrd-switch-root.service | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/98systemd/initrd-switch-root.service b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
index 7b59e15..7d1a648 100644
|
||||||
|
--- a/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
+++ b/modules.d/98systemd/initrd-switch-root.service
|
||||||
|
@@ -11,12 +11,13 @@ DefaultDependencies=no
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
OnFailure=emergency.service
|
||||||
|
After=initrd-switch-root.target
|
||||||
|
+AllowIsolate=yes
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
EnvironmentFile=/run/initramfs/switch-root.conf
|
||||||
|
# we have to use "--force" here, otherwise systemd would umount /run
|
||||||
|
-ExecStart=/usr/bin/systemctl --force switch-root ${NEWROOT} ${NEWINIT}
|
||||||
|
+ExecStart=-/usr/bin/systemctl --no-block --force switch-root ${NEWROOT} ${NEWINIT}
|
||||||
|
ExecStopPost=-/bin/rm -f /run/initramfs/switch-root.conf
|
||||||
|
StandardInput=null
|
||||||
|
StandardOutput=null
|
@ -0,0 +1,20 @@
|
|||||||
|
From b94ae0561f4a431a33af167837b84dcb4dd06bde Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Tue, 17 Jul 2012 11:09:51 +0200
|
||||||
|
Subject: [PATCH] dracut.conf.d/fedora.conf.example: disable systemd for now
|
||||||
|
|
||||||
|
---
|
||||||
|
dracut.conf.d/fedora.conf.example | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
|
||||||
|
index 4cb1890..012bdd6 100644
|
||||||
|
--- a/dracut.conf.d/fedora.conf.example
|
||||||
|
+++ b/dracut.conf.d/fedora.conf.example
|
||||||
|
@@ -9,5 +9,5 @@ prefix="/"
|
||||||
|
systemdutildir=/usr/lib/systemd
|
||||||
|
systemdsystemunitdir=/usr/lib/systemd/system
|
||||||
|
udevdir=/usr/lib/udev
|
||||||
|
-add_dracutmodules+=" systemd "
|
||||||
|
+#add_dracutmodules+=" systemd "
|
||||||
|
realinitpath="/usr/lib/systemd/systemd"
|
30
dracut.spec
30
dracut.spec
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: dracut
|
Name: dracut
|
||||||
Version: 020
|
Version: 020
|
||||||
Release: 84.git20120711%{?dist}
|
Release: 96.git20120717%{?dist}
|
||||||
|
|
||||||
Summary: Initramfs generator using udev
|
Summary: Initramfs generator using udev
|
||||||
%if 0%{?fedora} || 0%{?rhel}
|
%if 0%{?fedora} || 0%{?rhel}
|
||||||
@ -112,6 +112,18 @@ Patch80: 0080-systemd-fixed-initrd-switch-root.service.patch
|
|||||||
Patch81: 0081-dracut.sh-for-include-copy-also-the-symbolic-links.patch
|
Patch81: 0081-dracut.sh-for-include-copy-also-the-symbolic-links.patch
|
||||||
Patch82: 0082-install-dracut-install.c-check-for-empty-or-destdir.patch
|
Patch82: 0082-install-dracut-install.c-check-for-empty-or-destdir.patch
|
||||||
Patch83: 0083-systemd-initrd-switch-root.service-add-back-force-to.patch
|
Patch83: 0083-systemd-initrd-switch-root.service-add-back-force-to.patch
|
||||||
|
Patch84: 0084-watchdog-watchdog-stop.sh-forgot-to-add-script.patch
|
||||||
|
Patch85: 0085-systemd-initrd-switch-root.service-add-some-more-dep.patch
|
||||||
|
Patch86: 0086-systemd-service-to-run.sh-do-not-copy-the-target-sub.patch
|
||||||
|
Patch87: 0087-test-TEST-04-FULL-SYSTEMD-default-to-basic.target-an.patch
|
||||||
|
Patch88: 0088-kernel-modules-module-setup.sh-add-hid_generic-to-ke.patch
|
||||||
|
Patch89: 0089-Fixes-for-systemd-187-which-does-the-right-thing-for.patch
|
||||||
|
Patch90: 0090-dracut.spec-add-suse-version-ifdefs.patch
|
||||||
|
Patch91: 0091-dracut-functions.sh-output-more-info-if-dependency-m.patch
|
||||||
|
Patch92: 0092-Fix-fips-module-list.patch
|
||||||
|
Patch93: 0093-systemd-dracut-pre-pivot.service-force-clean-stop-of.patch
|
||||||
|
Patch94: 0094-systemd-initrd-switch-root.service-call-switch-root-.patch
|
||||||
|
Patch95: 0095-dracut.conf.d-fedora.conf.example-disable-systemd-fo.patch
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: dash bash git
|
BuildRequires: dash bash git
|
||||||
@ -168,7 +180,6 @@ Requires: file
|
|||||||
Requires: udev > 166
|
Requires: udev > 166
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
%if 0%{?fedora} || 0%{?rhel} > 6
|
||||||
Requires: util-linux >= 2.21
|
Requires: util-linux >= 2.21
|
||||||
Requires: systemd >= 186
|
|
||||||
%else
|
%else
|
||||||
Requires: util-linux-ng >= 2.21
|
Requires: util-linux-ng >= 2.21
|
||||||
%endif
|
%endif
|
||||||
@ -195,7 +206,7 @@ Provides: dracut-generic = %{version}-%{release}
|
|||||||
This package requires everything which is needed to build a generic
|
This package requires everything which is needed to build a generic
|
||||||
all purpose initramfs with network support with dracut.
|
all purpose initramfs with network support with dracut.
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 6
|
%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version}
|
||||||
%package fips
|
%package fips
|
||||||
Summary: Dracut modules to build a dracut initramfs with an integrity check
|
Summary: Dracut modules to build a dracut initramfs with an integrity check
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
@ -269,7 +280,7 @@ make install DESTDIR=$RPM_BUILD_ROOT \
|
|||||||
|
|
||||||
echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh
|
echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh
|
||||||
|
|
||||||
%if 0%{?fedora} == 0 && 0%{?rhel} == 0
|
%if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0
|
||||||
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
|
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
|
||||||
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
|
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
|
||||||
%endif
|
%endif
|
||||||
@ -294,7 +305,7 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
|
|||||||
touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
|
touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs
|
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel}
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
|
||||||
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
|
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
|
||||||
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf
|
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf
|
||||||
%endif
|
%endif
|
||||||
@ -342,11 +353,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%endif
|
%endif
|
||||||
%dir /etc/dracut.conf.d
|
%dir /etc/dracut.conf.d
|
||||||
%{_mandir}/man8/dracut.8*
|
%{_mandir}/man8/dracut.8*
|
||||||
|
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
|
||||||
%{_mandir}/man8/mkinitrd.8*
|
%{_mandir}/man8/mkinitrd.8*
|
||||||
|
%{_mandir}/man1/lsinitrd.1*
|
||||||
|
%endif
|
||||||
%{_mandir}/man7/dracut.kernel.7*
|
%{_mandir}/man7/dracut.kernel.7*
|
||||||
%{_mandir}/man7/dracut.cmdline.7*
|
%{_mandir}/man7/dracut.cmdline.7*
|
||||||
%{_mandir}/man5/dracut.conf.5*
|
%{_mandir}/man5/dracut.conf.5*
|
||||||
%{_mandir}/man1/lsinitrd.1*
|
|
||||||
%{dracutlibdir}/modules.d/00bootchart
|
%{dracutlibdir}/modules.d/00bootchart
|
||||||
%{dracutlibdir}/modules.d/04watchdog
|
%{dracutlibdir}/modules.d/04watchdog
|
||||||
%{dracutlibdir}/modules.d/05busybox
|
%{dracutlibdir}/modules.d/05busybox
|
||||||
@ -413,7 +426,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{dracutlibdir}/modules.d/45ifcfg
|
%{dracutlibdir}/modules.d/45ifcfg
|
||||||
%{dracutlibdir}/modules.d/95znet
|
%{dracutlibdir}/modules.d/95znet
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel}
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
|
||||||
%files fips
|
%files fips
|
||||||
%defattr(-,root,root,0755)
|
%defattr(-,root,root,0755)
|
||||||
%{dracutlibdir}/modules.d/01fips
|
%{dracutlibdir}/modules.d/01fips
|
||||||
@ -438,6 +451,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir /var/lib/dracut/overlay
|
%dir /var/lib/dracut/overlay
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 17 2012 Harald Hoyer <harald@redhat.com> 020-96.git20120717
|
||||||
|
- disabled systemd in the initramfs, until it works correctly
|
||||||
|
|
||||||
* Wed Jul 11 2012 Harald Hoyer <harald@redhat.com> 020-84.git20120711
|
* Wed Jul 11 2012 Harald Hoyer <harald@redhat.com> 020-84.git20120711
|
||||||
- add back "--force" to switch-root, otherwise systemd umounts /run
|
- add back "--force" to switch-root, otherwise systemd umounts /run
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user