How to compile kernel 5.11 on Debian 11
Nei giorni scorsi ho più volte ricompilato il kernel poichè volevo risolvere il problema del lettore “Alcor Micro AU6625”, che su un notebook HP Pavillion 15-dk000nl, non viene riconosciuto, sia su Debian che su tutte le altre distro. Da quello che ho visto e letto, fin dal kernel 5.6, è stato inserito questo driver, ma per quanto mi riguarda non sembra funzionare. Io stesso ho fatto dei cambiamenti, ma senza nessun risultato al momento. Ad ogni modo questa è una altra storia.
Il kernel si può compilare direttamente, come moduli, oppure attraverso la creazione di un pacchetto in formato .deb, installabile.
Prerequisiti:
$ sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev dwarves bc rsync wget
Metodo 1
Scaricare il kernel direttamente dalla pagina ufficiale, oppure con wget:
$ mkdir kernel; cd kernel $ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.18.tar.xz $ tar -xvf linux* $ cd linux-5.11.18/
a questo punto utilizzare, “localmodconfig“, per un kernel minimale/leggero, che provvederà a caricare ed utilizzare solo i driver strettamente necessari per il funzionamento del computer, oppure “menuconfig“, per abilitare nuove funzionalità.
$ make localmodconfig $ make -j $(nproc) $ make -j $(nproc) modules $ sudo make modules_install
il processo prenderà un pò di tempo, tutto dipende dalla potenza dei processori, il mio è un 12 core, quindi ha fatto relativamente presto. Per utilizzare al massimo i processori ho utilizzato “make -j $(nproc)“, che sfrutta tutti i processori esistenti. In fine riavviare.
Metodo 2
$ mkdir kernel; cd kernel $ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.18.tar.xz $ tar -xvf linux* $ cd linux-5.11.18/
per non avere l’errore seguente:
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...
modificare CONFIG_SYSTEM_TRUSTED_KEYS utilizzando sed:
$ sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config
costruzione linux-image e linux-headers:
$ make localmodconfig
$ time nice make -j`nproc` bindeb-pkg
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*
How to compile kernel 5.11 on Debian 11
enjoy 😉