Interesting article on boot ordering

Enrico Scholz enrico.scholz at informatik.tu-chemnitz.de
Tue Sep 23 22:00:47 UTC 2003


hp at redhat.com (Havoc Pennington) writes:

>> > Some UI goals to keep in mind for reworking bootup include:
>> 
>> For me, UI goals are nearly uninteresting. 
>
> If we're going to spend a lot of effort reworking the initscripts setup
> it should solve the UI stuff as well, or we might have to rework again
> in the future to meet the overall project goals.

The main problem is to determine the 100% marker. Else:

* use framebuffer,
* start very early a small program which
  - takes progress-info (service-name, started or finished) on stdin
  - displays a nice background-image
  - shows the boot-stage information (services between start and finished
    stage)
  - shuts down when it gets the command in stdin (e.g. in X/gdm startup)
* minit feeds this stdin with info about the current process/service

This does not exist in minit yet (and the author (Felix von Leitner)
will probably never implement it), but it fits into the minit-concept.


>>   With alternative concepts (e.g. minit, djb's supervise, runit, ...),
>>   the died process would be restarted automatically.
>
> Important here to detect the infinite-rapid-restart case probably.
> Something like: M restarts in N seconds means give up for a while.
> Seems likely that most systems handle this somehow.

Ok; this is not solved very good in minit. It sleeps 0.5sec when the
service was restarted in the last second. On the first glance, it seems
to be not very much work to parameterize this values (e.g. put values
into 'respawn').


>> 7 seconds boot-time (+5 seconds kernel-startup) do not require a
>> progress-meter... ;)
>
> It'd still be nice to have a splash screen instead of scrolling
> messages. ;-)

I do not have scrolling messages ;) I see the fsck-messages, then
kernel-errors because of disabled S.M.A.R.T and then the motd+login:


> On the LSB issue - by my reading of the LSB spec, it specifies how an
> app should install an initscript and what that script should be like,
> but it doesn't say the distribution itself has to install any
> initscripts.
>
> So I don't see why we couldn't run any scripts found in the LSB
> location. It only costs a readdir() to check for scripts; if none are
> found, it's free, if we find some we have to run them.

Oh, I never thought about this, but it sounds very interesting. It would
be easy to honor the LSB-dependencies. The 'install_initd' program would
have to parse this params and add the service-name to the 'depends'
file.




Enrico





More information about the devel mailing list