You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
erativni sustav nakon određenog broja sekundi<br />
definiranog naredbom timeout. Ova je naredba<br />
korisna ukoliko GRUB pokrećemo na terminalu,<br />
koji nema inicijalizirane upravljačke programe za<br />
unos podataka, pa nije moguć odabir ili potvrda<br />
podizanja uobičajenog unosa, te ako želimo<br />
sakriti boot izbornik od neiskusnih korisnika.<br />
Od općenitih naredbi koje možemo podesiti<br />
u konfiguracijskoj datoteci još imamo opcije za<br />
upravljanje prikazom (boje i grafičko sučelje),<br />
detektiranjem i upravljanjem podizanja<br />
putem mreže, komunikacijom s terminalima<br />
i putem serijskog porta, mapiranjem tipki te<br />
podešavanjem lozinke. Svaka od ovih opcija vrlo<br />
je specifična za određenu potrebu i nećemo ih<br />
detaljnije objašnjavati.<br />
Definiranje operativnog sustava<br />
GRUB podržava dva načina podizanja operativnog<br />
sustava, a oni se razlikuju po tome je li<br />
operativni sustav koji učitavamo podržan ili ne.<br />
Podržani sustavi u GRUB-u su Linux, GNU Hurd<br />
i BSD sustavi (FreeBSD, OpenBSD i NetBSD).<br />
Sve ostale OS-ove učitavat ćemo putem naredbe<br />
chainloader, koja će učitati prvi boot sektor te<br />
prepustiti kontrolu drugom boot loaderu, nakon<br />
čega će se podignuti odabrani OS. Da biste učitali<br />
podržani OS, GRUB treba učitati kernel, tj. jezgru<br />
sustava. Za svaki operativni sustav pozicija i ime<br />
datoteke su različiti, pa ćete za to trebati poznavati<br />
specifični operativni sustav. U Linuxu se kernel<br />
najčešće nalazi u datoteci /boot/vmlinuz, u<br />
FreeBSD-u u /boot/loader, ali te datoteke mogu<br />
nositi i neki drugi naziv, pogotovo ako u sustavu<br />
imate više instaliranih kernela. Često će osim<br />
kernela biti potrebno učitati i posebno pripremljen<br />
image s driverima koji će poslužiti kernelu za<br />
učitavanje određene hardverske podrške, pa ju<br />
je potrebno inicijalizirati da bi se sustav ispravno<br />
mogao podignuti. U tom slučaju koristit ćemo<br />
naredbu initrd koja je obavezna za sve nove<br />
verzije Linuxova kernela, a kao argument koristit<br />
ćemo stazu do datoteke koju smo generirali<br />
naredbom mkinitrd (koju ćemo morati pokrenuti<br />
svaki put nakon što kompajliramo vlastiti kernel).<br />
Osim naslova, definicije kernela i “popratnih”<br />
sadržaja, potrebno je definirati i root disk, tj.<br />
particiju, koji će poslužiti GRUB-u i operativnom<br />
sustavu da identificiraju osnovni datotečni sustav<br />
u kojem trebaju tražiti kernel i podatke. Ukoliko<br />
isti ne definiramo naredbom root, onda ćemo<br />
i za kernel te initrd stavke morati navesti disk<br />
i particiju na kojoj se nalaze. Tako će naredba<br />
root izgledati ovako: “root (hd0,0)”, a ukoliko<br />
ju ne definiramo, naredba kernel (te shodno<br />
tome i initrd) izgledat će otprilike ovako: “kernel<br />
“Novi” GRUB<br />
“Osim klasičnog<br />
tekstualnog izbornika<br />
GRUB ima opciju podizanja<br />
grafičkog sučelja”<br />
(hd0,0)/boot/vmlinuz”. Oznaka root particije<br />
pritom će se preuzeti iz datoteke initrd koju smo<br />
generirali prilikom instalacije kernela. U slučaju<br />
BSD-a, manipuliranje particijama je nešto kompliciranije,<br />
s obzirom da oni uvode spliceove u<br />
postojeću strukturu diska. Tako da će jedna particija<br />
po BSD strukturi imati oznaku (hd1,0,a),<br />
što označava da se radi o drugom disku, prvom<br />
spliceu i prvoj (root) particiji na disku.<br />
Nepodržane sustave (kao što su Windowsi,<br />
Mac OS X, OS/2, ne-BSD Unixi i drugi) GRUB<br />
može učitati uz vanjsku pomoć, tj. korištenjem<br />
naredbe chainloader. Tada će se pročitati prvi<br />
sektor particije i pokrenuti boot loader, koji će<br />
se “pobrinuti” za daljnje učitavanje OS-a. Kao<br />
argument ovdje može stajati +1, što označava<br />
da će pročitati prvi sektor s root particije, ali<br />
i ime datoteke koja sadržava boot sektor. Na<br />
ovaj način možemo podignuti boot loader i s<br />
drugih medija, tako da ekstrahiramo prvi sektor<br />
u određenu datoteku, koju potom “ponudimo”<br />
GRUB-u kao argument za naredbu chainloader.<br />
U određenim slučajevima potpis boot sektora<br />
bit će neispravno zapisan, što ćemo lako zaobići<br />
koristeći parametar --force.<br />
I ovdje moramo definirati root particiju, s koje<br />
će se učitati operativni sustav. Budući da se radi o<br />
nepodržanim sustavima, čitanje podataka s njih<br />
neće biti moguće, pa ćemo umjesto opcije root<br />
koristiti rootnoverify. Osim ove, za kompatibilnost<br />
s Windowsima ćemo koristiti i naredbu makeactive,<br />
koja će aktivirati ovu particiju, što je obavezno<br />
ukoliko želimo ispravno podignuti Windowse.<br />
Funkcionalna estetika<br />
Osim klasičnog tekstualnog izbornika GRUB<br />
ima opciju podizanja grafičkog sučelja (što se<br />
može konfigurirati uz pomoć naredbe message)<br />
te naredbenog retka. Naredbeni redak je nešto<br />
manje intuitivan, ali je moguće još detaljnije<br />
podesiti ponašanje GRUB-a, pa će biti najčešći<br />
odabir iskusnijih korisnika. U naredbeni redak<br />
možete iz glavnog prozora GRUB-a prijeći pritiskom<br />
na tipku C, a iz njega izlazite tipkom Esc.<br />
Distribucije će vam obično dozvoliti odabir<br />
između tekstualnog izbornika i grafičkog sučelja,<br />
a na vama je da odaberete koji način podizanja<br />
smatrate prikladnijim;<br />
GRUB 2 je već duže vremena u razvojnoj fazi, a osim više modularnog dizajna i prilagodljivije<br />
konfiguracije nosi nam i novi format konfiguracijske datoteke, koja će se predefinirano<br />
zvati grub.cfg. Kako je skriptiranje (s petljama, varijablama, uvjetima i funkcijama)<br />
postalo standardna opcija u GRUB-u, tako je izmijenjen i format datoteke, koji sada<br />
podsjeća na BASH (odnosno TCSH) skriptu. Tako ćemo za postavljanje varijabli koristiti<br />
naredbu set, a možemo definirati i vlastite varijable koje kasnije možemo iskoristiti za<br />
vlastite uvjete, petlje i pozivanje funkcija.<br />
Iako djeluje nešto kompliciranije, osnovna konfiguracija ne bi se trebala znatnije<br />
razlikovati od stare, pa mislimo da neće biti većih problema u prilagodbi kad završi razvoj<br />
GRUB-a 2 te ga poznati distributeri uvrste u svoje distribucije;<br />
pc_chip/srpanj.kolovoz_07/open_source<br />
129