Skip to main content

Ralsina.Me — Roberto Alsina's website

The Linux Booting Process Unveiled

Af­ter a while with­out any orig­i­nal con­tent, here's a de­scrip­tion of the Lin­ux boot­ing process (Sys­temV vari­ant).

The idea was for it to be both sim­ple and com­pre­hen­sive. Let me know if it is­n't!

daniel c / 2006-04-03 05:58:

roberto

soy daniel tu alumno del curso linux de samlinux



llegue a este articulo a traves de un link de osnews.



te vas para arriba roberto!! felicitaciones, muy claro el contenido




Roberto Alsina / 2006-04-03 05:59:

Poner un articulo en osnews es facil: lo escribis, lo mandas y lo ponen :-)



Digamos que estoy reescribiendo los apuntes de a poco, y esto es una parte...

Elderbear / 2006-04-03 06:05:

Nicely done! Concise. To the point. Useful for a Linux novice (with plenty of OS & s/w development experience) like myself.



Thank-you!



Elderbear

http://elderbearden.blogspot.com/

JGT / 2006-04-03 06:08:

Well done, nicely formatted, easy reading with great content.

Cristian Andrei Calin / 2006-04-03 06:09:

I am sorry for the inconvenience I've caused by quoting your article on forum.tfm.ro without acknoledging you as the original author.

I hope you will forgive me, as I hav mended my mistake.

I've been working on a project for TFM Linux to upgrade the current init system we are using to take advantage of SMP machines, and I thought that some insight on the subject was in order befor I unlish the new project on the users and as I am too lazy to comment my own work (too bad for me :))... I hope I didn't cause you too much trouble.

Alif / 2006-04-03 06:10:

Does anybody know: how can I set the runlevel from lilo.conf or grub.conf?

Roberto Alsina / 2006-04-03 06:10:

It´s no problem whatsoever! Just to be fair, since I have told the same thing to others.



You obviously had no bad intentions, or the backlink would not have been there :-)



BTW: what you want is probably one of the needs/provides based inits, which parallelize startup.

Roberto Alsina / 2006-04-03 06:11:

Well, you shouldn´t do this on a permanent basis, but:



On lilo.conf, you could add a line like



append="1"



in the section you are using, and it should start on runlevel 1. Please try that on a copy of the section, so you don´t screw your configuration by mistake.



Remember to run lilo after changing lilo.conf



On GRUB, edit grub.conf, on the kernel line add a space and a 1 for runlevel 1.



Of course, for other runlevels, use other numbers :-)



The right thing is doing it through inittab, though, unless you want to choose runlevels at boot time.

Void Main / 2006-04-03 06:13:

Rather than using the graphical tools to change runlevels on one extreme and using "rm" and "ln -s" on the other extreme, I much prefer to make use of the "chkconfig" and "service" commands. See the man page for chkconfig for all it's options and type "service" on the command line for it's optiosn but it's as simple as:



# chkconfig httpd on

# service httpd start



The chkconfig adds and removes the symbolic links to the runlevels defaulted in the comment section at the top of each service script. The service script basically takes the place of typing the full path (/etc/init.d/httpd):



# service httpd status

# service httpd reload

# service httpd configtest



To see what services are set to start on bootup I usually:



# chkconfig --list | grep on



This will show all services that are set to start in any runlevel. To just turn a service on for runlevel 5 (overriding the default) you could:



# chkconfig --level 5 httpd on



I find using these utilities much faster and more intuitive than the other methods. Of course you might have you use them a few times so the command names stick on your memory.



http://voidmain.is-a-geek.net/

Roberto Alsina / 2006-04-03 06:15:

I mentioned service in the article. It has the problem that it doesn't tell you what services are available, so /etc/init.d/ is usually faster :-)



I had forgotten about chkconfig!

Void Main / 2006-04-03 06:17:

Well, the service command can actually list all the services:



# service --status-all



however I prefer to use chkconfig for listing the services:



# chkconfig --list



chkconfig also has another advantage of being able to control your xinetd services (don't forget to do a "service xinetd reload" after turning the xinetd services on or off).

Sterling Lindsey / 2006-04-03 14:56:

Thank you for the information, but where is the mention of the famous RH kudzu? How about explaining where it fits in, exactly what it does, to what files. Can you control it at all? Where is a step-by-step description?

Roberto Alsina / 2006-04-03 15:01:

Sterling: What's there to explain?



Kudzu is just a service like any other, and it starts just like any other.



You can make it start or not start just like any other, and just as it's explained in the article.



If what you want is an explanation of how Kudzu works, or what it does, that's another story.

Paul Cobbaut / 2006-04-03 15:19:

Thank you very much for this very informative blog!

Philippe Vo cong tri / 2006-04-03 15:21:

Thank you very much, for the concise description.

I ran into graphic login failures several times, after making updates, and I don't know how to get into a console ... Now, I know how.

Failures were to launch into kdm or gdm and taking the fallback to plain twm.



I am used to old schemes (i.d ttys stuff in unix).


Joshua Purcell / 2006-04-03 15:35:

This article is posted on this site as well, and in its entirety:



http://www.section6.net/help/linuxboot.php

Royal Bank Online Banking / 2006-04-04 01:25:

Well Fargo Online Banking

Rajesh Kumar Mishra / 2006-04-04 01:52:

It's realy good stuff. I got good knowledge on inittab file.



Thank u.