mirror of
https://github.com/clearlinux/clr-init.git
synced 2026-06-16 02:55:49 +00:00
V1.0.11
Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
clr-init
Initrd created using systemd as init program
Luks Encryption support
The systemd rd parameters for luks most be added to the kernel cmdline to know who is the encrypted root partition: https://www.freedesktop.org/software/systemd/man/systemd-cryptsetup-generator.html#Kernel%20Command%20Line
This initrd most not be using with LVM partitons, how ever it could be complemented adding services in an additional initrd
How this works
This is the flow of an initrd with systemd:
+----------------+
| systemd (init) |
+----------------+
+
v
+--------------------------------+
| system-generators |
|--------------------------------|
| nfs-server-generator |
| rpc-pipefs-generator |
| systemd-cryptsetup-generator |
| systemd-debug-generator |
| systemd-fstab-generator |
| systemd-getty-generator |
| systemd-gpt-auto-generator |
| systemd-system-update-generator|
| systemd-veritysetup-generator |
+--------------------------------+
+
|
v
+-------------------+
|local-fs-pre.target|
+-------------------+
+
|
|
|
v
+-----------------------------+ +-----------------+ +-----------------------+
| local-fs.target | | swap.target | | cryptsetup.target |
|-----------------------------| |-----------------| |-----------------------|
| | | | | |
| tmp.mount | | (various swap | | (various cryptsetup |
| systemd-remount-fs.service | | devices...) | | devices...) |
| | | | | |
+-----------------------------+ +-----------------+ +-----------------------+
+ | |
| | |
+------------------------------>|<------------------------------+
v
+--------------------------------------+
| sysinit.target |
|--------------------------------------|
| systemd-ask-password-console.path |
| systemd-tmpfiles-setup-dev.service |
| systemd-tmpfiles-setup.service |
| systemd-udevd.service |
| systemd-udev-trigger.service |
+--------------------------------------+
+
|
+------------------+-----------------+|+---------------+------------------------+
| | | | |
| | | | |
v v | v v
+----------------+ +----------------+ | +------------------------------++---------------+
| timers.target | | paths.target | | | sockets.target || rescue.target |
|----------------| |----------------| | |------------------------------|+---------------+
| (various | | (various | | | systemd-udevd-control.socket|
| timers...) | | paths...) | | | systemd-udevd-kernel.socket |
| | | | | | |
+----------------+ +----------------+ | +------------------------------+
+ | +
| | |
| | |
+------------------>|<---------------+
|
|
|
v
+------------+
|basic.target|
+------------+
+
|
v
+--------------------------------+ +----------------+
| initrd-root-device.target | |emergency.target|
|--------------------------------| +----------------+
| sysroot.mount |
+--------------------------------+
+
|
v
+--------------------------------+
| initrd-root-fs.target |
|--------------------------------|
| initrd-parse-etc.service |
+--------------------------------+
+
|
v
+--------------------------------+
| initrd-fs.target |
|--------------------------------|
| (sysroot-usr.mount and |
| various mounts marked |
| with fstab option |
| x-initrd.mount...) |
+--------------------------------+
+
|
v
+------------------------------------+
| initrd.target |
|------------------------------------|
| initrd-cleanup.service |
| initrd-udevadm-cleanup-db.service |
+------------------------------------+
+
|
v
+-------------------------------+
| initrd-switch-root.target |
|-------------------------------|
| |
| initrd-switch-root.service |
| |
+-------------------------------+
+
|
v
+------------------------+
| Transition to Host OS |
+------------------------+
Create and Install
This will install clr-init.cpio.gz in /usr/lib/initrd
make && make install
Description
Languages
Makefile
100%