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

Našli jste v článku chybu?
Měšec.cz: Do ostravské MHD bez jízdenky. Stačí karta

Do ostravské MHD bez jízdenky. Stačí karta

Vitalia.cz: Za její cukrovkou stojí rodiče

Za její cukrovkou stojí rodiče

Vitalia.cz: „Sjíždět“ porno není bez rizika

„Sjíždět“ porno není bez rizika

Vitalia.cz: Očkování je nutné, říká homeopatka

Očkování je nutné, říká homeopatka

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

Měšec.cz: Co když na dovolené přijdete o kartu?

Co když na dovolené přijdete o kartu?

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Lupa.cz: Kdo vykrádá LinkedIn? Zjistit to má soud

Kdo vykrádá LinkedIn? Zjistit to má soud

Root.cz: Xiaomi má vlastní notebook podobný Macu

Xiaomi má vlastní notebook podobný Macu

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

DigiZone.cz: AXN u FreeSatu měsíc zdarma

AXN u FreeSatu měsíc zdarma

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

Měšec.cz: Na návštěvě na exekutorském úřadě

Na návštěvě na exekutorském úřadě

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Vitalia.cz: Musí moudrák opravdu ven?

Musí moudrák opravdu ven?

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Vitalia.cz: Ženy, které milují příliš, jsou neštěstí

Ženy, které milují příliš, jsou neštěstí

Lupa.cz: Co vzal čas: internetové kavárny a herny

Co vzal čas: internetové kavárny a herny

120na80.cz: Kam umístit silikony?

Kam umístit silikony?