Jadro systému GNU/Linux

Martin Páleník, xpalenik@fi.muni.cz

Obsah

Definícia

Jadro systému linux je

Krátka história opensource operačných systémov

Subject: LINUX is obsolete [6][7]

29.1.1992

monolithic mikro

mikrokernel

monolitický kernel

Verzovací systém jadra a vývojový model[6][8]

Pred rokom 2004 a medzi jadrami 1.0 a 2.6.?

X.Y.Z

Medzi rokmi 2004 a 2011 a medzi jadrami 2.6.0 a 2.6.39-rc7

2.6.A[.B][-rcC]

Po roku 2011 a v jadrách 3.?

3.A[.B][-rcC]

Špecifické verzie jadra

Kompilácia jadra - motivácia

Kompilácia jadra - postup[10][11]

Detekcia hardvéru

Použijeme nástroj lshw. Jedná sa o linuxovú obdobu nástroja Everest/Aida pre Windows. Výpis je veľmi rozsiahly, buď cez lshw|more alebo cez lshw -class disk|memory|network získame konkrétnu skupinu informácií. Celkom osemnásť skupín. Krátku správu získame cez lshw -short a generovať report môžme pomocou lshw -html > hwinfo.html.

Získanie zdrojových kódov a rozbalenie

tar xvf linux.tar.gz

Aplikácia patchov

Buď na inkrementálny presun medzi verziami alebo na rozšírenú funkcionalitu (napr. packet injection v BackTrack).

patch -p1 < patchfile

Nutné vykonať vovnútri adresára so zdrojákmi !

Vývojárske nástroje a knižnice potrebné pre kompiláciu

Konfigurácia jadra

funkcia (ANO/NIE/MODUL)

Preklad

make

Výsledkom prekladu je binárny súbor s jadrom v adresári arch/$ARCH/.

Skopírovanie modulov jadra

Inštalácia kernelu

Vytvorenie súboru initramfs[13]

Inštalácia zavádzača GRUB 2[12]

Štruktúra konfiguračných súborov GRUBu

(vi)tvoríme nový súbor XX_foo s nasledujúcim obsahom (čím nižšie je XX tým vyššie bude položka v boot menu)

 #!/bin/sh -e
echo "Adding my custom Linux to GRUB 2"
cat << EOF
menuentry "My custom Linux" {
set root=(hd0,5)
linux /boot/vmlinuz
initrd /boot/initrd.img
}
EOF 

Debian

Fedora 17

Nastavíme root=UUID v XX_foo [13]

Výsledok

Literatura