1.30 2005-01-18
Časové pásmo

Nejprve musíte nastavit své časové pásmo, aby systém věděl, kde je umístěn. Najděte své pásmo v /usr/share/zoneinfo a vytvořte na něj pomocí ln 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 x86 systémy máme mezi jinými jádra vanilla-sources (výchozí 2.4 jádro, tak, jak ho vyvíjejí linux-kernel vývojáři), gentoo-sources (jádro řady 2.4 opatchované pro lepší výkon), gentoo-dev-sources (2.6 opět s patchy pro zlepšení výkonu), development-sources (2.6 přímo z kernel.org),...

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. Dále budeme předpokládat, že jste nainstalovali gentoo-sources-2.4.26-r9:

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

Pokud symbolický odkaz neukazuje na správný adresář (linux-2.4.26-gentoo-r9 je samozřejmě jenom příklad, nic jiného), 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 jako používá LiveCD. 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 na 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 postavené 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

Ujistěte se, že kompilujete jádro pro správný procesor:

Processor type and features --->
  (Změňte podle svého systému)
  (Athlon/Duron/K7) Processor family

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, /proc file system, /dev file system a Automatically mount at boot:

(Pro jádro řady 2.4.x)
File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [*] /dev file system support (EXPERIMENTAL)
  [*]   Automatically mount at boot
  [ ] /dev/pts file system for Unix98 PTYs

(Pro jádro řady 2.6.x)
File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] /dev file system support (OBSOLETE)
    [*]   Automatically mount at boot
    [*] 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

Neumí-li Váš BIOS zacházet s velkými disky a vy jste je nastavili tak, aby hlásili omezenou velikost, povolte následující volbu, abyste měli přístup k celému disku:

(Pouze pro jádra řady 2.4.x)
ATA/IDE/MFM/RLL support --->
  IDE, ATA and ATAPI Block devices --->
    <*>   Include IDE/ATA-2 DISK support
    [ ]     Use multi-mode by default
    [*]     Auto-Geometry Resizing 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:

(Pro jádro 2.4.x)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports

(Pro jádro 2.6.x)
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 jaderném režimu.

Potřebujete-li, nezapomeňte povolit podporu své síťové karty.

Máte-li procesor Intel, který podporuje HyperThreading (tm), a nebo víceprocesorový systém, měli 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:

USB Support --->
  <*>   USB Human Interface Device (full HID) support

Uživatelé notebooků, kteří chtějí podporu PCMCIA, by ji neměli povolit v jádře 2.4, protože novější ovladače jsou k dispozici pomocí balíčku pcmcia-cs, který mohou nainstalovat později. Naproti tomu uživatelé jader řady 2.6 by měli podporu PCMCIA povolit přímo v jádře.

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:

(Pro jádra řady 2.4)
# make dep && make bzImage modules modules_install

(Pro jádra řady 2.6)
# make && make modules_install

Až se kompilace dokončí, zkopírujte image jádra do adresáře /boot. Dále budeme předpokládat, že Váš kernel je verze 2.4.26 a že jste si vybrali balíček gentoo-sources. 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.

# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r9
# cp System.map /boot/System.map-2.4.26-gentoo-r9

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

# cp .config /boot/config-2.4.26-gentoo-r9

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

Alternativní: Použití genkernelu

Čtete-li tuto sekci, vybrali jste si genkernel, který za 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 LiveCD, 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.

# genkernel all

Jakmile genkernel skončí, je vytvořeno jádro, všechny moduly a initial root disk, initrd (slouží k detekci Vašeho hardwaru ještě před tím, než vstoupí do hry "opravdový" systém). Jména jádra a initrd budeme 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ý LiveCD - 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
Instalace dalších modulů jádra Instalace dalších modulů

Pokud potřebujete, měli byste nainstalovat ovladače pro další hardware přítomný na Vašem systému. Zde je seznam ebuildů, které by Vás mohli zajímat:

nvidia-kernelAkcelerované ovladače grafiky NVIDIA pro xorg-x11emerge nvidia-kernelnforce-audioIntegrovaná zvuková karta na motherboardech NVIDIA NForce(2)emerge nforce-audioe100Síťový adaptér Intel e100 Fast Ethernetemerge e100e1000Síťový adaptér Intel e1000 Gigabit Ethernetemerge e1000emu10k1Podpora Creative Sound Blaster Live!/Audigy (pouze pro jádra řady 2.6)emerge emu10k1ati-driversAkcelerované ovladače grafiky ATI Radeon 8500+/FireGL pro xorg-x11emerge ati-drivers
Ebuild Účel Příkaz

Avšak pozor, některé z těchto ebuildů přicházejí s velkým množstvím závislostí. Abyste ověřili, které balíčky budou instalovány, použijte emerge --pretend. Například pro ověření závislostí balíčku emu10k1:

# emerge --pretend emu10k1

Pokud se Vám objem instalovaných balíčků nelíbí, použijte emerge --pretend --verbose k zobrazení, které USE proměnné jsou použity:

# emerge --pretend --verbose emu10k1
...
[ebuild  N    ] media-sound/aumix-2.8  +gpm +nls +gtk +gnome +alsa -gtk2

V předchozím příkladě vidíte, že jedna ze závislostí balíčku emu10k1 (aumix) používá USE proměnné gtk a gnome, a tudíž chce instalovat GTK, která závisí na xorg-x11.

Pokud nechcete kompilovat tyto závislosti, zakažte všechny USE proměnné, například:

# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1

Jste-li s výsledkem spokojeni, odstraňte parametr --pretend, aby instalace mohl začít.

Konfigurace modulů

Moduly, které chcete automaticky načíst při startu, byste měli vypsat v souboru /etc/modules.autoload.d/kernel-2.4 (nebo 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'

Kupříkladu chcete-li automaticky načíst modul 3c59x, změňte kernel-2.4 či kernel-2.6 a zadejte do něj jméno modulu.

(Příklad pro jádra řady 2.4)
# nano -w /etc/modules.autoload.d/kernel-2.4
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.