DRACUT-SHUTDOWN.SERVICE(8)

✨ DRACUT-SHUTDOWN.SERVICE(8) ✨

okay bestie, welcome to the dracut corner of the manual pages β€” yes, that's the manual name, we're folding it in right here at the top, mwah πŸŽ€


🌸 NAME 🌸

dracut-shutdown.service β€” unpack the initramfs to /run/initramfs


πŸ¦‹ SYNOPSIS πŸ¦‹

dracut-shutdown.service

πŸ’œ DESCRIPTION πŸ’œ

So this service unpacks the initramfs image to /run/initramfs. Then systemd pivots into /run/initramfs at shutdown, so that the root filesystem can be safely unmounted. no cap, that's the whole vibe πŸ’…

Here's the actual timeline of what goes down during a shutdown, step by step, main character energy:

  • The system starts to shut down
  • $prefix/lib/systemd/system/sysinit.target.wants/dracut-shutdown.service gets its ExecStop target triggered.
  • dracut-shutdown.service executes /usr/lib/dracut/dracut-initramfs-restore which unpacks the initramfs to /run/initramfs
  • 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/[0-9][0-9]shutdown/shutdown.sh is the shutdown executable.
  • shutdown will try to unmount every /oldroot mount and calls the various shutdown hooks from the dracut modules

This ensures, that all devices are disassembled and unmounted cleanly. like, cleanly clean, the good kind of clean ✨


🧚 debugging era 🧚

Wanna debug the shutdown process? you literally can, bestie β€” get a shell in the shutdown procedure by injecting "rd.break=pre-shutdown rd.shell" or "rd.break=shutdown rd.shell". obsessed 🫢

# mkdir -p /run/initramfs/etc/cmdline.d
# echo "rd.break=pre-shutdown rd.shell" > /run/initramfs/etc/cmdline.d/50-debug.conf
# touch /run/initramfs/.need_shutdown
⚠️ okay important one: in case the unpack of the initramfs fails, dracut-shutdown-onfailure.service executes to make sure switch root doesn't happen, since it would result in switching to an incomplete initramfs. so like… it would be bad. the onfailure service is the safety net, don't sleep on it πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

Harald Hoyer


🌈 SEE ALSO 🌈

dracut(8)


and that's the whole page, bestie β€” brought to you by dracut, dated 2026-05-13, filed under DRACUT-SHUTDOWN.SERVICE(8) πŸ’– go unmount something safely fr fr πŸŽ€

πŸ“¦ where this page comes from