Browse Source

dracut.asc: document shutdown procedure

master
Harald Hoyer 12 years ago
parent
commit
1d22c670b0
  1. 22
      dracut.asc

22
dracut.asc

@ -79,7 +79,7 @@ udev pulls in modules matching the computer's detected hardware.
initialized and a user-space helper started to paint animations onto the display initialized and a user-space helper started to paint animations onto the display
in lockstep with the boot process. in lockstep with the boot process.


* If the root file system is on NFS, dracut does then: * If the root file system is on NFS, dracut does then:
** Bring up the primary network interface. ** Bring up the primary network interface.
** Invoke a DHCP client, with which it can obtain a DHCP lease. ** Invoke a DHCP client, with which it can obtain a DHCP lease.
** Extract the name of the NFS share and the address of the NFS server from the ** Extract the name of the NFS share and the address of the NFS server from the
@ -120,6 +120,26 @@ 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 rotated away. Instead, it is simply emptied and the final root file system
mounted over the top. mounted over the top.


== Dracut on shutdown

On a systemd driven system, the dracut initramfs is also used for the shutdown procedure.

The following steps are executed during a shutdown:

* systemd switches to the shutdown.target
* systemd starts /lib/systemd/system/shutdown.target.wants/dracut-shutdown.service
* dracut-shutdown.service executes /usr/lib/dracut/dracut-initramfs-restore
which unpacks the initramfs to /run/initramfs
* systemd finishes shutdown.target
* systemd kills all processes
* systemd tries to unmount everything and mounts the remaining read-only
* systemd checks, if there is a /run/initramfs/shutdown executable
* if yes, it does a pivot_root to /run/initramfs and executes ./shutdown.
The old root is then mounted on /oldroot. /usr/lib/dracut/modules.d/99shutdown/shutdown.sh is the shutdown executable.
* shutdown will try to umount every /oldroot mount and calls the various shutdown hooks from the dracut modules

This ensures, that all devices are disassembled and unmounted cleanly.

= User Manual = User Manual


== Creating an initramfs Image == Creating an initramfs Image

Loading…
Cancel
Save