Add support for autoinit
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).