Kompilacja jądro 5.7.9 dla Debian Buster

Kompilacja i instalacja jądra 5.7.9 w trybie zbliżonym do Debiana.

  1. Zainstaluj zależności:
$ sudo apt-get install curl gnupg2 fakeroot libncurses-dev
$ sudo apt-get build-dep linux

. Pobierz czcionki i podpis:

$ su -
$ cd /usr/src
# curl -OL https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.9.tar.xz
# curl -OL https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.9.tar.sign

3. Zaimportuj klucze i sprawdź poprawność plików:

# gpg2 --locate-keys torvalds@kernel.org gregkh@kernel.org
# unxz -v ./linux-5.7.9.tar.xz
# gpg2 --verify ./linux-5.7.9.tar.sign

4. Rozpakuj plik i utwórz dowiązanie symboliczne:

# tar xvf ./linux-5.7.9.tar
# ln -s `pwd`/linux-5.7.9 ./linux
# cd linux

5. Skopiuj aktualną konfigurację jądra:

# cp -v /boot/config-$(uname -r) /usr/src/linux/.config

5.1 Przy każdej aktualizacji lub powrocie do starszej wersji jądra należy użyć make oldconfig, który może automatycznie przejąć zalecane nowe funkcje.

# yes "" | make oldconfig

5.2 Jeśli chcesz dostosować coś ręcznie, użyj poniższego polecenia, w przeciwnym razie możesz się bez niego obejść.

$ make menuconfig

6. Ponieważ używamy konfiguracji jądra o różnych numerach, musimy ustawić zmienną CONFIG_SYSTEM_TRUSTED_KEYS na pustą w naszym pliku .config:

# sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config

W przeciwnym razie konstrukcja może się nie powieść:

make[4]: *** No rule to make target 'debian/certs/test-signing-certs.pem', needed by 'certs/x509_certificate_list'. Stop. 
make[4]:  *** Waiting for unfinished jobs....

7. Kompiluj (może to zająć trochę czasu).

$ make -j$(nproc) deb-pkg

Jeśli nie wystąpią żadne błędy z powodu braku zależności, twoje nowe jądro zostanie wygenerowane poza folderem ./linux, już spakowane, gotowe do zainstalowania za pomocą dpkg:

$ dpkg -i ./linux-headers-5.7.9*.deb
$ dpkg -i ./linux-image-5.7.9*.deb

Teraz po prostu uruchom ponownie komputer.