[Debian-eeepc-devel] 5 second boot

Phil Endecott spam_from_debian_eee at chezphil.org
Fri Oct 10 12:48:37 UTC 2008


Damyan Ivanov wrote:
> -=| Phil Endecott, Thu, Oct 09, 2008 at 05:19:12PM +0100 |=-
>> I'm surprised that no-one here has yet mentioned Arjan van de Ven 
>> and Auke Kok's work to get an Eee 901 to boot in 5 seconds:
>> 
>>       http://lwn.net/Articles/299483/
>> 
>> The slides from the talk are now available here:
>> 
>>       http://www.fenrus.org/plumbers_fastboot.ppt
>
>> I'd be interested to hear what people think about this.  Do we agree 
>> that improving the boot speed is a useful thing to do?
>
> Sure it is!

>> How much of this work can be applied easily to Debian?

Thinking about the things that Arjan & Auke have done in turn:

They have made some kernel changes to increase concurrency between 
subsystem initialisations.  Presumably we'll see this in a mainline 
kernel in due course.

They built a custom kernel with the required modules compiled in.  I 
don't think this project would want to distribute a custom kernel, 
would it?  Alternatives include distributing kernel config files.  I 
have also wondered if it is possible to

   lsmod | some-magic-script > .config

i.e. based on the modules that are actually loaded by a modular kernel, 
create a config file that builds in those modules.  Unfortunately I 
don't think there's a simple mapping from module names to the config 
options that enable them.

They have used something called sReadAhead to prefetch the required 
blocks from the disk.  Hopefully this can be packaged for Debian.

> Disabling udev would disable hot-plugging (i.e. an usb stick, or 
> wireless card (via the hot key))

I think it should be possible to use udev after booting and a static 
set of devices for the non-hotpluggable devices.  I'm surprised that 
they got a significant speedup from this change; maybe it's because of 
all the shell scripts that udev involves.

> Removing any sevices you don't use would speed the boot too (I use 
> apache2). Purging them would spare some additional milliseconds as the 
> init script would be removed too (but you would lose any changes to 
> their configuration).

I find it's easier to not install things that you don't need in the 
first place, rather than installing them and then removing them :-).  
But even though I have few daemons running, there are still a lot of 
scripts in /etc/init.d.  Optimising this is what bootchart is good for.

Finally there's all the mode switching that X does.  Again, hopefully 
we'll see an improvement in some future upstream versions; changes are 
needed in X and the kernel.

So the first things on my TO-DO list are:
- Build a custom kernel.
- Install bootchart.

I'll report any progress.


Phil.






More information about the Debian-eeepc-devel mailing list