30.04.2013 Views

Foto i video - PC Chip

Foto i video - PC Chip

Foto i video - PC Chip

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!