Future New Init for FC7?

Bernardo Innocenti bernie at develer.com
Mon Apr 2 20:27:10 UTC 2007

David Zeuthen wrote:

> It's a popular misconception that boot time can be "boosted" by just
> replacing SysVinit with something else.

I recently tried both InitNG and Upstart and my impression was that
both are very benefical.

By using dynamic dependencies and an event driven design, you avoid
running most init scripts altogether.  For istance, "bluetooth" is
useless on systems without a blootooth dongle... and it should be
launched by hotplug anyway.  It can also makes some scripts

Upstart makes Ubuntu very fast to boot.  I did no measurements, but
it's clearly much faster than plain Debian and Fedora to bring up
a similar environment.

InitNG is also interesting, probably even faster than Upstart, but
more radical and a bit of a kludge in my humbling opinion.  They
replace those long shell scripts with an ad-hoc language to run
daemons and simple commands.  For complex stuff it may need a
snippet of shell code, but it usually doesn't.

Also, MacOSX boot feels much faster since they switched from init
to launchd.  I don't think it has been ported to Linux, but it's
just to show that it has real benefits.

I also liked the gdm early-login thing from FC5, but for some reason
it has been abandoned.

> The biggest bang for the buck
> actually comes from fixing readahead so it reads all the files it needs,
> without making the disk seek;

The wrong thing about readahead is that it's even less dynamic
than sysvinit.  On a system I use KDE by default, but readahead
keeps wasting time preloading all the Gnome libraries.

I remember reading somewhere that MacOSX collects statistics during
boot and creates some kind of boot cache.  IIRC, Windows XP did
something "smart" too.

Also, the old sequential init scripts even with readahead will
waste lots of disk bandwidth while waiting for dhcp or video mode

   // Bernardo Innocenti - Develer R&D dept.
 \X/  http://www.develer.com/

More information about the fedora-devel-list mailing list