Inspired by a meme making it’s rounds on Planet Ubuntu and elsewhere on the interwebs, I decided to profile my boot. For several weeks now I have been running the development version of Ubuntu 9.04, and reporting the occasional bug. So far everything has been very stable.
I have 9.04 installed on my Inspiron 1420, using the ext4 filesystem (also quite stable in my experience), with noatime set in /etc/fstab. My CPU is an Intel Core 2 Duo clocked at 1.5 GHz, 4GB of ram and a very average 80GB SATA hard drive.
Profiling a boot with bootchart was as simple as “sudo apt-get install bootchart”. With that done, I just rebooted my machine. Once I was back up, there was a .png file in /var/log/bootchart containing the details of my boot process.
Boot time == 20.27 seconds!
And now for the gory details…
Tags: Linux, Technology, Ubuntu

Just a note: ‘profiling’ your boot in ubuntu (debian?) is a different thing. You just measured or charted your boot sequence.
Profiling is done with the ‘readahead’ package, and subsequently tagging ‘profile’ on to your kernel params list (once (in a while)) and using that to optimize scattered reads into big ordered readahead in the boot sequence. It used to squeeze some 10-20 seconds out of a 50-110s boot for me.
Note that readahead can be used (easily) to optimize other standard sequences (like desktop login) with greate success. Especially if you switch your PC on, go for a coffee and return to log into the desktop, it will be a great help if you use readahead from, say, rc.local, to get your profile data and app binaries buffered before time.