W tym krótkim wpisie opiszę etapy kompilacji jądra Linux.
Na początek potrzebujemy źródeł. Można je pobrać ze strony kernel.org (w naszym przykładzie najnowszą wersja to 5.4.12) Następnie rozpakowujemy je poleceniem:
xz -dc linux-5.4.12.tar.xz
i przechodzimy do nowo utworzonego katalogu:
cd linux-5.4.12
Następnie nakładamy dostępne łaty. Twórcy dostarczają dwa rodzaje łat: zwykłe oraz przyrostowe.
Przy łatach zwykłych przed nałożeniem nowej łaty powinniśmy wpierw usunąć starą, w naszym przypadku sprowadza się to do wydania poleceń (założono, że łaty jak i źródła jądra znajdują się w katalogu nadrzędnym):
xz -dc ../patch-5.4.12.xz | patch -p1 -R
xz -dc ../patch-5.4.13.xz | patch -p1
Przy łatach przyrostowych wystarczy wykonać:
xz -dc ../patch-5.4.12-13.xz | patch -p1
Po tych przygotowaniach, uruchamiamy program konfigurujący. Przykładowo oparty o ncurses
:
make menuconfig
bądź qt
:
make xconfig
Warto posiłkować się działającym plikiem .config z jakiejś dystrybucji. Po uruchomieniu konfiguracji możemy zaznaczyć lub odznaczyć interesujące nas opcje.
Budujemy jądro:
make bzImage
i moduły:
make modules
Następnie przechodzimy do instalacji modułów (parametr przed poleceniem sprawi, że zaoszczędzimy nieco miejsca):
INSTALL_MOD_STRIP=1 make modules_install
Pozostaje skopiować jądro w miejsce docelowe:
cp arch/i386/boot/bzImage /boot/vmlinuz-5.4.13
i zmienić konfigurację programu rozruchowego.