InitNG on Fedora

fedora-logo-bubble
InitNG is one of the most often mentioned possible init replacements. Since it is available as a package in Fedora Extras it can be easily tested. Running on Fedora Core 6 it shows quite some bugs – but impressive speed improvements. In the meantime, a wiki page to bring Upstart to Fedora has been created and filled with first information.

After the IBM summary of Upstart and InitNG I got curious about possible improvements – and started playing around. First I played a bit with Upstart because their concept convinced me most. However, I wasn’t able to bring it up and running because I’m not fit enough on some init basics.
However, I set up a wiki page at the Upstart wiki. Hopefully others will join and solve the problem currently existing.

While playing around I noticed that InitNG is part of Fedora Extras. Therefore I gave it a try, and was pleased by the result! There was a minor bug preventing the system to totally come up, but that was easy to fix.
Still, some things are not working like they should: NetworkManager was not started by default and the virtual terminals were all not set to the system local. Still, the bootchart result is impressive:

bootchart - using initng, 2007-03-26

These less than 35 seconds look a bit different from the 90 seconds I have with the traditional init system. However, comparing these numbers keep in mind that first at leats the NetworkManager stuff is missing, and that second other services might not have been started – I haven’t checked that completely yet. Still, I think even if one or two services are missing the number will not increase by 60 seconds. As you can see parallel starting of services already shows results.

If someone is interested in testing InitNG: of course the service handling is different to the old init system. So here are the most important information:

  • showing all possible services: ng-update show
  • adding service “NetworkManager” to the runlevel “default”: ng-update add daemon/NetworkManager default
  • removing service “NetworkManager” from the runlevel “default”: ng-update del daemon/NetworkManager default
  • start the service “NetworkManager”: ngc -u daemon/NetworkManager
  • stop the service “NetworkManager”: ngc -d daemon/NetworkManager
  • restart the service “NetworkManager”: ngc -r daemon/NetworkManager
  • see a list of running processes: ngc -s
  • reboot system: ngc -6
  • stop system: ngc -0

Btw., ngc means “next generation control”, that’s probably easier to remember.
Don’t forget to fix the above mentioned bug until new packages are available, in other cases the system wouldn’t start.

In general, I’m very pleased to see InitNG is such a good state. I hope that I can also test Upstart soon.

7 thoughts on “InitNG on Fedora”

  1. Always good to see that there are still innovations being made.🙂 Many current machines handle this nicely and profit vastly from parallelization. I’m looking forward to this (though I don’t boot often enough to care too much).

    Yet let me note that this is exactly the sort of thing that would have brought my old P100 to a halt, due to horrible I/O performance. BTW the same thing that brought/brings my Windows XP boots down – too much parallelism for Win to handle.😉

    Is InitNG a drop-in replacement for the current SysVinit? Or do all/many/some initscripts need to be remodeled? What are the chances of inclusion in future Fedora versions?

    Regards,
    e.

    P.S.: Oh, and thanks for blogging about Fedora and not about the ever-present Ubuntu.🙂

  2. InitNG is not a drop-in-replacement, but needs reworked and remodeled init scripts afaik.
    The current InitNG Fedora package already contains a set of remodeled scripts – look like almost everything is covered.

    I’m not sure however how InitNG handles lsb init scripts.

    And about Ubuntu: well, I *am* a Fedora user, and although I follow Ubuntu quite close I don’t think that I will totally switch anytime soon or at all😉

  3. InitNG lacks of compatibility with sysvinit scripts, and there’s a good reason, sysvinit services will not benefit from InitNG parallelization or any other feature. However, we do have a service called init/*, so if you use init/some_service it will start the some_service sysvinit service…

    Now we’re working on InitNG 0.7.0, it’s still in an early stage, but we have already replaced our old format with pure bash scripts, that makes the process a lot more dynamical.

    One of the worse problems we face every day is the initng-ifiles package, it’s just too hard to keep with changes of each distro. I do believe that in some future we will be able to drop it and let distros take care of what they should take care, and concentrate all our efforts on development.

    Well, I do like to see people talking about InitNG, but I do love to see people get involved in the project😉.

  4. Ismael, thanks for the update – and about getting involved: I tested initng a bit and filled bug reports where I saw errors, so I help where I can🙂

  5. Good🙂

    I hope we can release 0.7.0 soon, it still has some minor problems…

  6. Have you seen the tests done on OpenSuse about the fcache patch?
    http://en.opensuse.org/Boottime

    I was not able to make it work, it seems still buggy.

    I think a some sort of intelligent disk “defragmenter” to minimize the time harddisk spends seeking would help a lot to reduce Linux boot time and improve the general performance on application startup.

Comments are closed.