Elemental boot process #1844
davidcassany
started this conversation in
Ideas
Replies: 1 comment
-
Great writeup! I will try to implement some these changes in #1837 so we get closer to this state! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We currently have a single elemental dracut module that handles all elemental specific logic required within the initramfs. I believe this is a wrong approach because we should have devoted dracut modules for each of the different independent features we need in initramfs phase.
For instance the logic around how the ephemeral and persistent paths are set should be independent on how and when certain cloud-init stages are executed. Cloud-init services should be completely unrelated to the rootfs layout.
For that I think we require three different dracut modules:
elemental-sysroot
elemental-setup
elemental-rootfs
Elemental boot proces:
Some systemd generators
Cmd line parse to include state|recovery wait in initqueue [part of elemental-sysroot]
Basic target (initqueue ended with required devices found)
Mount state|recovery, sysroot and initrd oem
setup-rootfs.service [part of elemental-setup]
initrd-root-fs.target is reached
service elemental-rootfs [part of elemental-rootfs]
initrd-fs.target
service setup-initramfs
initrd.target is reached
This is not a change in the current boot process it is a change on how it is provided and how responsibilities are split across different logic blocks. Shouldn't be hard to implement and the result would help to better outline which are the features that elemental-toolkit provides and make them opt-in.
Beta Was this translation helpful? Give feedback.
All reactions