update to latest git
This commit is contained in:
parent
ef36c3ac45
commit
9d87a2b3b5
@ -1,18 +1,16 @@
|
|||||||
From 39fdc4101ac9c04a2b8365567739da8573f12431 Mon Sep 17 00:00:00 2001
|
From 4cfd24d1799fafacf6624c9638454de93dd6f331 Mon Sep 17 00:00:00 2001
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
Date: Fri, 10 Feb 2012 09:37:18 +0100
|
Date: Fri, 10 Feb 2012 09:37:18 +0100
|
||||||
Subject: [PATCH] Backup and restore /run/initramfs via systemd services
|
Subject: [PATCH] Backup and restore /run/initramfs via systemd services
|
||||||
|
|
||||||
This saves the space /run/initramfs is taking for the shutdown
|
This saves the space /run/initramfs is taking for the shutdown
|
||||||
|
|
||||||
[Raw patch edited by kay, this is not the git version]
|
|
||||||
---
|
---
|
||||||
Makefile | 16 ++++++++++++++--
|
Makefile | 16 ++++++++++++++--
|
||||||
dracut-backup.service | 15 +++++++++++++++
|
dracut-backup.service | 15 +++++++++++++++
|
||||||
dracut-initramfs-backup.sh | 22 ++++++++++++++++++++++
|
dracut-initramfs-backup.sh | 22 ++++++++++++++++++++++
|
||||||
dracut-restore.service | 18 ++++++++++++++++++
|
dracut-restore.service | 18 ++++++++++++++++++
|
||||||
dracut.spec | 12 +++++++++++-
|
dracut.spec | 13 ++++++++++++-
|
||||||
5 files changed, 80 insertions(+), 3 deletions(-)
|
5 files changed, 81 insertions(+), 3 deletions(-)
|
||||||
create mode 100644 dracut-backup.service
|
create mode 100644 dracut-backup.service
|
||||||
create mode 100644 dracut-initramfs-backup.sh
|
create mode 100644 dracut-initramfs-backup.sh
|
||||||
create mode 100644 dracut-restore.service
|
create mode 100644 dracut-restore.service
|
||||||
@ -67,7 +65,7 @@ new file mode 100644
|
|||||||
index 0000000..69110eb
|
index 0000000..69110eb
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/dracut-backup.service
|
+++ b/dracut-backup.service
|
||||||
@@ -0,0 +1,16 @@
|
@@ -0,0 +1,15 @@
|
||||||
+# This file is part of systemd.
|
+# This file is part of systemd.
|
||||||
+#
|
+#
|
||||||
+# systemd is free software; you can redistribute it and/or modify it
|
+# systemd is free software; you can redistribute it and/or modify it
|
||||||
@ -77,7 +75,6 @@ index 0000000..69110eb
|
|||||||
+
|
+
|
||||||
+[Unit]
|
+[Unit]
|
||||||
+Description=Save /run/initramfs
|
+Description=Save /run/initramfs
|
||||||
+DefaultDependencies=no
|
|
||||||
+ConditionPathExists=/run/initramfs
|
+ConditionPathExists=/run/initramfs
|
||||||
+
|
+
|
||||||
+[Service]
|
+[Service]
|
||||||
@ -138,7 +135,7 @@ index 0000000..3a07efe
|
|||||||
+RemainAfterExit=yes
|
+RemainAfterExit=yes
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
diff --git a/dracut.spec b/dracut.spec
|
||||||
index 1b0b76b..17a62b2 100644
|
index 1b0b76b..6efd553 100644
|
||||||
--- a/dracut.spec
|
--- a/dracut.spec
|
||||||
+++ b/dracut.spec
|
+++ b/dracut.spec
|
||||||
@@ -27,6 +27,7 @@ Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
|
@@ -27,6 +27,7 @@ Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
|
||||||
@ -170,7 +167,15 @@ index 1b0b76b..17a62b2 100644
|
|||||||
|
|
||||||
echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
|
echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
|
||||||
|
|
||||||
@@ -266,6 +272,10 @@ rm -rf $RPM_BUILD_ROOT
|
@@ -217,6 +223,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%dir %{dracutlibdir}/modules.d
|
||||||
|
%{dracutlibdir}/dracut-functions
|
||||||
|
%{dracutlibdir}/dracut-logger
|
||||||
|
+%{dracutlibdir}/dracut-initramfs-backup
|
||||||
|
%config(noreplace) /etc/dracut.conf
|
||||||
|
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
|
||||||
|
%config /etc/dracut.conf.d/01-dist.conf
|
||||||
|
@@ -266,6 +273,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%config(noreplace) /etc/logrotate.d/dracut_log
|
%config(noreplace) /etc/logrotate.d/dracut_log
|
||||||
%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
|
%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
|
||||||
%dir %{_sharedstatedir}/initramfs
|
%dir %{_sharedstatedir}/initramfs
|
||||||
|
349
0008-shutdown-on-demand.patch
Normal file
349
0008-shutdown-on-demand.patch
Normal file
@ -0,0 +1,349 @@
|
|||||||
|
From fb67e4aa36948b3ed1208bf963da5569d1b13409 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Fri, 10 Feb 2012 11:14:42 +0100
|
||||||
|
Subject: [PATCH] shutdown on demand
|
||||||
|
|
||||||
|
Do not save and restore the initramfs, but instead, just unpack the
|
||||||
|
default initramfs for shutdown on shutdown.
|
||||||
|
---
|
||||||
|
Makefile | 9 +++------
|
||||||
|
dracut-backup.service | 15 ---------------
|
||||||
|
dracut-initramfs-backup.sh | 22 ----------------------
|
||||||
|
dracut-initramfs-restore.sh | 10 ++++++++++
|
||||||
|
dracut-restore.service | 18 ------------------
|
||||||
|
dracut-shutdown.service | 18 ++++++++++++++++++
|
||||||
|
dracut.conf.d/fedora.conf.example | 1 -
|
||||||
|
dracut.spec | 2 +-
|
||||||
|
modules.d/90crypt/cryptroot-ask.sh | 1 +
|
||||||
|
modules.d/90dmraid/dmraid.sh | 1 +
|
||||||
|
modules.d/90dmsquash-live/dmsquash-live-root | 2 ++
|
||||||
|
modules.d/90lvm/lvm_scan.sh | 2 ++
|
||||||
|
modules.d/90mdraid/mdraid-cleanup.sh | 4 ++--
|
||||||
|
modules.d/90multipath/multipathd.sh | 1 +
|
||||||
|
modules.d/95fcoe/fcoe-up | 2 ++
|
||||||
|
modules.d/95iscsi/iscsiroot | 2 ++
|
||||||
|
modules.d/95nbd/nbdroot | 1 +
|
||||||
|
modules.d/95nfs/nfsroot | 2 +-
|
||||||
|
modules.d/98usrmount/mount-usr.sh | 10 ++++++++++
|
||||||
|
modules.d/99base/dracut-lib.sh | 4 ++++
|
||||||
|
20 files changed, 61 insertions(+), 66 deletions(-)
|
||||||
|
delete mode 100644 dracut-backup.service
|
||||||
|
delete mode 100644 dracut-initramfs-backup.sh
|
||||||
|
create mode 100644 dracut-initramfs-restore.sh
|
||||||
|
delete mode 100644 dracut-restore.service
|
||||||
|
create mode 100644 dracut-shutdown.service
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 09e87c8..99279ac 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -40,7 +40,7 @@ install: doc
|
||||||
|
mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
|
||||||
|
install -m 0755 dracut-functions $(DESTDIR)$(pkglibdir)/dracut-functions
|
||||||
|
install -m 0755 dracut-logger $(DESTDIR)$(pkglibdir)/dracut-logger
|
||||||
|
- install -m 0755 dracut-initramfs-backup.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-backup
|
||||||
|
+ install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
|
||||||
|
cp -arx modules.d $(DESTDIR)$(pkglibdir)
|
||||||
|
install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
|
||||||
|
install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
|
||||||
|
@@ -50,12 +50,9 @@ install: doc
|
||||||
|
ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
|
||||||
|
if [ -n "$(systemdsystemunitdir)" ]; then \
|
||||||
|
mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
|
||||||
|
- install -m 0644 dracut-backup.service $(DESTDIR)$(systemdsystemunitdir); \
|
||||||
|
- install -m 0644 dracut-restore.service $(DESTDIR)$(systemdsystemunitdir); \
|
||||||
|
- mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants; \
|
||||||
|
+ install -m 0644 dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir); \
|
||||||
|
mkdir -p $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants; \
|
||||||
|
- ln -s ../dracut-backup.service $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-backup.service; \
|
||||||
|
- ln -s ../dracut-restore.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-restore.service; \
|
||||||
|
+ ln -s ../dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-shutdown.service; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
clean:
|
||||||
|
diff --git a/dracut-backup.service b/dracut-backup.service
|
||||||
|
deleted file mode 100644
|
||||||
|
index 69110eb..0000000
|
||||||
|
--- a/dracut-backup.service
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,15 +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 General Public License as published by
|
||||||
|
-# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-
|
||||||
|
-[Unit]
|
||||||
|
-Description=Save /run/initramfs
|
||||||
|
-ConditionPathExists=/run/initramfs
|
||||||
|
-
|
||||||
|
-[Service]
|
||||||
|
-ExecStart=/usr/lib/dracut/dracut-initramfs-backup backup
|
||||||
|
-Type=oneshot
|
||||||
|
-RemainAfterExit=yes
|
||||||
|
diff --git a/dracut-initramfs-backup.sh b/dracut-initramfs-backup.sh
|
||||||
|
deleted file mode 100644
|
||||||
|
index 7320d40..0000000
|
||||||
|
--- a/dracut-initramfs-backup.sh
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,22 +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
|
||||||
|
-
|
||||||
|
-set -e
|
||||||
|
-cd /run/initramfs
|
||||||
|
-
|
||||||
|
-if [ "x$1" = "xbackup" ]; then
|
||||||
|
- compress="gzip"
|
||||||
|
- command -v pigz > /dev/null 2>&1 && compress="pigz"
|
||||||
|
- find . |cpio -H newc -o --quiet \
|
||||||
|
- | pigz > /var/lib/initramfs/_run_initramfs-backup.cpio.gz
|
||||||
|
- mv -f /var/lib/initramfs/_run_initramfs-backup.cpio.gz \
|
||||||
|
- /var/lib/initramfs/run_initramfs-backup.cpio.gz
|
||||||
|
- rm -fr etc bin lib lib64 sbin shutdown tmp usr var
|
||||||
|
- > .backuped
|
||||||
|
-elif [ "x$1" = "xrestore" ]; then
|
||||||
|
- [ -f .backuped -a -f /var/lib/initramfs/run_initramfs-backup.cpio.gz ] || exit 1
|
||||||
|
- zcat /var/lib/initramfs/run_initramfs-backup.cpio.gz | cpio -id >/dev/null 2>&1
|
||||||
|
- rm .backuped
|
||||||
|
- rm -f /var/lib/initramfs/run_initramfs-backup.cpio.gz
|
||||||
|
-fi
|
||||||
|
diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..26b698b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/dracut-initramfs-restore.sh
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||||
|
+# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||||
|
+
|
||||||
|
+set -e
|
||||||
|
+cd /run/initramfs
|
||||||
|
+IMG="/boot/initramfs-$(uname -r).img"
|
||||||
|
+[ -f .need_shutdown -a -f "$IMG" ] || exit 1
|
||||||
|
+zcat "$IMG" | cpio -id >/dev/null 2>&1
|
||||||
|
+rm .need_shutdown
|
||||||
|
diff --git a/dracut-restore.service b/dracut-restore.service
|
||||||
|
deleted file mode 100644
|
||||||
|
index 3a07efe..0000000
|
||||||
|
--- a/dracut-restore.service
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,18 +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 General Public License as published by
|
||||||
|
-# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-
|
||||||
|
-[Unit]
|
||||||
|
-Description=Restore /run/initramfs
|
||||||
|
-After=getty@tty1.service prefdm.service
|
||||||
|
-Before=reboot.service
|
||||||
|
-DefaultDependencies=no
|
||||||
|
-ConditionPathExists=/run/initramfs/.backuped
|
||||||
|
-
|
||||||
|
-[Service]
|
||||||
|
-ExecStart=/usr/lib/dracut/dracut-initramfs-backup restore
|
||||||
|
-Type=oneshot
|
||||||
|
-RemainAfterExit=yes
|
||||||
|
\ No newline at end of file
|
||||||
|
diff --git a/dracut-shutdown.service b/dracut-shutdown.service
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4f06e35
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/dracut-shutdown.service
|
||||||
|
@@ -0,0 +1,18 @@
|
||||||
|
+# This file is part of systemd.
|
||||||
|
+#
|
||||||
|
+# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
+# under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+
|
||||||
|
+[Unit]
|
||||||
|
+Description=Restore /run/initramfs
|
||||||
|
+After=getty@tty1.service prefdm.service
|
||||||
|
+Before=reboot.service
|
||||||
|
+DefaultDependencies=no
|
||||||
|
+ConditionPathExists=/run/initramfs/.need_shutdown
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+ExecStart=/usr/lib/dracut/dracut-initramfs-restore
|
||||||
|
+Type=oneshot
|
||||||
|
+RemainAfterExit=yes
|
||||||
|
diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
|
||||||
|
index 45063c6..adfecc8 100644
|
||||||
|
--- a/dracut.conf.d/fedora.conf.example
|
||||||
|
+++ b/dracut.conf.d/fedora.conf.example
|
||||||
|
@@ -5,6 +5,5 @@ i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-F
|
||||||
|
add_dracutmodules+=" rpmversion "
|
||||||
|
omit_dracutmodules+=" dash "
|
||||||
|
stdloglvl=3
|
||||||
|
-prefix=/run/initramfs
|
||||||
|
realinitpath="/usr/lib/systemd/systemd"
|
||||||
|
install_items+=" vi /etc/virc ps grep cat rm openvt "
|
||||||
|
diff --git a/dracut.spec b/dracut.spec
|
||||||
|
index 6efd553..304f1f3 100644
|
||||||
|
--- a/dracut.spec
|
||||||
|
+++ b/dracut.spec
|
||||||
|
@@ -223,7 +223,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%dir %{dracutlibdir}/modules.d
|
||||||
|
%{dracutlibdir}/dracut-functions
|
||||||
|
%{dracutlibdir}/dracut-logger
|
||||||
|
-%{dracutlibdir}/dracut-initramfs-backup
|
||||||
|
+%{dracutlibdir}/dracut-initramfs-restore
|
||||||
|
%config(noreplace) /etc/dracut.conf
|
||||||
|
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
|
||||||
|
%config /etc/dracut.conf.d/01-dist.conf
|
||||||
|
diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
|
||||||
|
index 6a95dc2..aba1331 100755
|
||||||
|
--- a/modules.d/90crypt/cryptroot-ask.sh
|
||||||
|
+++ b/modules.d/90crypt/cryptroot-ask.sh
|
||||||
|
@@ -117,6 +117,7 @@ unset device luksname luksfile
|
||||||
|
# mark device as asked
|
||||||
|
>> /tmp/cryptroot-asked-$2
|
||||||
|
|
||||||
|
+need_shutdown
|
||||||
|
udevsettle
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
|
||||||
|
index feff516..574dc3b 100755
|
||||||
|
--- a/modules.d/90dmraid/dmraid.sh
|
||||||
|
+++ b/modules.d/90dmraid/dmraid.sh
|
||||||
|
@@ -40,3 +40,4 @@ else
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
+need_shutdown
|
||||||
|
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root b/modules.d/90dmsquash-live/dmsquash-live-root
|
||||||
|
index d9fcc43..e3606cf 100755
|
||||||
|
--- a/modules.d/90dmsquash-live/dmsquash-live-root
|
||||||
|
+++ b/modules.d/90dmsquash-live/dmsquash-live-root
|
||||||
|
@@ -206,4 +206,6 @@ fi
|
||||||
|
ln -s /dev/mapper/live-rw /dev/root
|
||||||
|
printf '/bin/mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
|
||||||
|
|
||||||
|
+need_shutdown
|
||||||
|
+
|
||||||
|
exit 0
|
||||||
|
diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh
|
||||||
|
index 3c0094e..104565f 100755
|
||||||
|
--- a/modules.d/90lvm/lvm_scan.sh
|
||||||
|
+++ b/modules.d/90lvm/lvm_scan.sh
|
||||||
|
@@ -126,3 +126,5 @@ if [ "$lvmwritten" ]; then
|
||||||
|
rm -f /etc/lvm/lvm.conf
|
||||||
|
fi
|
||||||
|
unset lvmwritten
|
||||||
|
+
|
||||||
|
+need_shutdown
|
||||||
|
diff --git a/modules.d/90mdraid/mdraid-cleanup.sh b/modules.d/90mdraid/mdraid-cleanup.sh
|
||||||
|
index 3ffa2d3..2e8a389 100755
|
||||||
|
--- a/modules.d/90mdraid/mdraid-cleanup.sh
|
||||||
|
+++ b/modules.d/90mdraid/mdraid-cleanup.sh
|
||||||
|
@@ -13,11 +13,11 @@ for md in /dev/md[0-9_]*; do
|
||||||
|
containers="$containers $md"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
- mdadm -S "$md" >/dev/null 2>&1
|
||||||
|
+ mdadm -S "$md" >/dev/null 2>&1 || need_shutdown
|
||||||
|
done
|
||||||
|
|
||||||
|
for md in $containers; do
|
||||||
|
- mdadm -S "$md" >/dev/null 2>&1
|
||||||
|
+ mdadm -S "$md" >/dev/null 2>&1 || need_shutdown
|
||||||
|
done
|
||||||
|
|
||||||
|
unset containers udevinfo
|
||||||
|
diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
|
||||||
|
index 4d8935f..6d6eb99 100755
|
||||||
|
--- a/modules.d/90multipath/multipathd.sh
|
||||||
|
+++ b/modules.d/90multipath/multipathd.sh
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
if [ -e /etc/multipath.conf ]; then
|
||||||
|
modprobe dm-multipath
|
||||||
|
multipathd -B || multipathd
|
||||||
|
+ need_shutdown
|
||||||
|
else
|
||||||
|
rm /etc/udev/rules.d/??-multipath.rules 2>/dev/null
|
||||||
|
fi
|
||||||
|
diff --git a/modules.d/95fcoe/fcoe-up b/modules.d/95fcoe/fcoe-up
|
||||||
|
index 5c5bdb5..1e1bcf5 100755
|
||||||
|
--- a/modules.d/95fcoe/fcoe-up
|
||||||
|
+++ b/modules.d/95fcoe/fcoe-up
|
||||||
|
@@ -46,3 +46,5 @@ elif [ "$netdriver" = "bnx2x" ]; then
|
||||||
|
else
|
||||||
|
echo -n "$netif" > /sys/module/fcoe/parameters/create
|
||||||
|
fi
|
||||||
|
+
|
||||||
|
+need_shutdown
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot b/modules.d/95iscsi/iscsiroot
|
||||||
|
index e7bac74..d8f7c8f 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot
|
||||||
|
@@ -205,6 +205,8 @@ else
|
||||||
|
handle_netroot $iroot
|
||||||
|
fi
|
||||||
|
|
||||||
|
+need_shutdown
|
||||||
|
+
|
||||||
|
# now we have a root filesystem somewhere in /dev/sda*
|
||||||
|
# let the normal block handler handle root=
|
||||||
|
exit 0
|
||||||
|
diff --git a/modules.d/95nbd/nbdroot b/modules.d/95nbd/nbdroot
|
||||||
|
index 1fb2140..e20b4e4 100755
|
||||||
|
--- a/modules.d/95nbd/nbdroot
|
||||||
|
+++ b/modules.d/95nbd/nbdroot
|
||||||
|
@@ -107,4 +107,5 @@ fi
|
||||||
|
# NBD doesn't emit uevents when it gets connected, so kick it
|
||||||
|
echo change > /sys/block/nbd0/uevent
|
||||||
|
udevadm settle
|
||||||
|
+need_shutdown
|
||||||
|
exit 0
|
||||||
|
diff --git a/modules.d/95nfs/nfsroot b/modules.d/95nfs/nfsroot
|
||||||
|
index 2103e24..764971b 100755
|
||||||
|
--- a/modules.d/95nfs/nfsroot
|
||||||
|
+++ b/modules.d/95nfs/nfsroot
|
||||||
|
@@ -106,4 +106,4 @@ echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/
|
||||||
|
# force udevsettle to break
|
||||||
|
> $hookdir/initqueue/work
|
||||||
|
|
||||||
|
-
|
||||||
|
+need_shutdown
|
||||||
|
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
|
||||||
|
index 5139c7a..9998624 100755
|
||||||
|
--- a/modules.d/98usrmount/mount-usr.sh
|
||||||
|
+++ b/modules.d/98usrmount/mount-usr.sh
|
||||||
|
@@ -11,6 +11,16 @@ mount_usr()
|
||||||
|
# check, if we have to mount the /usr filesystem
|
||||||
|
while read _dev _mp _fs _opts _rest; do
|
||||||
|
if [ "$_mp" = "/usr" ]; then
|
||||||
|
+ case "$_dev" in
|
||||||
|
+ LABEL=*)
|
||||||
|
+ _dev="$(echo $_dev | sed 's,/,\\x2f,g')"
|
||||||
|
+ _dev="/dev/disk/by-label/${_dev#LABEL=}"
|
||||||
|
+ ;;
|
||||||
|
+ UUID=*)
|
||||||
|
+ _dev="${_dev#block:}"
|
||||||
|
+ _dev="/dev/disk/by-uuid/${_dev#UUID=}"
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_rest"
|
||||||
|
_usr_found="1"
|
||||||
|
break
|
||||||
|
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
||||||
|
index 4897a3d..6b70adf 100755
|
||||||
|
--- a/modules.d/99base/dracut-lib.sh
|
||||||
|
+++ b/modules.d/99base/dracut-lib.sh
|
||||||
|
@@ -738,3 +738,7 @@ killproc() {
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+need_shutdown() {
|
||||||
|
+ >/run/initramfs/.need_shutdown
|
||||||
|
+}
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: dracut
|
Name: dracut
|
||||||
Version: 015
|
Version: 015
|
||||||
Release: 9.git20120210%{?dist}
|
Release: 9.git20120213%{?dist}
|
||||||
|
|
||||||
Summary: Initramfs generator using udev
|
Summary: Initramfs generator using udev
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
%if 0%{?fedora} || 0%{?rhel} > 6
|
||||||
@ -31,6 +31,7 @@ Patch4: 0004-dracut-honor-binaries-in-sbin-first.patch
|
|||||||
Patch5: 0005-98usrmount-mount-usr.sh-remove-extra-slash.patch
|
Patch5: 0005-98usrmount-mount-usr.sh-remove-extra-slash.patch
|
||||||
Patch6: 0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch
|
Patch6: 0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch
|
||||||
Patch7: 0007-Backup-and-restore-run-initramfs-via-systemd-service.patch
|
Patch7: 0007-Backup-and-restore-run-initramfs-via-systemd-service.patch
|
||||||
|
Patch8: 0008-shutdown-on-demand.patch
|
||||||
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -231,7 +232,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir %{dracutlibdir}/modules.d
|
%dir %{dracutlibdir}/modules.d
|
||||||
%{dracutlibdir}/dracut-functions
|
%{dracutlibdir}/dracut-functions
|
||||||
%{dracutlibdir}/dracut-logger
|
%{dracutlibdir}/dracut-logger
|
||||||
%{dracutlibdir}/dracut-initramfs-backup
|
%{dracutlibdir}/dracut-initramfs-restore
|
||||||
%config(noreplace) /etc/dracut.conf
|
%config(noreplace) /etc/dracut.conf
|
||||||
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
|
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
|
||||||
%config /etc/dracut.conf.d/01-dist.conf
|
%config /etc/dracut.conf.d/01-dist.conf
|
||||||
|
Loading…
Reference in New Issue
Block a user