A ,,LILO boot:'' prompt megjelenésekor (ha így konfiguráltuk a lilo-t) a TAB lenyomásával kapunk egy listát az indítható kernelekről, és ha vannak, akkor más operációs rendszerekről is. Miután kiválasztottuk a kívánt kernel nevét különféle paramétereket adhatunk át a kernel vagy az init számára. Az init által futtatandó program nevét (teljes elérési útjával) is megadhatjuk (például: init=/bin/sh).
Mivel a kernel a lemezen tömörítve van először ki kell csomagolnia magát. A kernel-image eleje egy kis programot tartalmaz ebből a célból.
A kernel első feladata a videókártya inicializálása, ha úgy állítottuk be, akkor kérheti a képernyőfelbontás megadását, ellenkező esetben a kernelben meghatározott videómódot állítja be a videókártyán. Ezt a következő üzenettel adja tudtunkra a kernel:
Console: colour VGA+ 80x25
Ezután kiszámol egy összeget, amit a teljesítmény jelzésére használnak.
Calibrating delay loop... 149.50 BogoMIPS
A kernel következő feladata a fizikai memória méretének azonosítása:
Memory: 63532k/65536k available (656k kernel code, 412k reserved, 904k data, 32k init)
Ezután egy humoros mondással nyugtázza a kernel, hogy
Checking if this processor honours the WP bit even in supervisor mode... Ok.ez a processzor tiszteletben tartja a WP bitet supervisor módban. Jó!
Inicializálja a lemezkvótát:
VFS: Diskquotas version dquot_6.4.0 initialized
Beazonosítja a processzort (és betölt hozzá egy hibajavítást):
CPU: Cyrix 6x86L 2x Core/Bus Clock stepping 02 Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. Cyrix processor with "coma bug" found, workaround enabled
Ezután a PCI eszközök és az ISA buszok inicializálását kísérli meg a kernel:
PCI: PCI BIOS revision 2.10 entry at 0xfb470 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: 00:38 [1106/0586]: Work around ISA DMA hangs (00) Activating ISA DMA hang workarounds.
A hálózati protokollok betöltése:
Linux NET4.0 for Linux 2.2 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0 for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP
A soros portok beállítása a következő lépés:
Serial driver version 4.27 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A ttyS03 at 0x02e8 (irq = 3) is a 16550A
A pszeudo-terminálok konfigurálása:
pty: 256 Unix98 ptys configured
Az IDE-vezérlők azonosítása:
VP_IDE: IDE controller on PCI bus 00 dev 39 VP_IDE: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x6000-0x6007, BIOS settings: hda:pio, hdb:pio ide1: BM-DMA at 0x6008-0x600f, BIOS settings: hdc:pio, hdd:pio
Az IDE eszközök azonosítása:
hda: QUANTUM FIREBALL EX3.2A, ATA DISK drive hdc: WDC AC31600H, ATA DISK drive hdd: WPI CDD-820, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: QUANTUM FIREBALL EX3.2A, 3079MB w/418kB Cache, CHS=782/128/63, (U)DMA hdc: Disabling (U)DMA for WDC AC31600H hdc: DMA disabled hdc: WDC AC31600H, 1549MB w/128kB Cache, CHS=3148/16/63 hdd: ATAPI 8X CD-ROM drive, 128kB Cache
A CD-ROM meghajtóprogramjának betöltése:
Uniform CDROM driver Revision: 2.55
A merevlemezeken lévő partíciók azonosítása:
Partition check: hda: hda1 hda2 hda3 hda4 < hda5 hda6 > hdc: [PTBL] [787/64/63] hdc1 hdc2
Kiírja, hogy a root partíciót csak-olvashatóra mountolja:
VFS: Mounted root (ext2 filesystem) readonly.
A swap terület hozzáadása a rendszerhez:
Adding Swap: 32252k swap-space (priority -1)
Kernelmodulok betöltése a /etc/modules fájl alapján:
wd.c: Presently autoprobing (not recommended) for a single card. wd.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) eth0: WD80x3 at 0x280, 00 00 C0 56 CB 68 WD8013, IRQ 10, shared memory at 0xc8000-0xcbfff. Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996 SB 4.13 detected OK (220)
A kernelmodulok betöltése után a kernel utolsó lépése a bootolás folyamán az init processz elindítása. Egészen pontosan a következő programokat próbálja meg elindítani (ebben a sorrendben):
Ezt a futási szintet átadhatjuk a LILO boot: promptnál, a kernel neve után, beírva a kívánt futási szintet. Például: kernelneve single. Ez azt eredményezi, hogy a rendszer egyfelhasználós módban fog elindulni, és csak a /etc/rc1.d/ könyvtárban lévő programokat indítja el. (A /etc/rc?.d/ könyvtárakban igazából csak linkek vannak, amelyek a /etc/init.d/ könyvtárban lévő fájlokra mutatnak.)
Tehát az init elindítja a /etc/rcS.d/ könyvtárba linkelt programokat, majd megnézi a /etc/inittab fájlban az alapértelmezett futási szintet, és elindítja az abban meghatározott programokat. A programok elindulása után beállítja, hogy mit kell tennie a rendszernek a Ctrl-Alt-Del billentyűk lenyomása esetén. Ha rendelkezünk UPS-sel, akkor itt meghatározhatjuk, hogy mi történjen különböző események alkalmával (ha probléma van az áramellátással). Ezután elindítja a beállított getty programokat a meghatározott terminálokra - ezek teszik lehetővé a bejelentkezést a rendszerbe. Lehetőségünk van a soros portokra is különböző getty programokat indítani.
Normál működés esetén az init megbizonyosodik arról, hogy a getty programok dolgoznak, és az elárvult processzeket örökbe fogadja. Minden futó programnak az init processz a szülője, az ő PID-je (processzazonosító) mindig az egyes (1). A boot folyamat alatt indított processzek az init környezeti változóit öröklik. Vannak olyan programok, amik meg tudják változtatni (be tudják állítani) a saját környezeti változóikat - például a cron démon.