Triky pro začátečníky (13)

Leoš Literák 11. 12. 2000

Celé minulé číslo obsahovalo popis důležitých voleb. Dostali jsme se téměř na konec konfiguračního skriptu. Dnes kompilaci jádra doufám dokončíme.

Nacházíme se v menu Multimedia Devices, které obsahuje submenu Video4Linux a ovladače radio karet. V souborových systémech zvolte Second Extended FS, /proc FS a /dev/pts FS. Pak podle vašich potřeb ISO 9660 plus MS Joliet pro podporu CDROM a MSDOS FS plus VFAT pro přístup k datům z Windows. Pak tu máme ještě síťové protokoly. Jsou jimi NFS pro sdílení dat mezi Unixy, lepší varianta Coda, SMB pro sdílení Windows a NCP pro Novell. Můžete vyzkoušet i Native Language Support, pomocí něhož by mělo být možné automaticky konvertovat znakové sady názvů souborů, ale nějak jsem s touto volbou ještě neuspěl. Nevíte někdo, jak na to?

Na řadě jsou Console drivers. Zde ponechte vybránu volbu VGA Text Console a můžete i zapnout podporu framebufferu. Framebuffer je nesmírně populární mezi autory instalačních programů jednotlivých distribucí. Docela jim zjednodušuje práci, protože jim poskytuje univerzální grafické prostředí na jakékoliv VESA 2 kompatibilní grafické kartě. Na druhou stranu, Xy jsou rychlejší pod obyčejným XServerem. Pokud máte odvahu, zkuste si s tím pohrát. Nejdříve ale pořádně prostudujte dokumentaci. V sekci Sound si můžete vybrat ovladač své zvukové karty. Je jich zde vážně dost. Předposledním menu je USB. Přiznám se, že vzhledem ke stáří svého počítače nemám s USB žádné praktické zkušenosti. Budete si muset s ním poradit sami. A konečně poslední volbou jádra je MagicSysRq. Pomocí něj se aktivují kombinace kláves, které dokáží synchronizovat disky, zabít libovolný proces, odmontovat disk či rebootovat počítač.

V tuto chvíli máme již tu nejtěžší část naší práce za sebou. Zbývá nám již jen vlastní kompilace a instalace nového jádra. Před kompilací ale nesmíme zapomenout na ještě jeden krok: upravit závislosti. Laicky řečeno se při tomto kroku projeví naše volby během konfigurace. Závislosti vyřešíme příkazem make dep. Pak už můžeme spustit překlad jádra příkazem make bzimage. Kdysi se ještě používal parametr zimage, ale dnes je to jen relikt. Existují i jiné přepínače, například bzlilo, ale jejich použití nechám na samostudiu laskavého čtenáře. Po dokončení překladu jádra je ještě nutné přeložit i moduly. To uděláme příkazem make modules. Posledním krokem je make modules_install. Hotovo. Zbývá nám již jen jádro nainstalovat. Protože jsem člověk od přírody líný, snažím se každou periodickou činnost zautomatizovat. Proto používám následující skript kernelkompil:

#!/bin/bash
cd /usr/src/linux

make clean

make dep

echo "make bzImage" > chyba_kompilace

make bzImage 2>>chyba_kompilace || exit 1

echo -e a

echo "make modules" >> chyba_kompilace

make modules 2>> chyba_kompilace || exit 1

echo -e a

echo "make modules_install" >> chyba_kompilace

make modules_install 2>> chyba_kompilace || exit 1

echo "Done." >> chyba_kompilace

echo -e a

Příkazem time kernelkompil potom zkompiluji jádro i moduly a nakonec se i dovím, jak dlouho to trvalo. Veškeré chybové hlášky se přesměrují do souboru /usr/src/linux/chy­ba_kompilace, takže o ně nepřijdu. A pokud se náhodou někde objeví chyba, skript se přeruší. Během každé fáze na mě skript ještě zapíská.

Kompilace jádra je docela výpočetně náročná činnost, jádro 2.4.0-test11 se na počítači s procesorem AMD K6–233 a 128 MB RAM překládalo 18 minut. Pro zajímavost, na stejném počítači s poloviční pamětí se jádro 2.2.3 překládalo sedm a půl minuty.

Poslední fází je instalace jádra. Hotový kernel najdete v adresáři arch/i386/boot a jmenuje se bzImage. Tento soubor zkopírujte do adresáře /boot pod názvem bzImage-2.X.X, kde X.X odpovídá verzi jádra. Například takto: cp bzImage /boot/bzImage-2.4.0-test11. Dále potřebujeme zkopírovat tabulku se symboly jádra. Tu najdeme v hlavním adresáři jádra a jmenuje se System.map. Opět ji stejným způsobem zkopírujeme do adresáře /boot: cp System.map /boot/System.map-2.4.0-test11. Pokud je v adresáři /boot symbolický link jménem System.map, smažte jej a vytvořte nový na právě přidanou tabulku: rm System.map;ln -s System.map-2.4.0-test11 System.map.

Úplně posledním krokem je úprava zaváděče jádra – typicky lilo. Jeho konfigurační soubor najdete pod názvem /etc/lilo.conf. Takže jej otevřete v editoru a musíme jej upravit. Nejdříve si ale přečtěte manuálovou stránku man lilo.conf. Na začátku tohoto souboru najdete globální parametry, ujistěte se, že je mezi nimi timeout a nastavte jej aspoň na pět sekund: timeout=50. Zároveň přidejte i volbu prompt. Díky těmto dvěma parametrům získáte čas při bootu počítače. Takže pokud by jádro nefungovalo, stisknete při startu počítače klávesu Shift a tím zastavíte odpočet (pěti sekund). Pak klidně napíšete název původního jádra (nebo zadáte parametry novému jádru) a bezpečně nabootujete.

Teď musíme do tohoto souboru vložit ještě definici nového jádra. Obvykle bude stačit zkopírovat přes schránku původní definici a pouze přepsat cestu k jádru u kopie a název jádra u originálu. Takže můj soubor /etc/lilo.conf vypadá takto:

map=/boot/map

install=/boot/boot.b

prompt

timeout=40

linear

default=linux



image=/boot/bzImage-2.4.0-test11

        label=linux

        read-only

        root=/dev/hda5



image=/boot/vmlinuz-2.2.16-3.ext3

        label=zaloha

        read-only

        root=/dev/hda5

Pozor, nesnažte se tento text slepě opsat, berte jej jen jako inspiraci. Teď už stačí jen spustit příkaz /sbin/lilo, který v případě úspěchu vypíše něco jako:

Added linux *

Added old

Pokud jste tomuto výkladu neporozuměli, přečtěte si manuálovou stránku příkazu lilo. A pokud jste to pochopili, přečtěte si ji stejně. Lilo se musí spouštět vždy, když provedete nějakou změnu s jádrem či konfiguračním souborem /etc/lilo.conf. Pak už jen přebootujte počítač a vychutnejte si nové jádro. V případě problému stiskněte ten Shift a napište zaloha (název záložního původního jádra).

Ohodnoťte jako ve škole:

Průměrná známka 2,82

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Podnikatel.cz: Vyzkoušejte k propagaci výrobku Microsites

Vyzkoušejte k propagaci výrobku Microsites

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

Root.cz: Cenzura internetu prošla, i přes pochyby senátorů

Cenzura internetu prošla, i přes pochyby senátorů

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid

120na80.cz: Jak správně vytrhnout mléčný zub?

Jak správně vytrhnout mléčný zub?

Podnikatel.cz: Proměny stavebnice Seva. Znáte ji?

Proměny stavebnice Seva. Znáte ji?

120na80.cz: Jak si udržet zdravou vaginu

Jak si udržet zdravou vaginu

Vitalia.cz: Mražené ryby z Makra byly falšované

Mražené ryby z Makra byly falšované

DigiZone.cz: HD kanály ČT 24 a ČT:D budou později

HD kanály ČT 24 a ČT:D budou později

DigiZone.cz: O2TV zve na souboj Ledecké s Myslivcovou

O2TV zve na souboj Ledecké s Myslivcovou

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Podnikatel.cz: Etický kodex firmy nezachrání

Etický kodex firmy nezachrání

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

DigiZone.cz: V RS7 ukončila vysílání Retro Music Television

V RS7 ukončila vysílání Retro Music Television

Podnikatel.cz: Když už je sexy, tak ať taky funguje

Když už je sexy, tak ať taky funguje

Podnikatel.cz: Různé podoby lahve Coca–Coly. Úchvatné

Různé podoby lahve Coca–Coly. Úchvatné

DigiZone.cz: Rádio Retro spouští stream o Karlu IV.

Rádio Retro spouští stream o Karlu IV.

Podnikatel.cz: Konečně vývar. Skoro jako od Steva Jobse

Konečně vývar. Skoro jako od Steva Jobse