Online Book Reader

Home Category

Running Linux, 5th Edition - Matthias Kalle Dalheimer [335]

By Root 1050 0
what hardware you have on your system. You are likely to have more, fewer, or different messages; we'll concentrate here on the messages that are quite common.

The line:

Linux version 2.6.11.4-21.7-default (geeko@buildhost) (gcc version 3.3.5 2005011

7 (prerelease) (SUSE Linux)) #1 Thu Jun 2 14:23:14 UTC 2005

tells you the version number of the kernel, on which machine, when, and with which compiler it was built.

Next, the kernel reports a number of things about the BIOS, the amount of memory found, power management settings, and so one. Here are some of the more interesting lines (of course, depending on your hardware and setup, these may look different for you):

...

127MB HIGHMEM available.

896MB LOWMEM available.

...

Kernel command line: root=/dev/hda6 vga=0x314 selinux=0 splash=silent resume=/de

v/hda5

...

Detected 599.481 MHz processor.

...

Notice in particular the kernel command line; you can double-check here that you are actually booting the configuration that you think you are booting.

Then, the kernel tells us which console settings it has picked and which console type it has detected:

Console: colour dummy device 80x25

Note that this involves only the text mode being used by the kernel, not the capabilities of your video card. It also has nothing to do with the X Window System; the kernel is not concerned with that at all.

You'll then see the "BogoMIPS" calculation for your processor:

Calibrating delay loop... 1187.84 BogoMIPS (lpj=593920)

This is an utterly bogus (hence the name) measurement of processor speed, which is used to obtain optimal performance in delay loops for several device drivers.

The kernel gathers information about the PCIbus and checks for any PCI cards present in the system:

PCI: PCI BIOS revision 2.10 entry at 0xfd8d6, last bus=8

PCI: Using configuration type 1

...

PCI: Probing PCI hardware (bus 00)

PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1

PCI: Transparent bridge - 0000:00:1e.0

...

Linux then sets up networking, the mouse port, and the serial driver. A line such as:

ttyS00 at 0x03f8 (irq = 4) is a NS16550A

means that the first serial device (/dev/ttyS00, or COM1) was detected at address 0x03f8, IRQ 4, using 16550A UART functions. Next comes some more hardware detection, such as the real-time clock and the floppy drive:

Real Time Clock Driver v1.12

...

Floppy drive(s): fd0 is 1.44M

FDC 0 is a National Semiconductor PC87306

loop: loaded (max 8 devices)

...

The line:

Adding 1029632k swap on /dev/hda5. Priority:42 extents:1

tells you how much swap space the kernel has found. Among the further tasks performed during a typical boot are finding and configuring a parallel port (lp1), detecting and configuring the network card, and finally setting up the USB subsystem.

Again, depending on the kernel version and your configuration and hardware, you will see other messages (this was just an excerpt, after all).

init, inittab, and rc Files

Once the device drivers are initialized, the kernel executes the program init, which is found in /etc, /bin, or /sbin (it's /sbin/init on most systems). init is a general-purpose program that spawns new processes and restarts certain programs when they exit. For example, each virtual console has a getty process running on it, started by init. Upon login, the getty process is replaced with another. After logging out, init starts a new getty process, allowing you to log in again.

init is also responsible for running a number of programs and scripts when the system boots. Everything init does is controlled by the file /etc/inittab. To understand this file, you need to understand the concept of runlevels first.

A runlevel is a number or letter that specifies the current system state, as far as init is concerned. For example, when the system runlevel is changed to 3, all entries in /etc/inittab containing 3 in the column specifying the runlevels will be executed. Runlevels are a useful way to group entries in /etc/inittab together. For example, you might want to say that runlevel 1 executes

Return Main Page Previous Page Next Page

®Online Book Reader