Debian's boot follows the usual steps:
- BIOS (Hardware low level initialization)
- Boot Loader (Grub or Lilo)
- Kernel loading
- Init start up and running services scripts.
Boot Loader
Debian Sarge (actual test version) uses Grub as default boot loader,
/boot/grub
is the base directory where are placed various files:
- configuration file /boot/grub/menu.lst
with options for boot action.
- file where devices (Ex. Hard-Disk, Floppy) are mapped: device.map
.
- binary files of stage 1, stage 1.5 and stage 2 phase of grub.
Kernel
All kernels images (vmlinuz-X-XX-XX
) are placed in /boot
with system.map
and initrd images, kernel modules are separated by kernel version in /lib/modules/
.
Init
Init startup stage uses the default configuration file /etc/inittab
.
The first system initialization script launched is /etc/init.d/rcS
, this runs all the scripts beginning with S in /etc/init.d/rcS.d/
, after, init executes the services scripts in a directory specified by the default runlevel (/etc/rc?.d
), where ? by default is 2.
Default run level organization follows:
Runlevel 0 is halt.
Runlevel 1 is single-user.
Runlevel 2 is multi user with text environment (in many other Linux distro, this corrispond to runlevel 3).
Runlevel 5 is multi user with graphical environment.
Runlevel 6 is reboot.
At runlevel S the system is in emergency mode, /etc/init.d/rcS is not executed and a sulogin is offered to the user.
Linux boot process: loader, kernel, init.
OS Guide: DebianThe OpenSkills Guide for Experienced Linux Sysadmin: Debian
Grub duplicates entries
Parallel to W2k I have installed Sarge with kernel 2.6. With no apparent reason grub shows the W2k entry twice. If I delete one entry, it reappears the next I boot or open the grub menue.
Rispondire: init and debian
You're right. Correction made. Thank you.
Rispondiinit and debian
Under debian network is started with the rcS scripts. Thus A is single user with network. 2 is multisuer,X and network. 3 to 5 are not used. In case an important error occurs (fs corruption and the like) ther is an emergency level (S not rcS which is Systeminit) which fire up a sulogin shell without proceeding with any other runlevel scripts (including rcS)