clearlinux/clr-init

Name: clr-init

Owner: Clear Linux* Project for Intel Architecture

Description: null

Created: 2018-01-19 19:07:52.0

Updated: 2018-05-03 23:45:22.0

Pushed: 2018-05-03 23:45:59.0

Homepage: null

Size: 45

Language: Makefile

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

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 install

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.