I wrote before about my experiments in Ubuntu boot times and mentioned doing a fresh install and just disabling the dhcp and network manager. I got a lot of good input and wanted to expand upon that.
Setup
My secondary workstation is a Dell GX270 with a 3.0GHz P4 processor, 1GB of RAM and a 40GB Seagate ST340014A hard drive. I blew away the existing install again, reinstalled Feisty with the default settings, specified my static IP, and updated via apt-get. The current kernel version is 2.6.20-16-generic i686.
Getting started
I installed bootchart via sudo apt-get install bootchart and rebooted. My boot time was 29 seconds.
My /etc/network/interfaces file again contained entries for eth1, eth2, ath0 and wlan0. I deleted all of these.
Again, the if-up, if-down, and pre and post-up had entries for wireless and avahi stuff i didn’t want, so I removed the following
sudo -s
rm /etc/network/if-down.d/avahi-autoipd
rm /etc/network/if-post-down.d/wireless-tools
rm /etc/network/if-pre-up.d/wireless-tools
rm /etc/network/if-up.d/avahi-autoipd
rm /etc/network/if-up.d/avahi-daemon
exit
I rebooted and checked my boot time again
I reprofiled my boot sequence, then rebooted: 23 seconds.
Sysv-rc-conf
At this point I installed and fired up sysv-rc-conf (sudo apt-get install sysv-rc-conf)
I disabled the following:
bluetooth
cupsys
hotkey-setup
hplip
powernowd
rsync
wpa-ifupdown
Boot time after removing the services: 22 seconds
At this point, bootchart seems to be limited by a few particular processes:
Disk-related:
khubd
scsi_eh 1
modprobe
rc
CPU Related:
udevd
ckbcomp
hald
Xorg
It looks like udevd is still loading wacom junk
sudo find /etc -name '*wacom*' -type f -delete
hehe, took care of that.
I also enabled concurrent shell scripts while I was at it.
Still at 22 seconds.
I cleaned up /etc/acpi, as there were a ton of modules loaded that I didn’t use: 22 seconds.
I installed prelinking and then rebooted: 22 seconds.
I blacklisted ipv6 and a handful of other modules that were loaded for no reason whatsoever: 22 seconds.
I reprofiled and rebooted: 20 seconds.
At this point it looks like readahead itself takes up about 5 seconds of uninterruptable I/O.
Now to try out some of the stuff that my readers posted.
mgarces said to try initNG. So I grabbed the deb files for initng and the initng ifiles from initng.org and did a dpkg -i initng*.deb
But it didn’t boot……so I googled and ran across this page. I followed the directions there and got it to boot. HAL is complaining and I don’t feel like troubleshooting it right now.
But wait, bootchart isn’t working either. Crap.
Oh, even better, eth0 didn’t come up.
sudo dpkg -r initng
sudo dpkg -r initng-ifiles
Bye-bye initng!
So I figured, why not play with the schedulers?
CFQ=22 seconds
deadline=23 seconds
noop=23 seconds
as=23 seconds
So, even now, nothing really helps.
Well, I’m really getting burned out, maybe there will be a part 3 for this sometime.
Until next time!
-LightningCrash