The growing adoption of the Linux operating system on netbook devices has compelled Linux distributors to focus on improving startup performance. Ubuntu 9.04, which was released last month, is one distribution where these improvements are particularly noticeable.
In a presentation at the Ubuntu Developer Summit in Barcelona, developer Scott James Remnant noted that boot time decreased from 65 seconds in version 8.10 to only 25 seconds in 9.04. This is already a substantial improvement, but he believes that there is still room for more aggressive optimization. Canonical, the company behind Ubuntu, will continue pushing the limits of boot performance during the upcoming development cycle for Ubuntu 9.10, which is codenamed Karmic Koala. According to Remnant, the company aims to achieve a ten-second boot time next year for Ubuntu 10.04, the release that will follow after Karmic.
In a message posted to the Ubuntu developer mailing list, Remnant describes how the additional boot performance improvements will be achieved. An important part of their speedy startup strategy will be getting the Xorg display server up and running as soon as possible. This means that a big part of the focus will be cutting down the amount of time that is needed to bring up the components that have to be in place before Xorg can start—the udev device manager and initramfs, a temporary filesystem that is loaded into system memory to facilitate the startup process.
Initramfs is mostly responsible for mounting the root filesystem and loading the requisite kernel modules. It also plays a role in the logic for software RAID, disk encryption, booting from a network filesystem, and a bunch of other similar tasks. Remnant wants to slim it down and remove some of the unnecessary "cruft" that is bogging down the startup.
There are established time budgets for individual parts of the boot process. Those targets will have to be met in order to fulfill the goal of a ten second boot. Remnant says that loading the kernel and initramfs should take two seconds, driver loading, filesystem mounting, and other "plumbing" should take two seconds, launching Xorg should take two seconds, and the remaining four seconds should be used to launch the desktop environment and other services that are part of the user's session. The computer should be fully booted and ready to use at the end of ten seconds, he says.