π 20SecondStartup
π Summary
Boot faster than the F10 Features/30SecondStartup. Make Fedora boot and shut down faster. The goal is to be at the login screen in 20 seconds and be as fast as possible after the login (gnome-session).
π Owner
- Name: HaraldHoyer <harald@redhat.com>
π Current status
- Targeted release: Fedora 11
- Last updated: (Dec 17 2008)
- Percentage of completion: 0%
π Detailed Description
Identify bloated tasks in the boot process and make them faster and use less disk I/O.
See: Fedora 10 top 5 disk usage tasks http://www.harald-hoyer.de/personal/blog/fedora-10-disk-io
See, if sreadahead can be used (needs kernel patch), and if upstart can start core service in parallel.
π Benefit to Fedora
A faster boot makes for happy users.
π Scope
Possibly involves all packages that are involved in the boot sequence, udev, module-init-tools, kernel, nash, upstart, readahead, setroubleshoot, gdm.
π Test Plan
- install bootchart
- modify /sbin/bootchartd to exit on "firefox" not "gdm kdm" etc. and sleep 10-20 seconds after that
- reboot, login, start firefox, close firefox
- measure time until closing of firefox
π User Experience
Turn on computer, wait 20 seconds, select user on login screen.
π Dependencies
- maybe kernel for sreadahead
- module-init-tools
- setroubleshoot-server
- gdm login infrastrucure
- rpcbind
- no regression in other parts of the system
π Contingency Plan
This is an incremental feature. If we don't quite get down to 20 seconds, too bad, we can just take whatever improvements we have.
π Documentation
- Fedora 10 top 5 disk usage tasks
- http://www.harald-hoyer.de/personal/blog/fedora-10-disk-io
- Fedora 10 - Boot Analysis
- https://www.harald-hoyer.de/personal/blog/fedora-10-boot-analysis
- Upstart
- http://upstart.ubuntu.com/wiki/
- sreadahead
- http://code.google.com/p/sreadahead/
- setroubleshoot
- https://fedorahosted.org/setroubleshoot/
π Filed Bugs
- microcontrol_ctl busy polling https://bugzilla.redhat.com/show_bug.cgi?id=476023
- /usr/bin/fedora-setup-keyboard https://bugzilla.redhat.com/show_bug.cgi?id=476028
- setroubleshoot lazy import https://bugzilla.redhat.com/show_bug.cgi?id=476662
- setroubleshoot lazy rpm usage https://bugzilla.redhat.com/show_bug.cgi?id=476663
π Release Notes
Note: all of the following release notes are subject to change.
To reduce boot time, the setroubleshoot and rpcbind daemon were made leaner to not consume too much disk I/O and CPU time. Core services are now started in parallel via upstart. sreadahead is now used to read ahead all disk blocks needed to boot the machine.
π Comments and Discussion