Skip to content

Add support for autoinit

Alexander Larsson requested to merge alexlarsson/sample-images:use_autoinit into main

If use_autoinit is enabled, and autoinit_root is set to the root device in the target, then this creates an autoini-based initrd which has full ostree and composefs support, that boots much faster than a regular initrd.

You can test this like this: make cs9-qemu-minimal-ostree.x86_64.qcow2 DEFINES='use_autoinit=true autoinit_root="/dev/vda3"'

I ran som comparisons on cs9-qemu-minimal-ostree:

use_autoinit=false: Startup finished in 321ms (kernel) + 698ms (initrd) + 2.253s (userspace) = 3.274s

use_autoinit=true: Startup finished in 481ms (kernel) + 2.147s (userspace) = 2.628s

There is some variation over multiple runs, but it is pretty stable.

With autoinit systemd-analyze cannot determine what part is spend in the initrd, so all the time is considered spent in the kernel, but we can subtract to compute this table:

           old       new
kernel:    321       321 (msec) 
initrd:    698       160 (msec) 
userspace: 2252      2147 (msec) 
total:     3274      2678

So, we save ~500 msec in the initrd, and even some time in userspace (for unknown reasons).

Edited by Alexander Larsson

Merge request reports