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
# 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 x86 systémy máme mezi jinými jádra vanilla-sources (výchozí
jádro, tak, jak ho vyvíjejí linux-kernel vývojáři), gentoo-sources
(jádro opatchované pro lepší výkon) a další.
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.
Nyní vyberte správnou rodinu procesorů:
Výpis kódu 3.3: Výběr rodiny procesorů |
Processor type and features --->
(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 a /proc file
system.
Pokud používáte kernel řady 2.4, budete muset povolit i volbu
/dev file system, protože tato řada nepodporuje udev.
Výpis kódu 3.4: Výběr nezbytných souborových systémů |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] automatically mount /dev at boot
[ ] /dev/pts file system for Unix98 PTYs
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> 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ásily omezenou velikost, povolte následující volbu, abyste měli přístup
k celému disku:
Výpis kódu 3.5: Povolení "autogeometry resizing" |
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
|
Nezapomeňte povolit DMA pro disky:
Výpis kódu 3.6: 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.7: Výběr ovladačů pro PPPoE |
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
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 procesor Intel, který podporuje HyperThreading (tm), a nebo
víceprocesorový systém, měli byste povolit "Symmetric multi-processing support":
Výpis kódu 3.8: 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.9: Aktivace podpory USB pro vstupní zařízení |
Device Drivers --->
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.
Kromě přikompilování podpory PCMCIA v jádře řady 2.6 nezapomeňte přidat
rovněž podporu pro PCMCIA card bridge svého systému:
Výpis kódu 3.10: Povolení podpory PCMCIA pro jádra řady 2.6 |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
<*> CardBus yenta-compatible bridge support (NEW)
<*> Cirrus PD6729 compatible bridge support (NEW)
<*> i82092 compatible bridge support (NEW)
<*> i82365 compatible bridge support (NEW)
<*> Databook TCIC host bridge support (NEW)
|
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:
Výpis kódu 3.11: Kompilace jádra |
# make dep && make bzImage modules modules_install
# 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.12: Instalace jádra |
# cp arch/i386/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
|
Chystáte-li se použít jádro řady 2.6, zkopírujte výchozí konfiguraci jádra z
instalačního CD do umístění, kde ji genkernel očekává:
Výpis kódu 4.2: Kopírování konfigurace jádra z instalačního CD |
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
|
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.3: 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.4: 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.5: Instalace a povolení coldplugu |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Jaderné moduly
Konfigurace modulů
Poznámka:
Pokud jste se rozhodli použít jádro řady 2.4, místo řetězce 2.6 použijte
2.4.
|
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ů ]
[ > ]
[ >> ]
Obsah tohoto dokumentu je licencován pod licencí Creative Commons -
Attribution / Share Alike.
|