DRACUT.BOOTUP(7)
π DRACUT.BOOTUP π
okay so this little icon is dracut.bootup, section 7 of the dracut manual, and it's literally just the blueprint of how boot goes down inside the initramfs. if you've ever wondered what order everything wakes up in? this is the group chat receipts. π«Ά
β¨ NAME β¨
dracut.bootup β boot ordering in the initramfs, no cap.
π¦ DESCRIPTION π¦
so this flow chart (yes bestie, the whole page is basically one big chart, and it ate) shows the ordering of the services β but only if systemd is used in the dracut initramfs. like, systemd specifically. that's the vibe check. π
follow the arrows top to bottom, that's the whole plot:
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
| initrd-root-device.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
likeβ¦ it's giving "main character energy" for every single unit in there. systemd-journal.socket starts the whole thing off and switch-root is the final boss. the way that sysinit.target just collects everything into one big \|/ moment? obsessed. ππ₯
a couple of bits worth squinting at, because they're easy to miss in the chaos:
local-fs-pre.targetanddracut-pre-trigger.serviceboth fork off into their own little branches, andlocal-fs.targethasswap.targetchillin' next to it (that's the(various swap devices...)lane).dracut-initqueue.serviceandsystemd-udev-trigger.serviceboth funnel into the same\|/party atsysinit.target, along with those two far-right columns β(various low-level services: seed, tmpfiles, random sysctl, ...)and(various low-level API VFS mounts: mqueue, configfs, debugfs, ...). iykyk. πsockets.targetand(various sockets...)come up out ofsysinit.targettoo, andrescue.serviceβrescue.targetlives on the right.emergency.serviceβemergency.targetsits even further out β that's your "everything is on fire" lane, bestie. πbasic.targetthen hands off down toinitrd-root-device.targetβdracut-pre-mount.serviceβsysroot.mountβinitrd-root-fs.targetβdracut-mount.serviceβinitrd-parse-etc.service, and that one opens up into(sysroot-usr.mount and various mounts marked with fstab option x-initrd.mount)βinitrd-fs.target.- meanwhile
(custom initrd services)hangs out on the left, quietly doing its thing, and rejoins atinitrd.target. π§ - after
initrd.targetyou getdracut-pre-pivot.serviceβinitrd-cleanup.service, which isolates toinitrd-switch-root.target. theninitrd-udevadm-cleanup-db.serviceand(custom initrd services)(again! queen of cameos) merge back intoinitrd-switch-root.targetβinitrd-switch-root.serviceβswitch-root. periodt. π
ngl, the whole thing is basically "we're so back β it's so over β we're so back" but as a dependency graph. follow the arrows, don't skip the arrows. β
π AUTHOR π
Harald Hoyer β iconic. thank you for this masterpiece. π
π SEE ALSO π
dracutβ section 8, the main character of the whole manualbootupβ section 7, external
so yeah, that's the page! source is dracut, version/date stamped 2026-06-01 β mwah, slay, go boot something, bestie ππ¦πΈβ¨
π¦ where this page comes from
- alpine 3.24: dracut-doc 111-r1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms