Linuxov boot proces

Nakon uključivanja računala, korisnici očekuju da će se učitati operacijski sustav, Windowsi, Linux,  Mac OS X ili neki drugi. Tada će se korisnik autenticirati i započeti s radom. No boot proces nije tako jednostavan. Može se razložiti na sedam koraka, a na svakom od njih može se dogoditi problem. Iako sistemci to već znaju, nije zgorega povremeno ponoviti gradivo.

1. Nakon uključivanja procesor pokreće program koji se nalazi na zadanoj adresi, na kojoj je BIOS (Basic Input Output System), zapisan u ROM ili flash memoriji. Ta adresa ovisi o platformi, a na PC računalima je 0xFFFF0. BIOS se sastoji od dva dijela. Najprije se pokreće POST (Power On Self Test). Provjerava se prisutnost i ispravnost osnovnog sklopovlja, procesora, memorije, grafičke kartice, tipkovnice. Zatim se traže podatkovni mediji, tvrdi diskovi, diskete, CD/DVD. Uređaji se numeriraju i inicijaliziraju. Kada je POST uspješno obavljen, briše se iz memorije, a ostaje aktivan drugi dio BIOS-a koji OS-u pruža run time usluge.

BIOS će pištanjem upozoriti na odsustvo ili kvar nekog hardvera. Pri tome broj i duljina beepova označava da li se radi o memoriji, ili na pr. grafičkoj kartici. Danas se tipkovnice priključuju na USB port, pa se njihovo odsustvo ne prijavljuje, no nekada bi se proces zaustavio, a korisnik bi dobio poruku:

Keyboard error or no keyboard present. Press F1 to continue. 

Ta je poruka bila neprestan izvor zabave, jer kako ćeš pritisnuti F1 ako nemaš tipkovnicu? PS/2 tipkovnicu nije bilo preporučljivo naknadno priključiti, pa je trebalo ugasiti računalo i krenuti ispočetka.

Tumačenje beepova ovisi o proizvođaču BIOS-a, a značenje svake kombinacije "morseovih" signala može se naći na web stranicama proizvođača, ili skupljene na nekom techie siteu poput ovoga: http://www.computerhope.com/beep.htm

2. Master Boot Record nalazi se na početku diska, traka 0, cilindar 0, glava za čitanje 0, a zauzima 512 byteova. Tu je upisan loader, na Linuxu LILO (LInux LOader) ili danas češće GRUB, pa za njim tablica particija, u kojoj je označena aktivna particija, s koje se tadicionalno učitava OS.

3. Ako je na računalu instalirano više OS-ova, boot loader će ponuditi izbornik, a na korisniku je da odluči koji OS želi. OS se može pokrenuti i s particije koja nije aktivna. U izborniku ćete naći i više verzija Linux kernela, za slučaj da nakon instalacije nove jezgre pokretanje OS-a ne uspije, možete izabrati staru verziju jezgre i krenuti u rješavanje problema.

4. Boot loader zatim obavi dekompresiju i učitavanje jezgre. Učitaju se dodatni moduli kernela, nakon čega kreće detekcija hardvera (diskovi, mrežne kartice, grafička kartica ...), provjerava se konfiguracija hardvera i na kraju učitaju pogonski programi za hardver (driveri).

5. U ovoj fazi loader treba montirati root file system, na kojem su snimljene sistemske datoteke i programi. Ukoliko mu to ne uspije, dogodi se system panic i računalo se zamrzne.

6. Slijedi pokretanje procesa init, procesa čiji je PID jedan, koji je, kao otac svih drugih procesa, zadužen za njihovo pokretanje.

7. Tradicionalno, postavke za init nalaze se u datoteci /etc/inittab, gdje su navedeni runleveli i putanje do skripti za pokretanje servisa:

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

Runlevel 0 je halt, zaustavljanje računala.
Runlevel 1 je jednokorisnički način rada, služi za administriranje.
Runlevel 2 je višekorisnički, ali bez mreže.
Runlevel 3 normalan je višekorisnički način rada, s dignutom mrežom.
Runlevel 4 je nedefiniran, ne koristi se, odnosno korisnik može sam zadati parametre za njega.
Runlevel 5 je višekorisnički, ali sa grafičkim sučeljem, dakle runlevel 3 + display manager.
Runlevel 6 je reboot, gašenje i ponovno pokretanje računala.

Time bi završili ovaj ubrzani pregled procesa učitavanja i startanja Linuxa. Bit će kasnije prilike za detaljniju razradu pojedinosti.

Kuharice: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (1 vote)