Boot process

From Linuxintro
Revision as of 19:22, 11 January 2014 by imported>ThorstenStaerk

How Linux typically starts up on a PC

you switch on the computer

BIOS is shown and the devices are checked.

the master boot record is executed

The BIOS will then load the first sector of the first hard disk and execute it. The first sector is part of the bootloader and loads more sectors, for the grub bootloader this looks like this:

Snapshot-grub.png

the boot loader is executed

The boot loader is typically grub, and there is an older and smaller called lilo.

the Linux kernel is executed

the initrd is loaded/executed

the init program is started

The Linux kernel starts the init program. Nothing else. If the init process quits, the Linux kernel panics. Init is responsible for all further services and programs that are started.

the init script are executed

This can be SysV init scripts or upstart or systemd. These init scripts typically start services. Services are grouped into runlevels. Find out your current runlevel with the command

runlevel

Change your runlevel, in this case to 3, with the command

init 3

E.g. in SUSE the runlevels are defines as

  • 0: reboot
  • 1: rescue system, single user
  • 2: all services that run in (1) plus services needed for multi-user login
  • 3: all services that run in (2) plus network services
  • 4: undefined
  • 5: all services that run in (3) plus graphical display

Some notable services are:

  • alsasound
Used for the alsa sound system
  • cups
Used for printing, it is the common Unix printing system
  • dbus
Used to call public functions in running programs. Should be abstracted to users.
  • esound
Used for enlightenment sound system
  • ntp
Network Time Protocol to keep your clock in sync with the real time via the network
  • autofs
To automount devices as soon as they are plugged in, e.g. USB disks and CD ROMs
  • udev
The udev services have a lot of names, e.g. boot.udev under SUSE. They create the device handles in the /dev folder, e.g. when you plug in a USB disk or attach a web cam
  • xdm
The x display manager shows a graphical login screen and starts a session when you log in. It keeps running during the session so when you end your session, you will be able to log in again.
  • cifs
mounts all cifs network drives
  • xfs
manages X fonts
  • cron
Cron executes jobs in given time intervals according to /etc/crontab
  • ypbind
provides information like login names, home directories and so on over the network
  • powerd
Makes sure to throttle down your computer's speed if there is nothing to do, it can save power and it is configured to do so.
  • network
The network service makes sure you have an IP address and your network card is active.
  • sshd
Service that allows to control a computer via the network

Virtual Terminals are started

X Windowing system is started

login manager is started

user session incl. Desktop environment is started

See also