|
1.
Časové pásmo
Nejprve musíte nastavit své časové pásmo, aby systém věděl, kde je umístěn.
Najděte jej v /usr/share/zoneinfo a zkopírujte do
/etc/localtime. Nepoužívejte prosím soubory
/usr/share/zoneinfo/Etc/GMT*, protože jejich jména zcela
neodpovídají obsahu, například GMT-8 je ve skutečnosti
GMT+8.
Výpis kódu 1.1: Nastavení časové zóny |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/Europe/Prague /etc/localtime
|
1.
Instalace zdrojových kódů
Výběr jádra
Srdcem každé linuxové distribuce je kernel, linuxové jádro, tvořící vrstvu mezi
uživatelskými programy a hardwarem systému. Gentoo umožňuje svým uživatelům
výběr z několika možných kernelů, jejichž podrobný popis najdete
v dokumentu Linuxová jádra
v Gentoo.
Vyberte si jedno z těchto jader a nainstalujte ho pomocí emerge.
USE="-doc" je nutné pro dočasné zabránění instalace xorg-x11 a dalších
závislostí. USE="symlink" na nových instalacích nezbytné není, avšak
zajistí správné vytvoření symbolického odkazu /usr/src/linux.
Výpis kódu 1.1: Instalace zdrojových kódů jádra |
# USE="-doc symlink" emerge gentoo-sources
|
Podíváte-li se do adresáře /usr/src, měli byste vidět symbolický
odkaz linux ukazující na zdrojové kódy Vašeho jádra. V tomto
případě je nainstalován balíček gentoo-sources-${kernel-version} (verze, kterou používáte vy, může být jiná).
Výpis kódu 1.1: Zobrazení symbolického odkazu na zdrojové kódy jádra |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-${kernel-version}
|
Nyní je čas nakonfigurovat a zkompilovat Váš kernel. Můžete na to použít
genkernel, který sestaví všeobecně použitelné jádro, stejné, jako používá
instalační CD. My si však nejprve popíšeme ruční konfiguraci, protože to je ta
nejlepší cesta, jak dosáhnout nejlépe optimalizovaného prostředí.
Chcete-li si nakonfigurovat své jádro, pokračujte částí výchozí: ruční konfigurace. Chcete-li použít
genkernel, měli byste místo toho použít alternativní: použití genkernelu.
1.
Výchozí: Ruční konfigurace
Úvod
Na ruční konfiguraci jádra je často pohlíženo jako na jeden z nejtěžších
kroků, které kdy musí uživatel Linuxu provést. Nic není dále od pravdy - až si
nakonfigurujete pár vlastních kernelů, ani si nebudete pamatovat, že to bylo
obtížné ;-)
Ale jedna věc je pravda - než začnete konfigurovat jádro, musíte znát
svůj systém. Většinu informací získáte instalací balíčku pciutils (emerge
pciutils) uvnitř chrootovaného prostředí. S klidným svědomím můžete
ignorovat varování pcilib (například "pcilib: cannot open
/sys/bus/pci/devices"), které lspci ohlásí. lspci můžete použít
i v původním prostředí (bez chrootu); výsledek je stejný. Rovněž
můžete spustit lsmod, abyste viděli, jaké moduly instalační CD používá,
což Vám může napovědět, jaké volby při konfiguraci jádra povolit.
Nyní vejděte do adresáře se zdrojovými kódy jádra a spusťte make
menuconfig. Zobrazí se Vám konfigurační menu založené na knihovně ncurses.
Výpis kódu 1.1: Spouštíme menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Budete uvítáni seznamem různých sekcí. Ukážeme si, které volby budete muset
aktivovat, aby Gentoo pracovalo správně bez dalšího vylaďování.
Aktivace vyžadovaných voleb
Nejprve povolíme použití vývojového a experimentálního kódu a ovladačů. Je to
potřeba, jinak se některé důležité volby nezobrazí:
Výpis kódu 1.1: Povolení použítí použití vývojového a experimentálního kódu a ovladačů |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
|
Ujistěte se, že jste zakompilovali do jádra, ne jako modul, vše potřebné
k bootu systému (například SCSI řadič). V opačném případě Váš systém
nebude možné spustit.
Nyní v sekci File Systems zvolte podporu souborových systémů, které
chcete používat. Nekompilujte je jako moduly, jinak Gentoo nebude schopné
připojit Vaše oddíly. Také povolte Virtual memory a /proc file
system.
Nezapomeňte povolit DMA pro disky:
Výpis kódu 1.1: Aktivace DMA |
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
|
Používáte-li PPPoE pro připojení k Internetu nebo máte-li modem pro
vytáčené připojení, budete muset povolit tyto volby:
Dvě volby pro kompresi neuškodí, ale nejsou nutné, stejně jako volba PPP over
Ethernet, která je použita pouze tehdy, je-li rp-pppoe nastaveno pro
použití PPPoE v režimu jádra.
Potřebujete-li, nezapomeňte povolit podporu své síťové karty.
Výpis kódu 1.1: Povolení podpory SMP |
Processor type and features --->
[*] Symmetric multi-processing support
|
Poznámka:
Máte-li procesor s více jádry (multi-core), počítá se každé z nich
jako samostatný procesor.
|
Používáte-li USB vstupní zařízení jako je klávesnice a nebo myš, nezapomeňte je
rovněž povolit:
Výpis kódu 1.1: Aktivace podpory USB pro vstupní zařízení |
Device Drivers --->
USB Support --->
<*> USB Human Interface Device (full HID) support
|
Kompilace a instalace
Nyní máte své jádro nakonfigurované, je tedy čas jej zkompilovat a
nainstalovat. Ukončete konfigurační program a zahajte kompilační proces:
Až se kompilace dokončí, zkopírujte image jádra do adresáře /boot.
Jako jméno image použijte cokoliv, co Vám bude připadat vhodné, avšak
nezapomeňte, že jej budete potřebovat při konfiguraci bootloaderu. V dalším
příkladu tedy nahraďte ${kernel-name} zvoleným jménem:
Výpis kódu 1.1: Instalace jádra |
# cp arch/${arch-sub}/boot/bzImage /boot/${kernel-name}
|
Nyní pokračujte instalací modulů jádra.
1.
Alternativní: Použití genkernelu
Čtete-li tuto sekci, vybrali jste si genkernel, který nastaví Vaše jádro
za Vás.
Zdrojové kódy jádra jsou již nainstalované, je tedy čas je nakonfigurovat a
zkompilovat. Skript genkernel sestaví jádro za Vás. Výsledek funguje
skoro stejně jako instalační CD, to znamená, že pokud použijete
genkernel, systém se při startu pokusí detekovat Váš hardware. Protože
genkernel nevyžaduje ruční konfiguraci jádra, je ideálním řešením pro
uživatele, kteří se jí chtějí vyhnout.
Podívejme se, jak se genkernel používá. Nejprve ho nainstalujeme:
Výpis kódu 1.1: Instalace genkernelu |
# emerge genkernel
|
Nyní zkompilujte zdrojové kódy jádra pomocí genkernel all. Protože však
genkernel vytvoří jádro podporující skoro všechen možný hardware, bude
kompilace trvat poměrně dlouho.
Pokud jste na /boot použili jiný systém souborů než ext2 nebo
ext3, budete potřebovat spustit genkernel --menuconfig all a přidat
podporu pro použitý filesystém přímo do jádra, tj. ne jako modul.
Uživatelé EVMS2 číi LVM2 budou pravděpodobně chtít přidat i volby
--evms2, resp. --lvm2.
Výpis kódu 1.1: Spuštění genkernelu |
# genkernel all
|
Jakmile genkernel skončí, je vytvořeno jádro, všechny moduly a initial
root disk čili initrd, sloužící k detekci Vašeho hardwaru ještě před
tím, než vstoupí do hry "opravdový" systém. Jména jádra a initrd budete
potřebovat pro pozdější nastavení bootloaderu, proto si je poznamenejte.
Výpis kódu 1.1: Kontrola vytvořeného image jádra a initrd |
# ls /boot/kernel* /boot/initramfs*
|
Nyní proveďte ještě jeden krok, aby byl Váš systém více podobný instalačnímu CD
- nainstalujte coldplug. Initrd detekuje vše potřebné pro spuštění
systému, coldplug se postará o zbytek. Abyste mohli používat
coldplug, napište následující:
Výpis kódu 1.1: Instalace a povolení coldplugu |
# emerge coldplug
# rc-update add coldplug boot
|
1.
Jaderné moduly
Konfigurace modulů
Moduly, které chcete automaticky načíst při startu, byste měli zapsat
do souboru /etc/modules.autoload.d/kernel-2.6. Můžete tam
přidat i různé parametry předávané modulům, pokud potřebujete.
Pro zobrazení všech dostupných modulů použijte příkaz find. Nezapomeňte
nahradit ${kernel-version} verzí jádra, které jste zrovna
zkompilovali:
Výpis kódu 1.1: Zobrazení všech dostupných modulů |
# find /lib/modules/${kernel-version}/ -type f -iname '*.o' -or -iname '*.ko'
|
Chcete-li kupříkladu automaticky načíst modul 3c59x, změňte
kernel-2.6 a zadejte do něj jméno modulu:
Výpis kódu 1.1: Editace /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Výpis kódu 1.1: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
V instalaci pokračujte (konfigurací
systému).
|