Gentoo Logo

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


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


7. Konfigurace kernelu

Obsah:

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

7.b. 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. 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 2.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-2.6.17-r5 (verze, kterou používáte vy, může být jiná).

Výpis kódu 2.2: 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-2.6.17-r5

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.

7.c. 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 3.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 3.2: 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.

Měli byste také zvolit přesný model procesoru, který máte. Vývojáři x86_64 jader navíc doporučují povolit MCE, abyste mohli být informováni o případných problémech svého hardwaru. Na x86_64 však tyto zprávy nejsou zasílány do dmesg jako na jiných architekturách, ale do /dev/mcelog. Pokud chcete tyto zprávy sledovat, nainstalujte si balíček app-admin/mcelog.

Výpis kódu 3.3: Volba typu procesoru

Processor type and features  --->
   [ ] Intel MCE Features
   [ ] AMD MCE Features
  Processor family (AMD-Opteron/Athlon64)  --->
    ( ) AMD-Opteron/Athlon64
    ( ) Intel EM64T
    ( ) Generic-x86-64

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.

Výpis kódu 3.4: Výběr nezbytných souborových systémů

File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] 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

Nezapomeňte povolit DMA pro disky:

Výpis kódu 3.5: 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:

Výpis kódu 3.6: Výběr ovladačů pro PPPoE

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 (případně vícejádrový procesor, například AMD64 X2), měli byste povolit "Symmetric multi-processing support":

Výpis kódu 3.7: 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 3.8: 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:

Výpis kódu 3.9: Kompilace jádra

# make && make modules_install

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-2.6.17-gentoo-r5 zvoleným jménem:

Výpis kódu 3.10: Instalace jádra

# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.17-gentoo-r5

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

7.d. 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 4.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 4.2: 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 4.3: 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 4.4: Instalace a povolení coldplugu

# emerge coldplug
# rc-update add coldplug boot

7.e. 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 2.6.17-r5 verzí jádra, které jste zrovna zkompilovali:

Výpis kódu 5.1: Zobrazení všech dostupných modulů

# find /lib/modules/2.6.17-r5/ -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 5.2: Editace /etc/modules.autoload.d/kernel-2.6

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

Výpis kódu 5.3: /etc/modules.autoload.d/kernel-2.6

3c59x

V instalaci pokračujte konfigurací systému.


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


Tisk

Zobrazit všechny

Aktualizace: 30. srpen 2006

Poslední aktualizace původni verze tohoto dokumentu: 1. červen 2014

Shrnutí: Linuxový kernel čili jádro je srdcem každé distribuce. Zde popíšeme, jak se konfiguruje.

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.