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.
One of the side effects of starting Xorg sooner, he says, is that the boot splash and associated progress bar will no longer be displayed at all. That’s a pretty surprising revelation and it should give you an idea of just how substantial the performance improvement will be from a user’s perspective.
The reference hardware for benchmarking is the Dell Mini 9, a netbook that is available with Ubuntu preinstalled. Although a single netbook has been selected as the benchmark target for the purpose of consistency, it’s important to note that the ten second goal is for the regular desktop Ubuntu installation. Remnant expects that they can go even further with hardware-specific versions of Ubuntu that are customized for netbook devices.
“10 [seconds] is a good number, especially for a generic, hardware agnostic, non-stripped down Linux distribution. From that starting point, development teams will be able to customise and tailor Ubuntu for specific hardware—and the OEM team will be able to produce custom Remixes of Ubuntu that boot even faster,” he wrote. “I think it likely that we’ll match Moblin’s 5 [second] benchmark on similar hardware, with a device-tailored Moblin-based remix of Ubuntu.”
This emphasis on boot performance will make Ubuntu a more competitive option for hardware makers who are seeking a fast and lean distribution to preinstall on netbook devices. It will also improve the Live CD and desktop user experience. This aspect of system performance will continue to grow in relevance as Linux expands to other kinds of mobile and embedded devices in a multitude of different form factors.