5 sec boot

david at lang.hm david at lang.hm
Fri Oct 3 13:49:47 EDT 2008

On Fri, 3 Oct 2008, Mitch Bradley wrote:

>> Could somebody explain me whether [the 5 second boot] results are applicable to the
>> XO, and how far are we from it, please?
> Ticket http://dev.laptop.org/ticket/4349 details my and codyl's
> experiments with speeding up boot.
> Between the two of us, we managed to shave off 23 seconds.  We used some
> techiques similar to those in the 5-second paper - eliminating udev,
> paring down initscripts.
> The techniques that we used haven't been deployed for several reasons:
> a) Some people argue that we shouldn't bother to speed up boot, because
> suspend/resume optimization is more important.  (I agree that S/R is
> more important, but I wish that we could do both.)
> b) OLPC's software team is tiny relative to the number of laptops that
> we are shipping.  As a result, we can't diverge from Fedora as much as
> would be appropriate (considering the extent to which XO diverges from
> Fedora's target "generic PC").  We just don't have enough people to
> maintain a heavily-customized startup sequence.  (Some have suggested
> that parallelized init strategies, as some distros are starting to
> adopt, is the solution.  I disagree, based on my understanding of how
> the XO hardware works - there is just not much parallelism possible on
> this hardware.)
> As jg points out, there is another 14+ seconds available by changing the
> NAND layout. We could get 7 seconds just by partitioning the NAND,
> without changing filesystems (support for this has been in OFW since
> last Christmas).  Switching to UBIFS would gain another 7 seconds.
> Combining all the techniques mentioned in this message would get us down
> to perhaps 30 seconds (power on to console login prompt), but there is
> still the issue of X and Sugar startup time.  To get close to the 5
> second number, we would have to adopt some of the additional techniques
> cited in the paper, such as non-modular/no-initrd/async-init kernel,
> deeply-pared initscript, pre-computed XKB configuration, etc.

since the XO hardware is fixed, why would you ship a kernel that used 
modules for any of the XO hardware? especially for anything that it needs 
at boot time?

if you don't need modules to boot, why do you need initrd? you should be 
able to just do everything from the main partition.

neither of these require any changes to the Fedora stuff (I do this on 
every system that I run, have done so with many different distros, and 
never run into problems)

remember that you can still have modules for USB devices, but not need to 
use any of them at boot time (if there are no USB devices plugged in)

David Lang

More information about the Devel mailing list