Next optimization with dependency based boot sequencing and concurrent booting

Petter Reinholdtsen pere at hungry.com
Tue Jul 7 21:10:48 UTC 2009


[Marco d'Itri]
> No, /dev/console must exist but you cannot rely on anything else
> being present.

Why not?  On my freshly installed Debian system, the following are
present in /dev/ before udev is enabled:

  agpgart audio audio1 audio2 audio3 audioctl console core dsp dsp1
  dsp2 dsp3 fd full initctl kmem loop0 loop1 loop2 loop3 loop4 loop5
  loop6 loop7 mem midi0 midi00 midi01 midi02 midi03 midi1 midi2 midi3
  mixer mixer1 mixer2 mixer3 mpu401data mpu401stat null port ptmx pts
  ram ram0 ram1 ram10 ram11 ram12 ram13 ram14 ram15 ram16 ram2 ram3
  ram4 ram5 ram6 ram7 ram8 ram9 random rmidi0 rmidi1 rmidi2 rmidi3
  sequencer shm smpte0 smpte1 smpte2 smpte3 sndstat stderr stdin
  stdout tty tty0 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 urandom
  xconsole zero

As the default setup is to have several devices present in /dev/
before udev is started, I would believe it is safe to rely on these
devices being present before udev is started. :)

> Again: what does NOT need to be run after udev?

Is this a rhetorical question, or are you not aware of the scripts
running before udev is started?  The glibc script runs before udev,
and so do hostname.sh and mountkernfs.sh.  In a system using LSB
dependencies, the following scripts run before udev in my test chroot:
glibc.sh, mountkernfs.sh, hostname.sh, procps and readahead.

Those believing any of these scripts should start after udev is
started, should submit bugs to BTS asking for their LSB headers to be
updated to reflect this dependency.  I belive a 'Should-Start: udev'
header would be most appropriate.

Happy hacking,
-- 
Petter Reinholdtsen




More information about the initscripts-ng-devel mailing list