How to compile kernel 5.11 on Debian 11

How to compile kernel 5.11 on Debian 11

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 😉

 

Systemback creazione iso superiore a 4 Giga

Systemback creazione iso superiore a 4 GigaSystemback creazione iso superiore a 4 Giga

Quando si usa systemback per la clonazione del proprio sistema in modalità live ed installabile, se la dimensione è inferiore ai 4 giga, il programma da la possibilità di convertirlo in .iso, mentre se è superiore c’è solo la possibilità di scriverlo direttamente su una pen drive. A questo proposito condividerò i comandi per potersi creare una immagine .iso bootable di dimensioni enormi da poter condividere. Tutto questo in attesa di un futuro aggiornamento ed alla risoluzione di alcuni bug. Quindi dopo aver utilizzato systemback abbiamo un file del tipo: systemback_live_2020-06-01.sblive

$ mkdir sblive/
$ sudo tar -xavf /home/systemback_live_2020-06-01.sblive -C sblive/
$ sudo chmod 777 -R sblive/
$ mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
$ mv sblive/syslinux/ sblive/isolinux/

creazione iso:

$ xorriso -as mkisofs -V sblive -J -l -b -isohybrid-mbr sblive/isolinux/ -c isolinux/boot.cat -b isolinux/isolinux.bin -iso-level 3 -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -o sblive.iso sblive

per ultimo utilizzare isohybrid per il boot in uefi:

$ isohybrid -h 256 -s 63 --uefi sblive.iso

Systemback creazione iso superiore a 4 Giga

enjoy 😉

 

Creare una Debian Live personalizzata con live build

 

Creare una Debian Live personalizzata con live build

Creare una Debian Live personalizzata con live build

Dopo la guida precedente su come Creare una Debian Stretch Live Custom persistente Sicura , ecco un altro metodo per costruirsi una propria distribuzione Linux personalizzata basata su Debian. Questa volta useremo live build al posto di debootstrap, siccome le confgurazione sono moltissime, è meglio leggere prima la documentazione su live-config, e live-build.

$ mkdir live; cd live
$ lb config --distribution stretch --binary-images iso-hybrid --architectures amd64 --archive-areas "main contrib non-free" --debian-installer-gui "true" debian-installer "live" --mirror-bootstrap http://ftp.it.debian.org/debian/ --mirror-binary http://ftp.it.debian.org/debian --bootappend-live "boot=live components timezone=Europe/Rome locales=en_GB.UTF-8 keyboard-layouts=it hostname=Debian-Custom username=user noeject autologin"

per installare un desktop environment e tutti i programmi di cui si necessita, bisogna editare il file live.list.chroot, ed incollare dentro il tutto:

$ nano config/package-lists/live.list.chroot
mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd

volendo si può anche cambiare l’immagine di boot, proprio come ho fatto io. Serve un immagine di 640×480 dal nome splash.png, crearsela oppure scaricare la mia. Ipotizzando che il file splash.png si trova nella home:

$ cd config; mkdir bootloaders
$ sudo cp -r /usr/share/live/build/bootloaders/isolinux bootloaders/
$ sudo rm bootloaders/isolinux/splash.svg
$ sudo cp $HOME/splash.png bootloaders/isolinux/splash.png
$ cd ..
$ sudo lb build

a questo punto non resta che provare la nostra Debian Stretch personalizzata, tramite VirtualBox oppure direttamente da chiavetta usb:

$ sudo su
# dd if=live-image-amd64.hybrid.iso of=/dev/sdX bs=4M status=progress

con questa configurazione utente e password sono le solite:

user=user
password=live

Creare una Debian Live personalizzata con live build

enjoy 😉

 

How to compile kernel 4.15.0-rc6 on Debian 9.3

 

How to compile kernel 4.15.0-rc6 on Debian 9.3

How to compile kernel 4.15.0-rc6 on Debian 9.3

Il kernel 4.15 porta con se diverse novità, e ad oggi siamo ancora alla rc6, ma comunque si può provare a compilarlo direttamente da Debian Stretch 9.3. L'unico problema è la mancanza del pacchetto kernel-package che bisogna procurarselo dai repo testing:

# echo 'deb https://ftp.it.debian.org/debian/ testing main' > /etc/apt/sources.list.d/testing.list
# apt update
# apt install git fakeroot build-essential ncurses-dev libssl-dev bc libelf-dev
# apt --no-install-recommends install -t testing kernel-package
# rm /etc/apt/sources.list.d/testing.list
# apt update

How to compile kernel 4.15.0-rc6 on Debian 9.3

Compilazione ed installazione:

$ wget https://git.kernel.org/torvalds/t/linux-4.15-rc6.tar.gz
$ tar xvf linux-4*
$ cd linux-4.15-rc6/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.edm kernel_image kernel_headers -j8
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

How to compile kernel 4.15.0-rc6 on Debian 9.3

enjoy 😉

 

How to compile kernel 4.13.7 on Debian 9.2

 

How to compile kernel 4.13.7 on Debian 9.2

How to compile kernel 4.13.7 on Debian 9.2

Il kernel 4.13 porta con se diverse novità, e ad oggi si può ottenere installandolo da Debian Testing, oppure provare a compilarlo direttamente su Debian Stretch 9.2. L'unico problema è la mancanza del pacchetto kernel-package che bisogna procurarselo dai repo testing:

# echo 'deb https://ftp.it.debian.org/debian/ testing main' > /etc/apt/sources.list.d/testing.list
# apt update
# apt install git fakeroot build-essential ncurses-dev libssl-dev bc
# apt --no-install-recommends install -t testing kernel-package

una volta installato kernel package andare a commentare il repo testing che non ci servirà più!

How to compile kernel 4.13.7 on Debian 9.2

Compilazione ed installazione:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.xz
$ tar xvf linux-4*
$ cd linux-4.13.7/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.edm kernel_image kernel_headers -j8
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

How to compile kernel 4.13.7 on Debian 9.2

enjoy 😉

(Solved) /proc/devices: No entry for device-mapper found

 

(Solved) /proc/devices: No entry for device-mapper found 

(Solved) /proc/devices: No entry for device-mapper found. Dopo aver compilato il kernel 4.8 su Debian Stretch/Sid, l'ho installato anche su Debian Jessie, e mi sono ritrovato lanciando il comando update-grub, con l'errore "No entry for device-mapper found". Per risolvere il problema bisogna ricompilare il kernel ed abilitare il modulo device-mapper. Per verificare se è presente:

# lsmod | grep -i dm-mod
# modinfo dm-mod

riepilogando:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.12.tar.xz
$ tar xvf linux-4.8.12.tar.xz
$ cd linux-4.8.12/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig

poi abilitare il modulo in Device Drivers –> Multiple devices driver support (RAID and LVM) –> Device mapper support

(Solved) /proc/devices: No entrfor device-mapper found (Solved) /proc/devices: No entry for device-mapper found(Solved) /proc/devices: No entry for device-mapper found

salvare, e dopo aver ricompilato, riavviare:

# make -j8;make modules -j8;make modules_install -j8;make install
# reboot

enjoy 😉

 

How to compile kernel 4.8.12 on Debian Stretch/Sid

 

How to compile kernel 4.8.12 on Debian Stretch/Sid

How to compile kernel 4.8.12 on Debian Stretch/Sid. Nella categoria Kernel ci sono diverse guide su come ricompilare un kernel, ma dopo qualche anno che non lo facevo più, ho dovuto rimetterci mano perchè mi serve abilitato il modulo UFS, per la scrittura delle partizioni con Debian Gnu/kFreeBSD e FreeBSD. Al momento della compilazione si è verificato un errore, che successivamente ho capito essere un bug, quindi di seguito anche la soluzione:

Installare l'occorrente per la compilazione:

$ sudo apt-get install git fakeroot build-essential ncurses-dev libssl-dev bc
$ sudo apt-get --no-install-recommends install kernel-package

Scaricare l'ultimo kernel, da kernel.org, al momento il 4.8.12:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.12.tar.xz
$ tar xvf linux-4.8.12.tar.xz
$ cd linux-4.8.12/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.UFS kernel_image kernel_headers -j12
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

Quello sopra è il metodo standard per la compilazione del kernel, ma attualmente per un bug la compilazione fallisce restituendo un errore del tipo:

"make[2]: *** No rule to make target 'debian/certs/benh@debian.org.cert.pem', needed by 'certs/x509_certificate_list'.  Stop"

"No rule to make target 'debian/certs/benh@debian.org.cert.pem')"

A questo punto ho provato a commentare senza successo nel .config le voci:

CONFIG_MODULE_SIG_KEY=""
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""

ma al momento di lanciare il comando make menuconfig, in automatico la stringa CONFIG_SYSTEM_TRUSTED_KEYRING=y, viene attivata. Per risolvere il problema bisogna modificare il file .config abilitando quello di cui si ha bisogno, nel mio caso il modulo UFS, e poi lanciare make localmodconfig

$ make localmodconfig 

invece di:

$ make menuconfig

How to compile kernel 4.8.12 on Debian Stretch/Sid.

enjoy 😉

 

Caja-Dropbox su Debian Wheezy

 

Per chi usa Dropbox ed ha come desktop-enviroment Mate, può usare caja-dropbox:

 

$ sudo apt-get install libcaja-extension-dev
$ wget https://github.com/mate-desktop/caja-dropbox/archive/master.zip
$ unzip master.zip
$ cd caja-dropbox-master/
$ ./autogen.sh
$ make -j4
$ sudo make install
$ killall caja

 

a questo punto si potrà avviare caja-dropbox dal menu, e se non appare riloggarsi.

 

 

Compilare kernel 3.6.x vanilla alla Debian way

 

 

 

Compilare kernel 3.6.x vanilla alla Debian way:

 

# apt-get install -y git-core kernel-package fakeroot build-essential ncurses-dev

# cd /usr/src

# wget -c https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.tar.bz2

# tar jxvf linux-3.6.tar.bz2

# cd linux-3.6

# cp /boot/config-`uname -r` ./.config

# make menuconfig

# make-kpkg clean

# fakeroot make-kpkg --initrd --append-to-version=-vanilla kernel_image kernel_headers

# cd ..

# dpkg -i linux-image-* linux-headers-*

# init 6

 

enjoy 😉

 

Installare Grub-Customizer 3.0.2 su Debian Wheezy/Sid

 

 

 

Grub Customizer serve ad abbellire e modificare il menu di Grub 2. Per installarlo su Debian Wheezy/Sid:

 

 

# apt-get install libssl-dev cmake libgtkmm-2.4-dev

$ wget https://launchpad.net/grub-customizer/3.0/3.0.2/+download/grub-customizer_3.0.2.tar.gz

$ tar xfv grub-customizer_3.0.2.tar.gz

$ cd grub-customizer-3.0.2/

$ cmake

$ make -j3

# make install

 

enjoy 😉