Reading the latest Upstart version (Upstart 1.6 right now), I saw the following line:
Added initramfs-less boot support
Does this mean that the step for initramfs can be skipped?
Will the booting time be faster or the system perform better?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
The initramfs, or, initrd, is responsible for setting up your root filesystem before booting the full system. If you have software RAID, that gets setup in the initrd. If you have whole-disk encryption, thats handled in the initrd. Some storage drivers have to have things run from userland before using them, so those are handled in the initrd. Thre are probably other things I'm missing. You can checkout the whole thing on an Ubuntu system by looking in
/usr/share/initramfs-tools. The file,
init, is actually the init script that gets run first by the kernel. If you look at the bottom, you see where it sets up the new root FS and runs /sbin/init (which is upstart)
But for a specialized system, like say an embedded system, this is all extra noise and complication. It does eat up a TINY fraction of boot time. We're taking 1 second or less, but thats 1 more second to shave off boot time on devices that need to boot fast.
Upstart's part in this play is creating the required device nodes and other system setup that is not handled by initrd/initramfs. It needs to initialize the system to such state all required pieces are present for system to successfully boot into userland. This all is clearly presented by the associated commit: http://bazaar.launchpad.net/~upstart-devel/upstart/trunk/revision/1375#init/main.c