dracut/0059-add-dracut.bootup.7-man-page.patch
Harald Hoyer 6300332c04 dracut-026-62.git20130319
- fix dracut service ordering
Resolves: rhbz#922991
2013-03-19 12:27:22 +01:00

300 lines
11 KiB
Diff

From a1ebd7717957e1e89f5245541c5d2bf308fa5582 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 19 Mar 2013 12:22:58 +0100
Subject: [PATCH] add dracut.bootup.7 man page
---
Makefile | 3 +-
dracut.asc | 29 +++++++------
dracut.bootup.7.asc | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++
dracut.spec | 1 +
4 files changed, 141 insertions(+), 14 deletions(-)
create mode 100644 dracut.bootup.7.asc
diff --git a/Makefile b/Makefile
index ce40647..6268772 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,8 @@ man1pages = lsinitrd.1
man5pages = dracut.conf.5
-man7pages = dracut.cmdline.7
+man7pages = dracut.cmdline.7 \
+ dracut.bootup.7
man8pages = dracut.8 \
dracut-catimages.8 \
diff --git a/dracut.asc b/dracut.asc
index d11e95c..359824f 100644
--- a/dracut.asc
+++ b/dracut.asc
@@ -120,6 +120,9 @@ final cleanup tasks. On an initramfs, the initial root file system cannot be
rotated away. Instead, it is simply emptied and the final root file system
mounted over the top.
+If the systemd module is used in the initramfs, the ordering of the services
+started looks like <<dracutbootup7>>.
+
== Dracut on shutdown
On a systemd driven system, the dracut initramfs is also used for the shutdown procedure.
@@ -531,19 +534,19 @@ all files in _/etc/dracut.conf.d/*.conf_
As well as the information from <<all-bug-reports>> include the following
information:
-* Include physical volume information by running the command:
+* Include physical volume information by running the command:
+
----
# lvm pvdisplay
----
+
-* Include volume group information by running the command:
+* Include volume group information by running the command:
+
----
# lvm vgdisplay
----
+
-* Include logical volume information by running the command:
+* Include logical volume information by running the command:
+
----
# lvm lvdisplay
@@ -554,7 +557,7 @@ information:
As well as the information from <<all-bug-reports>>, include the following
information:
-* If using software RAID disk partitions, please include the output of
+* If using software RAID disk partitions, please include the output of
+
----
# cat /proc/mdstat
@@ -659,7 +662,7 @@ title Fedora (2.6.29.5-191.fc11.x86_64)
No root device found
Dropping to debug shell.
-#
+#
----
+
. Use this shell prompt to gather the information requested above (see <<all-bug-reports>>).
@@ -679,7 +682,7 @@ The exact method for locating and preparing will vary. However, to continue with
a successful boot, the objective is to locate your root volume and create a
symlink _/dev/root_ which points to the file system. For example, the following
example demonstrates accessing and booting a root volume that is an encrypted
-LVM Logical volume.
+LVM Logical volume.
. Inspect your partitions using parted
+
@@ -695,7 +698,7 @@ Number Start End Size Type File system Flags
----
+
. You recall that your root volume was a LVM logical volume. Scan and activate
-any logical volumes.
+any logical volumes.
+
----
# lvm vgscan
@@ -721,7 +724,7 @@ Installation Guide, you unlock your encrypted root volume.
# UUID=$(cryptsetup luksUUID /dev/mapper/linux-root)
# cryptsetup luksOpen /dev/mapper/linux-root luks-$UUID
Enter passphrase for /dev/mapper/linux-root:
-Key slot 0 unlocked.
+Key slot 0 unlocked.
----
+
. Next, make a symbolic link to the unlocked root volume
@@ -780,7 +783,7 @@ processes, and switches to the real root device for further booting. dracut
modules can insert custom script at various points, to control the boot process.
These hooks are plain directories containing shell scripts ending with ".sh",
which are sourced by init.
-Common used functions are in _dracut-lib.sh_, which can be sourced by any script.
+Common used functions are in _dracut-lib.sh_, which can be sourced by any script.
@@ -829,7 +832,7 @@ udevadm.
=== Trigger Udev
udev is triggered by calling udevadm trigger, which sends add events for all
-devices and subsystems.
+devices and subsystems.
@@ -909,7 +912,6 @@ still running from the initramfs should not have any open file descriptors left.
== Network Infrastructure
-
FIXME
@@ -1028,13 +1030,11 @@ instmods
=== Creation Functions
-
FIXME
=== Initramfs Functions
-
FIXME
@@ -1042,6 +1042,9 @@ FIXME
FIXME
+:leveloffset: 1
+[[dracutbootup7]]
+include::dracut.bootup.7.asc[]
:leveloffset: 1
[[dracut8]]
diff --git a/dracut.bootup.7.asc b/dracut.bootup.7.asc
new file mode 100644
index 0000000..c35af19
--- /dev/null
+++ b/dracut.bootup.7.asc
@@ -0,0 +1,122 @@
+DRACUT.BOOTUP(7)
+================
+:doctype: manpage
+:man source: dracut
+:man manual: dracut
+
+NAME
+----
+dracut.bootup - boot ordering in the initramfs
+
+DESCRIPTION
+-----------
+
+This flow chart illustrates the ordering of the services, if systemd is used in the dracut initramfs.
+----
+
+ systemd-journal.socket
+ |
+ v
+ dracut-cmdline.service
+ |
+ v
+ dracut-pre-udev.service
+ |
+ v
+ systemd-udevd.service
+ |
+ v
+local-fs-pre.target dracut-pre-trigger.service
+ | |
+ v v
+ (various mounts) (various swap systemd-udev-trigger.service
+ | devices...) | (various low-level (various low-level
+ | | | services: seed, API VFS mounts:
+ v v v tmpfiles, random mqueue, configfs,
+ local-fs.target swap.target dracut-initqueue.service sysctl, ...) debugfs, ...)
+ | | | | |
+ \_______________|____________________ | ___________________|____________________/
+ \|/
+ v
+ sysinit.target
+ |
+ _________________/|\___________________
+ / | \
+ | | |
+ v | v
+ (various | rescue.service
+ sockets...) | |
+ | | v
+ v | rescue.target
+ sockets.target |
+ | |
+ \_________________ | emergency.service
+ \| |
+ v v
+ basic.target emergency.target
+ |
+ ______________________/|
+ / |
+ | v
+ | dracut-pre-mount.service
+ | |
+ | v
+ | sysroot.mount
+ | |
+ | v
+ | initrd-root-fs.target
+ (custom initrd services) |
+ | v
+ | dracut-mount.service
+ | |
+ | v
+ | initrd-parse-etc.service
+ | |
+ | v
+ | (sysroot-usr.mount and
+ | various mounts marked
+ | with fstab option
+ | x-initrd.mount)
+ | |
+ | v
+ | initrd-fs.target
+ \______________________ |
+ \|
+ v
+ initrd.target
+ |
+ v
+ dracut-pre-pivot.service
+ |
+ v
+ initrd-cleanup.service
+ isolates to
+ initrd-switch-root.target
+ |
+ v
+ ______________________/|
+ / |
+ | initrd-udevadm-cleanup-db.service
+ | |
+ (custom initrd services) |
+ | |
+ \______________________ |
+ \|
+ v
+ initrd-switch-root.target
+ |
+ v
+ initrd-switch-root.service
+ |
+ v
+ switch-root
+----
+
+
+AUTHOR
+------
+Harald Hoyer
+
+SEE ALSO
+--------
+*dracut*(8) *bootup*(7)
diff --git a/dracut.spec b/dracut.spec
index ac4a786..445463f 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -304,6 +304,7 @@ rm -rf $RPM_BUILD_ROOT
%endif
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7*
+%{_mandir}/man7/dracut.bootup.7*
%{_mandir}/man5/dracut.conf.5*
%if %{defined _unitdir}
%{dracutlibdir}/modules.d/00systemd-bootchart