Bootanje Linuxa
From Wikipedia
Kada upalite vaš računar (tj. operativni sistem, Linux) poruke koje vidite na ekranu kreću se velikom brzinom. Neke od njih je vrlo lako razumjeti dok druge uopšte ne shvatate. Šta je u stvari to što se dešava?
Svim operativnim sistemima je potreban program koji starta boot proces . U slučaju Linuxa taj program se zove LILO (en. The LInux LOader). Program se instalira u MBR (Master Boot Record) na prvom [hard disk|hard disku]] (HD) i stara se o tome da se jezgro (kernel) učita u memoriju. Program takođe ima informacije o tome na kojem HD-u se jezgro nalazi.
To znači da čak i ako se LILO sam instalira u MBR na prvom hard disku, Linux datoteke se mogu nalaziti na nekome drugom mjestu (particiji).
Kada se jezgro učita, ujedno "mountira" (mount) svoj lični root fajl sistem (/). Nakon toga vrši dijagnostiku (tj. učitavanje - prepoznavanje) hardvera, identifikuje bug-ove u Pentium i AMD procesorima, mjeri prestandu, kontroliše memoriju i mnogo toga još. U toku ovog dijela boot procesa se takođe identifikuju i serijski portovi kao i tip diska, nešto što je dobro znati ukoliko naiđete na problem na tu temu.
Kada vidite tekst sa dobrodošlicom sličan ovome "Welcome to Linux" ili slično, boot-proces se prepušta programu init. Prvi file kojeg init poziva je file /etc/rc.sysinit. Ovdje se mountira između ostalih (lokalnih) fajl sistema čak i RAID sistem i jedan fajl koji sadrži module sistema i sve one module koji su potrebni u datom trenutku da se naprave.
Init se starta i učitava sadržaj iz /etc/rc.d/rc.sysinit fajla.
Ovo je kompletna lista onog što starta fajl rc.sysinit:
» Inicijalni putevi
» Mreža
» Logovi sistema
» Mountiranje /proc -a (jedne virtualne particije za info sistema)
» Korižiranje (tačno pokazivanje) sata
» Učitavanje tačnog layouta za tastaturu i vrstu pisma za sistem
» Aktiviranje swap particije
» Ime vašeg računara i eventualno se odredi NIS domen
» Vrši se kontrola lokalnih fajl-sistema
» Aktiviranje ISA i PnP - kartica
» Aktiviranje "diskquota"
» Moduli se kontrolišu i stvara se lista (modules.dep)
» Učitavaju se moduli za zvuk
» Eventualno se doda RAID sistem
» Mountiranje ostalih lokalnih fajl-sistema
» Konfiguracija šifre (password) i mreže ukoliko nedostaje
» Aktiviranje serijskih portova
» Aktiviranje SCSI-ja
» Čišćenje eventualnih ostataka nekih fajlova iza programa
» Kopiranje starta u log (dmesg)
Runlevel
Na kraju sistem prelazi u "runlevel 3". Tu se aktiviraju sve komande koje se nalaze u direktoriju /etc/rc.d/rc3.d. Te se komande zatim linkaju do pravih fileova u /etc/rc.d/init.d. Cifra koja se nalazi prije imena programa pokazuje u kojem se redosljedu program starta, nešto sto je jako važno pošto su mnogi programi zavisni jedni od drugih, neki od njih se moraju startati prije drugih.
SysV startanje
Postoje dva načina pokretanja vašeg računara u Unix svijetu: SysV (System 5) i BSD. U današnje vrijeme je SysV-startanje postalo mnogo uobičajenije, ali oba sistema imaju i svojih prednosti i mana.
BDS init, koji se između ostalog koristi u Slackware-u, se smatra jednostavnijim i lakšim za razumijevanje, kao i da je brži na startanju nego SysV init, koji se koristi u Red Hatu, SUSEu i mnogim drugim. U BSD initu nedostaju direktoriji sa linkovima a u startu se staraju nekoličina fajlova iz /etc/rc.d . Vaše lične dodatke dodajete u fajl rc.local.
Na prvi pogled SysV inicija može da izgleda veoma komplikovano. Kada pogledate malo bolje onda vidite da to i nije toliko komplikovano kao što izgleda. Cifre od 0-6 označavaju tipove tih tzv. "runlevels" :
- 0 Shutdown
- 1 Single user mode
- 2 Multi user mode bez mreže
- 3 Multi user mode
- 4 Neupotrebljava se
- 5 XDM (X se starta automatski)
- 6 reboot
Ako kao root napišete "init 6" na promptu znači da je isto kao da ste napisali "reboot", "shutdown -r now" ili pritisnuli ctrl-alt-del. Pošto će se mnogi programi startati ili stopirati kod više ovih "runlevels" (npr. sve što se startalo u runlevel 3 će se takođe startati i u runlevel 5) onda će sadržaj i količina biti slična.
Smatrate li da ovo izgleda zapetljano možete čak i u SysV startanju da dodate vaše lične komande u fajlu /etc/rc.d/rc.local.