From Fedora Project Wiki

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

TBD, when we have a working readahead solution.

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