30 Second Startup
Summary
Make Fedora boot and shut down faster. The goal is to be at the login screen in 30 seconds and be as fast as possible after the login (gnome-session).
Owner
- Name: HaraldHoyer
- Name: MatthiasClasen
Current status
- Targeted release: Fedora 10
- Last updated: 2008-08-07
- Percentage of completion: 75%
Detailed Description
Earlier attempts at this can be found here Releases/FeatureBootShutdownSpeedup and here Releases/FeatureBetterStartup (different, but related).
With the switch to upstart we have a lot of necessary pieces in place now to cut down on initscript bloat and use dependencies to parallelize the boot.
Harald recently started some investigations into where the boot time goes, see here , here and here .
Some earlier comments on the problems related to device enumeration are discussed here
Harald has also compared bootcharts of several distributions .
Bugzilla Tracker for slow boot components
Improvements with a modified readahead setup possible.
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.
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 30 seconds, select user on login screen.
Dependencies
- auditd
- readahead
- no regression in other parts of the system
Contingency Plan
This is an incremental feature. If we don't quite get down to 30 seconds, too bad, we can just take whatever improvements we have. If it turns out that readahead cannot be fixed to consistently improve boot speed, we will simply not reenable it.
Documentation
Document the readahead process and how to manually trigger it.
Release Notes
Parallel to the boot process, readahead is now started. Udev may appear to be slower, but in fact readahead reads all disk buffers needed for the boot process in the background and shortens the whole boot process. Creation of the readahead file list will be done weekly and can be triggered manually by touching "/.readahead".
Comments and Discussion
See Talk:Features/30SecondStartup