Co dělá jádro -- zprostředkovává spojení mezi softwarem (volání knihoven apod.) a hardwarem počítače. Obdoba různých ovladačů zařízení z MS-Win.
Proč upgradovat jádro? -- nová zařízení, lepší správa procesů, vyšší
výkon... Podporovaná zařízení viz Hardware-HOWTO
.
Zdrojové texty jádra jsou na ftp.kernel.org v adresáři
/pub/linux/kernel/vx.y/
, kde x.y
je verze jádra. Pokud verze
končí lichým číslem, jdená se o testovací, vývojovou verzi (může být
nestabilní). Verze se sudým číslem jsou považovány za stabilní.
Soubor se zdrojovými texty se obvykle jmenuje linux-x.y.z.tar.gz
, kde
x.y.z je číslo verze.
Pro download lze použít mirrory ftp.xx.kernel.org
, kde xx
je
kód dané země (cz
, us
, uk
apod.).
Zrojové texty rozbalíme tímto způsobem:
su; cd /usr/src
uname -r
)
tar xfzvp linux-x.y.z.tar.gz
)
Na konfiguraci jádra máme několik možností:
make config
-- spustí se bash-skript, který nám položí množství
dotazů. Podle toho nakofiguruje jádro. Nejméně pohodlná forma.
make menuconfig
-- celoobrazovkové prostředí pro konfiguraci.
Asi nejvíce používáno.
make xconfig
-- obdoba v okénkovém prostředí Xwindows.
Většina voleb má 2 možnosti y/n
. Zařízení mají obvykle
ještě volby m
(zavést jako modul). Nová jádra mají též možnost
?
, která vypíše krátkou nápovědu o tom, co daná záležitost znamená.
Při konfiguraci nastavujeme zejména:
y
, neboť Linux s
koprocesorem počítá.y
.i386
, poběží na všem.ext2fs
-- nativní FS pro Linux
proc
-- virtuální FS poskytující rozhraní pro komunikaci s
jádrem a procesy. Většinou nutné, spousta aplikací na něm závisí.
msdos
NFS
-- pokud budeme chtít sdílet soubory po síti
ISO-9660
-- CDčka.
y
.y
, jádro bude nejspíš větší, nebo pomalejší (nebo
oboje). Používá se pro testování, u jádra pro rozumný provoz obvykle
vypnuto.Po tomto kroku se ještě podíváme do Makefile
, kde můžeme nastavit
například nové číslo verze jádra apod.
Pomocí make dep
zkontrolujeme závislosti.
make clean
odstraní některé nepotřebné soubory (vhodné po použití
nějakého patche).
Zkompilujeme pomocí make bzImage
, které vytvoří komprimované jádro
do souboru arch/i386/boot/bzImage
. Starší jádra nevyžadovala kompresi
(byla menší), vytvářela se jako make zImage
.
make mrproper
je kvalistnější clean
ing. Mimo jiné smaže i
soubor s konfigurací jádra, takže musíme rekofigurovat pomocí make ...config
.
Moduly jsou části jádra (ovladače), které se do paměti zavádějí až na požádání (když jsou potřeba). Po delší době nepoužití se z paměti opět odstraní. Šetří se tak paměť. Na druhou stranu u věcí, které jsou potřeba stále, je nesmysl použít modul a je třeba je zakompilovat rovnou do jádra (jsou pak rychlejší).
Utility pro práci s moduly lze stáhnout ze stejného místa jako jádro jako
modutils-x.y.z.tar.gz
. x.y.z
volíme menší/rovno
x.y.z
našeho jádra. Rozbalíme pomocí ar zxvf
modutils-x.y.z.tar.gz
, přeložíme, make install
.
S moduly pak pracujeme pomocí programů: insmod, rmmod, ksyms, lsmod,
genksyms, modprobe, depmod
v adresáři /sbin
.
Moduly jsou distribuovány přímo s jádrem. Pokud chceme něco použít jako
modul, v jádře nesmíme mít nastaveno y
, ale m
. Moduly
přeložíme pomocí make modules
. Přeložené moduly najdeme v
/usr/src/linux/modules
.
Moduly můžeme zavádět přímo z tohoto adresáře, nebo je mainstalovat do
/lib/modules/x.y.z
pomocí make modules_install
.
Přejmenuje původní jádro (např. na /vmlinuz-old
)
Nové jádro nakopírujeme do vhodného souboru (např. /vmlinuz
).
V /etc/lilo.conf
nakonfigurujeme Lilo pro nové jádro.
image = /vmlinuz label = nove root = /dev/hda1 ... image = /vmlinuz-old label = stare root = /dev/hda1 ...
Znovu spustíme lilo, aby se nová konfigurace zapsala na potřebné místo (do boot sektoru disku).
Kernel-HOWTO, Modules na http://www.linux.cz/linuxdoc/HOWTO/HOWTO-INDEX/os.html.