Booting and initramfs technology

OSTree comes with optional dracut+systemd integration code that parses the ostree= kernel command line argument in the initramfs, and then sets up the read-only bind mount on /usr, a bind mount on the deployment's /sysroot to the physical /, and then finally uses mount(MS_MOVE) to make the deployment root appear to be the root filesystem before telling systemd to switch root.

If you are not using dracut or systemd, using OSTree should still be possible, but you will have to write the integration code. Patches to support other initramfs technologies and init systems, if sufficiently clean, will likely be accepted upstream.

A further specific note regarding sysvinit: OSTree used to support recording device files such the /dev/initctl FIFO, but no longer does. It's recommended to just patch your initramfs to create this at boot.