GRUB Mini-HOWTO
Vladimir Vrzi�, random@bsd.org.yu
2. decembar 2000.
Abstract
Obja�njava instalaciju i konfigurisanje GNU GRUB bootloadera (nekada�njeg
"GRand Unified Bootloadera").
1 Uvod
1.1 O ovom dokumentu
Ovaj dokument nije zami�ljen kao opse�no dokumentovanje GRUB softvera,
ve� samo kao niz uputstava za konfigurisanje GRUBa u nekoliko �estih
primena, u nedostatku kvalitetne dokumentacije iz pera samih autora.
Verovatno �e sa pojavom opse�nije i a�urnije dokumentacije za GRUB
postati nepotreban.
1.2 �ta je GRUB?
GNU GRUB je multiboot bootloader, nastao iz GRUBa (GRand Unified Bootloadera),
kog je originalno napisao Erich Stefan Boleyn. Veoma je bogat opcijama,
i, za razliku od npr. LILOa, koji je napisan specijalno za u�itavanje
Linux kernela, podr�ava podizanje slede�ih sistema:
* FreeBSD
* OpenBSD
* NetBSD
* GNU/Linux
* GNU Mach
* ostali sistemi, kao �to su Windows 9x, Windows NT/2000, OS/2, BeOS,
QNX, itd. su podr�ani u smislu ulan�avanja njihovih sopstvenih bootloadera
sa GRUB-om.
Grub podr�ava direktno u�itavanje kernela, pri �emu se kernelu pristupa
po putanji na fajl sistemu na kome se nalazi (trenutno su podr�ani
Ext2, FFS, Reiser, Minix i FAT). �injenica da GRUB razume strukturu
fajl sistema je veoma va�na, iz dva razloga:
1. Nije potrebno vr�iti ikakva dodatna pode�avanja GRUBa prilikom fizi�kog
pomeranja kernela na boot particiji. Drugim re�ima, sve dok postoji
fajl sa imenom kernela u istom direktorijumu na disku, GRUB �e mo�i
da ga u�ita. Na primer, ako iskompajlirate novi kernel, dovoljno
je da ga snimite preko starog (ili da napravite simboli�ki link,
kao �to ja �inim), i GRUB �e ga pri slede�em podizanju sistema prona�i.
Ovakav sistem je mnogo napredniji od LILOa, koji zahteva da mu se
eksplicitno zada fizi�ka adresa (u cilindar/glava/sektor formatu)
po�etka kernela na ure�aju -- startuje se /sbin/lilo, koji pro�ita
/etc/lilo.conf, prona�e fizi�ke adrese kernela i u boot sektor zadatog
ure�aja upi�e te informacije. Ovo nije previ�e komplikovano u slu�aju
da koristite LILO kao prvi bootloader, ali svi koji su koristili
Windows NT i Linux paralelno, i samim tim imali potrebu da ulan�avaju
LILO sa NTLoaderom, znaju koliko je dosadan posao preno�enja slike
boot sektora na Windows boot particiju, u slu�aju da se koristi
NTFS fajl sistem, jer Linux jo� uvek nema stabilnu podr�ku za upisivanje
fajlova na NTFS particije. GRUB je dovoljno samo jednom instalirati.
2. Zahvaljuju�i tome �to GRUB kao primarni korisni�ki interfejs ima
interaktivnu ljusku (da ne ka�em shell), mogu�e je imati univerzalnu
GRUB boot disketu i sa njom podi�i bilo koji Linux ili BSD sistem
�iji je boot sektor neupotrebljiv, pod uslovom da se negde na sistemu
nalazi odgovaraju�i kernel (GRUB �ak podr�ava pretra�ivanje particije
po imenu datoteke kori��enjem komande find). Dakle, mogu�e je u�itati
bilo koji kernel, samo specificiranjem imena fajla, ure�aja i particije
gde se kernel nalazi. Iz ve� navedenih razloga, ovako ne�to je sa
LILOom inherentno neizvodljivo.
Prirodno se postavlja pitanje: ako je GRUB ve� toliko dobar, za�to
se i dalje koriste LILO i specifi�ni bootloaderi za BSD sisteme? Odgovor
je jednostavan -- GRUB jo� uvek nije javno objavljen, i smatra se
da se nalazi u alfa fazi razvoja. Ipak, iz mog iskustva, ve� je dovoljno
dobar za svakodnevno kori��enje na nekim standardnim platformama (pri
tome prvenstveno mislim na GNU/Linux za x86) i to u okru�enjima gde
imati bootloader koji razume fajl sistem predstavlja veliku prednost,
kao �to su ve� navedeno ulan�avanje sa NTLDRom i pravljenje boot diskete.
Predvi�am da �e sa izlaskom stabilne verzije GRUB postati standardni
bootloader u Linux distribucijama.
2 Nabavka i kompajliranje
Web prezentacija GRUBa se nalazi na adresi [
http://www.gnu.org/software/grub/].
Nije ba� bogata informacijama, i jedina stvar vredna pomena koju sadr�i
je FAQ. U trenutku pisanja ovog dokumenta najnovije sorsove (verzija
0.5.96) mo�ete preuzeti sa anonimnog FTP servera [
ftp://alpha.gnu.org/gnu/grub/]
ili iz GNU CVS baze ako ste avanturisti�ki raspolo�eni (za ovo ne�u
navoditi detalje, jer ne verujem da korisnicima kojima treba CVS verzija
treba dublje obja�njavati kako da do�u do nje ;o)).
Instalacija je prili�no jednostavna, i svodi se na
Code:
$ ./configure
$ make
# make install
u direktorijumu sa sorsovima, s tim da se poslednji korak mora izvr�iti
sa root privilegijama. Podrazumevane putanje za instalaciju su /usr/local/bin
i /usr/local/man, mada se to, kao i obi�no, mo�e prenebre�i davanjem
'configure' skriptu opcije '--prefix=PATH'. Mo�ete ukucati ./configure
--help ili pogledati INSTALL datoteku za listu dodatnih opcija.
3 Konvencije u imenovanju ure�aja
Zbog razli�itosti u imenovanju ure�aja u operativnim sistemima koje
GRUB podi�e, za imenovanje se koristi sintaksa koja je razli�ita od
onoga na �ta ste navikli u bilo kom od tih sistema, ali koja je ipak
prili�no jednostavna. Evo jednog primera:
(hd0,1)
Grub zahteva da se imena ure�aja nalaze izme�u oblih zagrada. U ovom
primeru, hd ozna�ava hard disk. Prvi broj, 0, ozna�ava broj diska,
tj. u na�em primeru je to prvi disk na sistemu, dok drugi broj (1)
ozna�ava broj particije, tj. ovde je u pitanju druga particija. Va�no
je primetiti da se i diskovi i particije broje od nule. Evo jo� jednog
primera:
(hd0,4)
Ovako se ozna�ava prva logi�ka particija na prvom disku (po�to disk
mo�e da ima svega �etiri primarne particije, za koje su rezervisani
brojevi 0-3, a 4, 5 i tako dalje su logi�ke particije -- pretpostavljam
su �itaocu jasna zna�enja primarne, logi�ke i extended particije,
tako da ih ne�u ovde obja�njavati, osim ako ne bude zahteva).
(hd1,a)
Ovako se ona�ava BSD 'a' particija na prvom hard disku. Ako je potrebno
eksplicitno navesti i slice na kome se nalazi ta BSD particija, koristi
se sintaksa kao npr. (hd1,1,a) ('a' particija na drugom sliceu na
drugom disku). Ako se izostavi slice, GRUB �e podrazumevati da se
misli na prvi slice koji sadr�i 'a' particiju.
U ovom trenutku bi trebalo napomenuti da GRUB sintaksa ne pravi razliku
izme�u IDE i SCSI ure�aja, ve� se svi ure�aji broje od nule, nezavisno
od tipa. Naj�e��e �e se IDE ure�aji u nabrajanju nalaziti pre SCSI,
mada se ovo mo�e u BIOSu promeniti (barem tako tvrdi GRUB priru�nik).
(fd0)
Ovako se ozna�ava prvi flopi drajv na sistemu. Po�to nije navedena
particija, GRUB �e koristiti ceo flopi disk. Ovo va�i i za hard diskove,
kada se specificira mesto instalacije GRUBa -- (hd0) na primer zna�i
"MBR prvog hard diska".
Fajlovi i putanje na fajl sistemu se predstavljaju vrlo jednostavno
i mislim da �e jedan primer biti sasvim dovoljan:
(hd0,0)/vmlinuz
ozna�ava fajl vmlinuz u korenom direktorijumu prve particije na prvom
hard disku.
4 Instalacija GRUB-a
(nedovr�eno)
4.1 Instalacija na flopi ure�aj
(nedovr�eno)
4.2 Instalacija u MBR
(nedovr�eno)
4.3 Ulan�avanje sa NTLoaderom
(nedovr�eno)
5 FAQ
(nedovr�eno)
6 Literatura i linkovi
(nedovr�eno)
[
Ovu poruku je menjao random dana 08-30-2001 u 05:10 PM GMT]
int rand(void);
Those who do not understand Unix are condemned to reinvent it, poorly.
Upali lampicu — koristi Jabber!