Work Done:

  1. Background cups on startup
  2. Remove numerous sleeps from GDM
  3. Make X startup far more efficient
  4. Rearrange many startup points to enable GDM to come up earlier
  5. Arrange for many critical files to be read into the kernel's page cache before they're needed, accelerating the loading time of the related programs
  6. Arranged for binfmt-misc (needed for mono and related programs) to be started much later in the boot process
  7. Enabled the list of files we pass to readahead to be sorted by location on disk

Easy targets:

  1. Cache the /dev directory so we don't have to recreate it every time.
  2. Make GDM's background an SVG image, rather than a PNG. It turns out that the code to resize pngs is very, very expensive in CPU time, and this slows our gdm startup hugely.
    • Or cache the resized PNG so it doesn't have to be resized every boot (the GDM screen's resolution won't change very often)
  3. Preload many of the files needed for initial desktop startup, allowing the desktop to come up faster.

Targets of opportunity:

  1. Write code to enable the list of files to be readahead to be generated on individual machines.
  2. Make hotplug asynchronous - not sure if this is a net gain. Devices that use hotplug to load their firmware, like USB modems, really delay boot process.
  3. Parallelize execution of init scripts (e.g. using Serel from or advices from this IBM article:

From JonathanJesse Thu Apr 14 13:46:31 +0100 2005 From: Jonathan Jesse Date: Thu, 14 Apr 2005 13:46:31 +0100 Subject: Speed boot up if no network connection Message-ID: <20050414134631+0100@>

I have a laptop and when I'm not connected to the network the boot time is terribly slow. If startup doesn't detect a network connection then thing should speed up. It should skip the time server check and other things that makes me wait forever

FasterBootProcess (last edited 2008-08-06 16:35:33 by localhost)