2.0 2005-03-28
Č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 pomocí ln na něj vytvořte symbolický odkaz jako soubor /etc/localtime:

# ls /usr/share/zoneinfo
(použijeme časové pásmo vhodné pro Českou republiku)
# ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime
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.

Pro AMD64 systémy máme jádro gentoo-sources (kernel řady 2.6 doplněný patchy vylepšujícími stabilitu, výkon a podporu hardwaru.

Vyberte si jedno z těchto jader a nainstalujte ho pomocí emerge.

# 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:

# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux ->
linux-2.6.11-gentoo-r3

Pokud symbolický odkaz neukazuje na správný adresář, měli byste jej opravit:

# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.26-gentoo-r9 linux

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.

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í můžete získat z obsahu /proc/pci či pomocí lspci, pokud je dostupné. Také můžete spustit lsmod, abyste viděli, jaké moduly používá LiveCD, což Vám může napovědět, jaké volby při konfiguraci 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.

# 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í:

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers

Nyní přejděte do sekce General Setup, a protože řada 2.6 je na architektuře AMD64 jediná podporovaná, povolte volbu support for hot-pluggable devices kvůli použití udev. 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. Nevybírejte volbu /dev file system support, protože Gentoo/AMD64 používá udev jako výchozí volbu.

File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [ ] /dev file system support (OBSOLETE)
    [*] Virtual memory file system support (former shm fs)

(Vyberte jednu nebo více z následujících voleb, podle toho, co potřebujete)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

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:

Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

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.

Máte-li víceprocesorový systém s Opterony, meli byste povolit "Symmetric multi-processing support":

Processor type and features --->
  [*] Symmetric multi-processing support

Používáte-li USB vstupní zařízení jako je klávesnice a nebo myš, nezapomeňte je rovněž povolit:

Device Drivers --->
  USB Support --->
    <*>   USB Human Interface Device (full HID) support
  [*] HID input layer support

Až dokončíte konfiguraci kernelu, pokračujte kompilací a instalací.

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:

# make && make modules_install

Až se kompilace dokončí, zkopírujte image jádra do adresáře /boot.

# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.11-gentoo-r3

Je také moudré zkopírovat konfiguraci Vašeho kernelu:

# cp .config /boot/config-2.6.11-gentoo-r3

Nyní pokračujte instalací modulů jádra.

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:

# 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.

# 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.

# ls /boot/kernel* /boot/initrd*

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í:

# emerge coldplug
# rc-update add coldplug boot

Pokud chcete, aby systém reagoval na připojování zařízení za chodu, budete chtít nainstalovat a povolit i hotplug:

# emerge hotplug
# rc-update add hotplug default
Konfigurace modulů jádra 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 "<verze jádra>" verzí jádra, které jste zrovna zkompilovali:

# find /lib/modules/"<verze jádra>"/ -type f -iname '*.o' -or -iname '*.ko'

Chcete-li kupříkladu automaticky načíst modul 3c59x, změňte soubor kernel-2.6 a zadejte do něj jméno modulu:

# nano -w /etc/modules.autoload.d/kernel-2.6
3c59x

Nyní spusťte modules-update, aby se změny promítly do souboru /etc/modules.conf:

# modules-update

V instalaci pokračujte konfigurací systému.