I am looking for links to detailed information on how the ubuntu boot process is managed after grub is finished.
I have googled by all the documentation referes to individual packages. (upstart, init* directories and links, the rc* directories, startup manager) I still don't understand how they are called which one starts first. I don t understand how changes will affect the boot up process.
I was hoping to find a nice detailed explanation of the ubuntu boot up process. I am looking to better understand what is going on and how things work under the hood. I prefer to have a good understanding be for making changes.
Besides the Ubuntu wiki explaining these directories and Configs ...
/etc/init
is where the upstart init configs live. While they are not scripts themselves, they essentially execute whatever is required to replace sysvinit scripts./etc/init.d
is where all the traditional sysvinit scripts and the backward compatible scripts for upstart live. The backward compatible scripts basically run service myservice start instead of doing anything themselves. Some just show a notice to use the "service" command./etc/init/rc-sysinit.conf
controls execution of traditional scripts added manually or with update-rc.d to traditional runlevels in/etc/rc*
/etc/default
has configuration files allowing you to control the behaviour of both traditional sysvinit scripts and new upstart configs.... you can also install bootchart . It will show a graphical representation of all the files called in order of being called and how long they take to finish. That will give you lots of insight in to the booting process.
Upstart is explained in the upstart intro, cookbook and best practices. It also includes some interesting code samples.