GRUB Mini-HOWTO
Vladimir Vrzi, random@bsd.org.yu
2. decembar 2000.
Abstract
Objanjava instalaciju i konfigurisanje GNU GRUB bootloadera (nekadanjeg
"GRand Unified Bootloadera").
1 Uvod
1.1 O ovom dokumentu
Ovaj dokument nije zamiljen kao opseno 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 opsenije i aurnije 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 uitavanje
Linux kernela, podrava podizanje sledeih sistema:
* FreeBSD
* OpenBSD
* NetBSD
* GNU/Linux
* GNU Mach
* ostali sistemi, kao to su Windows 9x, Windows NT/2000, OS/2, BeOS,
QNX, itd. su podrani u smislu ulanavanja njihovih sopstvenih bootloadera
sa GRUB-om.
Grub podrava direktno uitavanje kernela, pri emu se kernelu pristupa
po putanji na fajl sistemu na kome se nalazi (trenutno su podrani
Ext2, FFS, Reiser, Minix i FAT). injenica da GRUB razume strukturu
fajl sistema je veoma vana, iz dva razloga:
1. Nije potrebno vriti ikakva dodatna podeavanja GRUBa prilikom fizikog
pomeranja kernela na boot particiji. Drugim reima, sve dok postoji
fajl sa imenom kernela u istom direktorijumu na disku, GRUB e moi
da ga uita. Na primer, ako iskompajlirate novi kernel, dovoljno
je da ga snimite preko starog (ili da napravite simboliki link,
kao to ja inim), i GRUB e ga pri sledeem podizanju sistema pronai.
Ovakav sistem je mnogo napredniji od LILOa, koji zahteva da mu se
eksplicitno zada fizika adresa (u cilindar/glava/sektor formatu)
poetka kernela na ureaju -- startuje se /sbin/lilo, koji proita
/etc/lilo.conf, pronae fizike adrese kernela i u boot sektor zadatog
ureaja upie te informacije. Ovo nije previe komplikovano u sluaju
da koristite LILO kao prvi bootloader, ali svi koji su koristili
Windows NT i Linux paralelno, i samim tim imali potrebu da ulanavaju
LILO sa NTLoaderom, znaju koliko je dosadan posao prenoenja slike
boot sektora na Windows boot particiju, u sluaju da se koristi
NTFS fajl sistem, jer Linux jo uvek nema stabilnu podrku za upisivanje
fajlova na NTFS particije. GRUB je dovoljno samo jednom instalirati.
2. Zahvaljujui tome to GRUB kao primarni korisniki interfejs ima
interaktivnu ljusku (da ne kaem shell), mogue je imati univerzalnu
GRUB boot disketu i sa njom podii bilo koji Linux ili BSD sistem
iji je boot sektor neupotrebljiv, pod uslovom da se negde na sistemu
nalazi odgovarajui kernel (GRUB ak podrava pretraivanje particije
po imenu datoteke korienjem komande find). Dakle, mogue je uitati
bilo koji kernel, samo specificiranjem imena fajla, ureaja i particije
gde se kernel nalazi. Iz ve navedenih razloga, ovako neto je sa
LILOom inherentno neizvodljivo.
Prirodno se postavlja pitanje: ako je GRUB ve toliko dobar, zato
se i dalje koriste LILO i specifini 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 korienje na nekim standardnim platformama (pri
tome prvenstveno mislim na GNU/Linux za x86) i to u okruenjima gde
imati bootloader koji razume fajl sistem predstavlja veliku prednost,
kao to su ve navedeno ulanavanje sa NTLDRom i pravljenje boot diskete.
Predviam 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 sadri
je FAQ. U trenutku pisanja ovog dokumenta najnovije sorsove (verzija
0.5.96) moete preuzeti sa anonimnog FTP servera [
ftp://alpha.gnu.org/gnu/grub/]
ili iz GNU CVS baze ako ste avanturistiki raspoloeni (za ovo neu
navoditi detalje, jer ne verujem da korisnicima kojima treba CVS verzija
treba dublje objanjavati kako da dou do nje ;o)).
Instalacija je prilino jednostavna, i svodi se na
Code:
$ ./configure
$ make
# make install
u direktorijumu sa sorsovima, s tim da se poslednji korak mora izvriti
sa root privilegijama. Podrazumevane putanje za instalaciju su /usr/local/bin
i /usr/local/man, mada se to, kao i obino, moe prenebrei davanjem
'configure' skriptu opcije '--prefix=PATH'. Moete ukucati ./configure
--help ili pogledati INSTALL datoteku za listu dodatnih opcija.
3 Konvencije u imenovanju ureaja
Zbog razliitosti u imenovanju ureaja u operativnim sistemima koje
GRUB podie, za imenovanje se koristi sintaksa koja je razliita od
onoga na ta ste navikli u bilo kom od tih sistema, ali koja je ipak
prilino jednostavna. Evo jednog primera:
(hd0,1)
Grub zahteva da se imena ureaja nalaze izmeu oblih zagrada. U ovom
primeru, hd oznaava hard disk. Prvi broj, 0, oznaava broj diska,
tj. u naem primeru je to prvi disk na sistemu, dok drugi broj (1)
oznaava broj particije, tj. ovde je u pitanju druga particija. Vano
je primetiti da se i diskovi i particije broje od nule. Evo jo jednog
primera:
(hd0,4)
Ovako se oznaava prva logika particija na prvom disku (poto disk
moe da ima svega etiri primarne particije, za koje su rezervisani
brojevi 0-3, a 4, 5 i tako dalje su logike particije -- pretpostavljam
su itaocu jasna znaenja primarne, logike i extended particije,
tako da ih neu ovde objanjavati, osim ako ne bude zahteva).
(hd1,a)
Ovako se onaava 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 sadri 'a' particiju.
U ovom trenutku bi trebalo napomenuti da GRUB sintaksa ne pravi razliku
izmeu IDE i SCSI ureaja, ve se svi ureaji broje od nule, nezavisno
od tipa. Najee e se IDE ureaji u nabrajanju nalaziti pre SCSI,
mada se ovo moe u BIOSu promeniti (barem tako tvrdi GRUB prirunik).
(fd0)
Ovako se oznaava prvi flopi drajv na sistemu. Poto nije navedena
particija, GRUB e koristiti ceo flopi disk. Ovo vai i za hard diskove,
kada se specificira mesto instalacije GRUBa -- (hd0) na primer znai
"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
oznaava fajl vmlinuz u korenom direktorijumu prve particije na prvom
hard disku.
4 Instalacija GRUB-a
(nedovreno)
4.1 Instalacija na flopi ureaj
(nedovreno)
4.2 Instalacija u MBR
(nedovreno)
4.3 Ulanavanje sa NTLoaderom
(nedovreno)
5 FAQ
(nedovreno)
6 Literatura i linkovi
(nedovreno)
[
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!