- provide good looking pictures (SVG iirc)
- maybe identify why the wake of suspend does not currently work on HP compaq nc6400 (I do not know if bootchart is still active at wake up ?), see UpgradeCooker2009 too
- find some needed (?) optimizations
- identify why there are at least 25 seconds "lost" at boot, what is making start_udev then udevsettle stall ? done (in latest kernel)
- check ̣̣̣̣Blog20100329BootChart2 Bootchart2 now :-)
Playing with bootchart to enhance / visualize boot time
Check http://wiki.eagle-usb.org/wakka.php?wiki=ImproveBootTime- http://www.bootchart.org/ (and http://bootchart.sourceforge.net/)
- http://wiki.mandriva.com/en/How_to_Profile_your_Boot_Time
- http://blog.crozat.net/2008/09/improving-boot-time-on-general-linux.html [en] adaptation for Mandriva Linux 2009.0
- http://www.gnome.org/~lcolitti/gnome-startup/analysis/
- (shows that GNOME is mostly I/O bound, does not help that much to identify which process are in a timeout loop, waiting)
- https://linuxfr.org/~patrick_g/27236.html [fr]
- http://www.fenrus.org/plumbers_fastboot.ppt [en] presentation and analysis of the bootchart drawings, Don't settle for "make boot faster", Only "make boot fast" is acceptable
The results

On my HP/Compaq nc6400 laptop with cooker 2009.0 i586
- before optimisation, approximate boot time and events, from my wristwatch (image in SVG) :
- 1mn10 : end of progress bar
- 1mn20 : graphical blue blank screen, with mouse pointer
- 2mn : gnome splash screen appears
- 2mn20 splashscreen disappears, desktop available
- hmmm I may have to patch bootchart to continue till gnome is loaded (only 70 seconds in the generated graphics)
- first 20 seconds for initial modprobes, ending with sane-find-scanner, then no CPU at all (waiting for timeout ?)
- at 47 seconds, end of start_udev then udevsettle, some CPU with following launches
- at 47 seconds rc.modules + late modprobe
- at 57 seconds, begin of rc (launching services and some remaining modprobes like alsa ?)
- at 70 seconds end of boot
- "seems" that 25 seconds are wasted ? is there a timeout somewhere ?
- todo : patch bootchart to go till gnome splashscreen for further optimization
- latest results are better now, seems 60 seconds have been won (image in SVG) :
- ~45 s to boot instead of 75 s o_O
- try to comment out the line in /etc/modprobe.preload.d/floppy
- to have 3 s less when nothing seems to happen
- anyway, who still has a floppy disk nowadays !? I do not remember having one since at least 5 years...
How to
- urpmi bootchart-logger bootchart bootchart-javadoc # installs bootchart-logger-0.9-5mdv2009.0 bootchart-0.9-5mdv2009.0 bootchart-javadoc-0.9-5mdv2009.0
As told in /usr/share/doc/bootchart/INSTALL and /usr/share/doc/bootchart/README here the few steps to achieve
- grub modification, just copy/paste the linux entry in /boot/grub/menu.lst adding an appropriate title and init=/sbin/bootchartd
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=c3fd9f4d-55c6-4f2e-9fe7-e2dcb9814d9e resume=/dev/sda7 splash=silent vga=791 init=/sbin/bootchartd
initrd (hd0,4)/boot/initrd.img
- The boot process is modified to start the boot logger (/sbin/bootchartd) instead of /sbin/init. The boot logger will run in background and collect
(tmpfs). Once the boot process completes (denoted by the existence of specific processes), the log files are packaged to /var/log/bootchart.tgz.
- check /var/log/bootchart.tgz is available after booting, then type bootchart (which is a simple script calling the java -jar bootchart.jar with the appropriate java machine installed,
- AFAIC : java-1.6.0-openjdk-1.6.0.0-0.16.b11.4mdv2009.0 java-1.6.0-openjdk-devel-1.6.0.0-0.16.b11.4mdv2009.0 java-1.6.0-sun-1.6.0.06-2mdv2009.0 java-1.6.0-sun-alsa-1.6.0.06-2mdv2009.0 java-1.6.0-sun-fonts-1.6.0.06-2mdv2009.0 java-1.6.0-sun-jdbc-1.6.0.06-2mdv2009.0 java-1.6.0-sun-plugin-1.6.0.06-2mdv2009.0
- bootchart then bootchart -f svg to generate both bootchart.png + bootchart.svgz (smaller)
CategoryCookerDev CategoryBlogCooker