When you start Linux, it immediately looks different from when you start Windows. When you start Windows, a picture of a blue sky appears with the Windows logo on it. The logo stays there for a few seconds, and then suddenly the blue sky disappears and the Windows desktop appears. You have no idea what's happening behind that blue sky. For all you know, a little man could be running around collecting bytes and putting them in boxes to start Windows. If the blue sky suddenly disappears and is replaced by the Blue Screen of Death, how do you know what went wrong? How do you fix it? Well, you reboot. What happens if you can't fix the problem? Well, you reinstall Windows. What a frustrating way to use your computer!
When you start Linux, an entirely different thing happens. Words and phrases appear on the screen. Linux tells you exactly what it is doing, and whether the particular process it was loading was successful or not. At first, all those messages might tell you about as much as the Windows picture of the blue sky. Eventually, however, you will be able to understand and use those messages to help you track down and solve problems, or to make your system run faster and more efficiently.
A Quick and Dirty Explanation of the Boot Sequence
When you boot your system in Linux, this is what happens:
Every computer has a chip called the BIOS (for Basic Input and Output). When you turn on your computer, the BIOS wakes up and looks for a program called the boot loader. As you recall from Hour 2, LILO is the Linux boot loader. The boot loader is copied into memory, and then it starts the operating system. The LILO boot loader is special because it can boot not just Linux, but also other operating systems that are installed on your computer.
If you specified that you would start Linux from a boot disk when you installed, then the original (Windows) boot loader is not changed. If your BIOS is set up the way we recommended in Hour 2, it has instructions to look for a boot loader first on floppy, then on CD-ROM, and finally on the hard drive. With a boot disk, the BIOS will load the boot loader from the boot disk into memory, and Linux is started. If no floppy disks or CD-ROMs are found, the normal boot loader on the hard drive is loaded into memory.
After the boot loader is started, it looks for the kernel of the operating system. Once the kernel is found, it is loaded into memory. The kernel's first job is to find all your hardware and to prepare it for use. It then starts the system processes, such as logging, administration services, email, and network services. Finally, the kernel starts the login program (called getty) so that you can log in and use your system.
The entire boot process is logged in the /var/log/boot.log file. Just skimming this file can help you get an idea of what happens during startup (also called system initialization).