kernel – kompilace jádra do deb balíčku

Instalace kompilační podpory

sudo apt-get install build-essential bin86 gcc gcc-3.4 libncurses5 libncurses5-dev fakeroot
sudo apt-get install flex bison zstd
sudo apt-get install libssl-dev
sudo apt-get install libelf-dev

Vytvoření pracovního kernel adresáře a přepnutí se do něj

mkdir ~/kernel
cd ~/kernel

Stažení a rozbalení zdrojových souborů

Ze stránky https://cdn.kernel.org/ stáhnout archiv „tarball“ a rozbalit

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.57.tar.xz 
unxz linux-5.15.57.tar.xz
tar xf linux-5.15.57.tar

Přepnutí se do rozbaleného adresáře

cd linux-5.15.57

Pojmenování kompilovaného jádra

V souboru ./Makefile do parametru EXTRAVERSION zadat pojmenování

...
EXTRAVERSION = -mykernel
...

Založení konfigurace pro kompilaci jádra pouze pro aktuání HW

Použít pro konzervativní řešení, třeba virtualizovaného serveru. Dosažená minimální velikost jádra za cenu, že případný nový připojený HW nemusí být rozpoznán.

lsmod > mylsmod

make LSMOD=./mylsmod localmodconfig

Možnost ruční úpravy konfigurace

Zakázání například:  CONFIG_DEBUG_INFO=n , CONFIG_MACINTOSH_DRIVERS=n

buď editací konfiguračního souboru

vi ./.config

nebo pomocí editačního nástroje
make menuconfig

Kompilace jádra

LANG=C nice make bindeb-pkg && echo ok || echo ERR

  Při chybě: *** No rule to make target 'debian/canonical-revoked-certs.pem' zakomentovat v ./.config parametr   #CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"

Při chybě: Failed to generate BTF for vmlinux Try to disable CONFIG_DEBUG_INFO_BTF deaktivovat v ./.config parametr CONFIG_DEBUG_INFO_BTF = n

Instalace

sudo apt-get install ../linux-*5.15.57-mykernel*.deb

Lokace nainstalovaného jádra

v adresářích:

/boot/
/usr/lib/modprobe.d/
/usr/lib/modules/
/var/lib/dpkg/info/

Vyhledání lokací přes všechny disky lze příkazem:
find / -name '*5.15.57-mykernel*'