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?
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
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