Gentoo Logo

Upozornění : Tento dokument již neplatí a není udržován.


[ << ] [ < ] [ Domů ] [ > ] [ >> ]


10. Konfigurace bootloaderu

Obsah:

10.a. Vyberte si

Úvod

Po kompilaci jádra, instalaci nezbytných systémových nástrojů a další konfiguraci nastal nyní čas nainstalovat program, který po startu systému jádro načítá, tzv. bootloader (zavaděč).

Než jeden z těchto zavaděčů nainstalujete, ukážeme si, jak nastavit tzv. framebuffer, díky kterému můžete spustit linuxovou příkazovou řádku s (omezenými) grafickými prvky, jako je např. hezká spouštěcí obrazovka, bootsplash. Tento krok je samozřejmě volitelný.

Volitelně: framebuffer

Pokud jste v jádře povolili podporu framebufferu nebo jste použili výchozí konfiguraci skriptu genkernel, můžete framebuffer aktivovat přidáním voleb vga nebo video do konfigurace zavaděče.

Na 64bitových systémech musíte použít ovladač vesafb, a proto je potřeba použít volbu vga.

Parametr vga řídí rozlišení a barevnou hloubku obrazovky framebufferu pro vesafb. Jak je popsáno v dokumentu /usr/src/linux/Documentation/fb/vesafb.txt nainstalovaném spolu se zdrojovými kódy jádra, musíte zadat číslo VESA módu odpovídající požadovanému rozlišení a barevné hloubce.

Následující tabulka uvádí kombinace dostupných rozlišení a barevné hloubky spolu s odpovídajícími hodnotami, které musíte zadat s údajem vga.

640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32 tisíc 0x310 0x313 0x316 0x319
64 tisíc 0x311 0x314 0x317 0x31A
16 milionů 0x312 0x315 0x318 0x31B

Volba video nastavuje parametry framebufferového displeje. Je třeba uvést ovladač (pro jádra řady 2.6 vesafb, pro řadu 2.4 vesa) následovaný řídícími údaji podle Vašeho uvážení. Všechny možné volby jsou uvedeny v dokumentu /usr/src/linux/Documentation/fb/vesafb.txt, zde ukážeme tři nejužívanější možnosti:

Parametr Popis
ywrap předpokládá, že grafická karta dokáže přetočit paměť (tj. pokračovat znovu od začátku, když dosáhla konce)
mtrr:n nastaví MTRR registry; n může být:
0 - zakázáno (disabled)
1 - uncachable
2 - write-back
3 - write-combining
4 - write-through

Tyto dva údaje by mohly vypadat přibližně jako vga=0x318 video=vesafb:mtrr:3,ywrap nebo video=vesafb:mtrr:3,ywrap,1024x768-32@85. Zanedlouho budou potřeba, proto si je poznamenejte.

Na AMD64 sice funguje i LILO, avšak podporované je pouze použití GRUBU. Pokračujme tedy jeho instalací.

10.b. Výchozí: použití GRUBu

Orientace v terminologii GRUBu

Abychom porozuměli GRUBu, je velmi důležité pochopit způsob, jakým odkazuje na pevné disky a diskové oddíly. Tak např. linuxový oddíl /dev/hda1 (IDE disky) nebo /dev/sda1 (SATA/SCSI) se v GRUBu bude velmi pravděpodobně nazývat (hd0,0). Všimněte si kulatých závorek kolem hd0,0, jsou bezpodmínečně nutné.

Pořadí pevných disků se počítá od nuly, ne od "a", označení diskových oddílů začíná rovněž na nule, ne na jedničce. Dejte také pozor na to, že do "hd" se započítávají pouze pevné disky, nikoliv ostatní zařízení ATAPI-IDE, jako jsou CDROM mechaniky nebo vypalovačky. To samé platí pro SCSI zařízení. (Obvykle obdrží vyšší čísla než IDE disky, kromě případu, kdy je BIOS konfigurován tak, aby bootoval ze SCSI zařízení.) Nastavíte-li BIOS, aby bootoval z jiného pevného disku (např. ze druhého zařízení na prvním kanálu - primary slave), bude takový disk označen za hd0.

Dejme tomu, že máte první pevný disk na /dev/hda, CD-ROM mechaniku na /dev/hdb, vypalovačku na /dev/hdc, druhý pevný disk na /dev/hdd a v systému není žádný SCSI disk. V takovém případě si GRUB přeloží /dev/hdd7 jako (hd1,6). Možná to vypadá na první pohled zmateně, ale jak uvidíte, GRUB nabízí funkci automatického doplňování pomocí klávesy TAB, která Vám pomůže, když by hrozilo, že se v tomto číselném schématu ztratíte.

Jestli jste to už strávili, dejme se do instalace GRUBu.

Instalace GRUB

Jako první krok zadáme příkaz emerge:

Výpis kódu 2.1: Instalace GRUB

# emerge grub

GRUB je nyní sice nainstalován, je však ještě potřeba pro něj napsat konfigurační soubor a zapsat GRUB do MBR pevného disku, aby mohl automaticky zavést nové jádro. Spusťte svůj oblíbený editor (pro potřeby tohoto návodu používáme nano) a vytvořte v něm soubor /boot/grub/grub.conf:

Výpis kódu 2.2: Vytvoření /boot/grub/grub.conf

# nano -w /boot/grub/grub.conf

Nyní se chystáte vytvořit konfigurační soubor grub.conf. Níže najdete příklady dvou možných podob grub.conf pro ukázkové rozdělení disků použité jako příklad pro účely tohoto návodu. Podrobně komentován je pouze první grub.conf. Ujistěte se, že zadáváte název svého obrazu jádra, a pokud je třeba, i svého initrd obrazu.

  • první grub.conf je pro uživatele, jejichž jádro není sestavené příkazem genkernel
  • druhý grub.conf pak pro ty, kdo pro sestavení svého jádra použili genkernel

Poznámka: Je-li Váš kořenový souborový systém typu JFS, musíte přidat "ro" k řádce kernel, protože JFS potřebuje přehrát svůj záznam dříve, než dovolí připojit disk v režimu pro čtení i zápis.

Výpis kódu 2.3: grub.conf pro ty, kdož nepoužili genkernel

# určuje, který systém se zavádí jako výchozí (default), 0 znamená první, 1 druhý atd.
default 0
# kolik sekund čekat před zavedením výchozího systémů
timeout 30
# pěkný obrázek, aby při bootvání nebyla nuda :-)
# zakomentujte, pokud nemáte nainstalovanou grafickou kartu
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.17-r5
# oddíl, na kterém je umístěn obraz jádra nebo operační systém
root (hd0,0)
kernel /boot/kernel-2.6.17-gentoo-r5 root=/dev/hda3

# Následující čtyři řádky jsou třeba pouze pro duální boot se systémem Windows
# v tomto příkladu jsou Windows nainstalovány na
/dev/hda6
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Výpis kódu 2.4: grub.conf pro uživatele genkernelu

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.17-r5
root (hd0,0)
kernel /boot/kernel-genkernel-amd64-2.6.17-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-amd64-2.6.17-gentoo-r5


# pouze v případě, že chcete dual-boot
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Poznámka: Údaj udev na konci řádky, která definuje umístění jádra, je nutný k opravě chyby v některých verzích genkernelu v případě, že používáte primárně udev, což je standardní nastavení.

Pokud jste zvolili jiné rozdělení oddílů nebo obrazy jádra, musíte údaje náležitě upravit. Dbejte zejména na to, aby všechny odkazy za určením zařízení podle GRUBu (jako např. (hd0,0)) byly uvedeny relativně vzhledem k bodu připojení (mountpoint), nikoliv ke kořenovému adresáři (root). Jinými slovy, (hd0,0)/grub/splash.xpm.gz je ve skutečnosti /boot/grub/splash.xpm.gz, protože (hd0,0) je /boot.

Navíc pokud jste se rozhodli pro jiné rozdělení oddílů a neumístili /boot na zvláštní oddíl, je uvedení prefixu /boot nutné. Jestliže jste se drželi našeho doporučení, vyžadován není, avšak symbolický odkaz boot umožní, že rovněž funguje. Výše uvedené příklady proto můžete použít, ať už máte /boot na zvláštním oddíle či nikoli.

Chcete-li jádru předat nějaké dodatečné volby, jednoduše je zapište na konec řádku příkazu kernel. Už jste zadali jeden parametr (root=/dev/hda3, případně real_root=/dev/hda3), ale můžete připsat i další, jako třeba video nebo vga pro framebuffer, viz výše.

Používáte-li jádro ve verzi 2.6.7 nebo vyšší a nastavili jste svůj disk, aby ohlašoval menší velikost, protože Váš BIOS neumí zacházet s velkými disky, musíte přidat hdx=stroke.

Jestliže jste použili genkernel, měli byste vědět, že Vaše jádro používá tytéž bootovací příkazy jako instalační CD, proto například máte-li SCSI zařízení, měli byste přidat jako volbu jádra parametr doscsi.

Nyní uložte soubor grub.conf a ukončete editor. Stále je ještě potřeba nainstalovat GRUB do MBR (Master Boot Record), aby byl GRUB automaticky zaveden, když spustíte počítač.

Vývojáři GRUBu doporučují použít k instalaci nástroj grub-install. Kdyby však z nějakého důvodu nepracoval správně, máte stále možnost nainstalovat GRUB ručně.

Pokračujte buď částí výchozí: nastavení GRUBu pomocí grub-install anebo sekcí alternativní: ruční nastavení GRUBu.

Výchozí: nastavení GRUBu pomocí grub-install

Instalaci GRUBu provedete příkazem grub-install, který by však nyní ještě nefungoval, neboť jste stále v chrootovaném prostředí. Nejprve tedy musíte vytvořit /etc/mtab, soubor s informacemi o všech připojených souborových systémech. Naštěstí existuje jednoduchý způsob, jak to provést - jednoduše zkopírujete /proc/mounts do /etc/mtab vyjma řádky rootfs, pokud jste nevytvořili pro bootovací oddíl zvláštní partition. Následující příklad bude fungovat v obou případech:

Výpis kódu 2.5: Vytvoření /etc/mtab

# grep -v rootfs /proc/mounts > /etc/mtab

Nyní už můžete nainstalovat GRUB pomocí grub-install:

Výpis kódu 2.6: Spuštění grub-install

# grub-install /dev/hda

Máte-li další otázky týkající se GRUBu, konzultujte prosím GRUB FAQ nebo GRUB Manuál (obojí anglicky).

Pokračujte rebootem systému.

Alternativní: ruční nastavení GRUBu

Konfiguraci GRUBu zahájíte příkazem grub. Objeví se příkazový řádek GRUBu grub>. Nyní musíte zadat správné příkazy, abyste nainstalovali bootovací záznam GRUBu na pevný disk.

Výpis kódu 2.7: Spuštění GRUB shellu

# grub

Poznámka: Nemá-li Váš systém disketovou jednotku, přidejte k výše uvedenému příkazu volbu --no-floppy, abyste zabránili GRUBu testovat (neexistující) disketové jednotky.

V tomto příkladu chceme nainstalovat GRUB tak, aby načítal informace z bootovacího (zaváděcího) oddílu /dev/hda1 a nainstaloval svůj bootovací záznam do MBR (Master Boot Record) pevného disku, aby se po zapnutí počítače jako první objevila výzva GRUBu. Nezapomeňte upravit zadávané příkazy podle své konfigurace, pokud jste se rozhodli pro jiné rozdělení disků.

V příkazové řádce GRUBu můžete používat automatické doplňování pomocí klávesy TAB. Např. když zadáte "root (" a stisknete klávesu TAB, zobrazí se vám seznam dostupných zařízení (jako např. hd0). Napíšete-li "root (hd0," a stisknete klávesu TAB, zobrazí se seznam dostupných oddílů, ze kterých si můžete vybrat, jako například hd0,0.

S pomocí tohoto automatického doplňování by neměla být instalace GRUBu tak obtížná. Tak jdeme na to, ne? :-)

Výpis kódu 2.8: Instalace GRUBu do MBR

grub> root (hd0,0)          (zadejte umístění oddílu /boot)
grub> setup (hd0)           (nainstalujte GRUB do MBR)
grub> quit                  (a ukončete příkazovou řádku GRUBu)

Poznámka: Chcete-li nainstalovat GRUB namísto do MBR na nějaký jiný oddíl, musíte změnit příkaz setup tak, aby na příslušný oddíl odkazoval. Například pokud chcete nainstalovat GRUB na /dev/hda3, bude mít příkaz podobu setup (hd0,2). To se však týká jen mála uživatelů.

Máte-li další otázky týkající se GRUBu, konzultujte prosím GRUB FAQ nebo GRUB Manuál (obojí anglicky).

Pokračujte restartem systému.

10.c. Restart systému

Opusťte chrootované prostředí a odpojte všechny připojené oddíly. Pak zadejte onen magický příkaz, na který jste tolik čekali: reboot.

Výpis kódu 3.1: Odpojení všech oddílů a reboot

# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

Nezapomeňte vyjmout bootovací CD, nebo vám místo vašeho nového systému Gentoo naběhne znovu jen CD.

Až se nově nainstalovaný systém Gentoo spustí, pokračujte dokončením instalace.


[ << ] [ < ] [ Domů ] [ > ] [ >> ]


Tisk

Zobrazit všechny

Aktualizace: 30. srpen 2006

Poslední aktualizace původni verze tohoto dokumentu: 17. srpen 2014

Shrnutí: V této kapitole popíšeme bootloader GRUB a ukážeme Vám, jak ho nastavit podle Vašich potřeb.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 vývojář

Tavis Ormandy
Gentoo Alpha vývojář

Jason Huebel
Gentoo AMD64 vývojář

Guy Martin
Gentoo HPPA vývojář

Pieter Van den Abeele
Gentoo PPC vývojář

Joe Kallar
Gentoo SPARC vývojář

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Korektor

Gerald J. Normandin Jr.
Korektor

Donnie Berkholz
Korektor

Ken Nowack
Korektor

Lars Weiler
Přispěvatel

Jan Kundrát
Překladatel

Jan Nárovec
Překladatel

Martin Tesař
Překladatel

Mirek Dvořák
Korektor

Adam Kudrna
Korektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.