Cambiare nome interfaccia di rete a eth0 su Debian 12

Cambiare nome interfaccia di rete a eth0 su Debian 12

 

Cambiare nome interfaccia di rete a eth0 su Debian 12

Guida su come cambiare il nome alle interfaccia di rete a eth0/wlan0, su Debian 11/12 e SysLinuxOS in modo permanente, utilizzando systemd-networkd. Attualmente vengono riconosciute con molteplici nomi, anche abbastanza lunghi e difficili da ricordare. Questi sono assegnati alle interfacce di rete direttamente dal kernel. Ma tutti questi nomi hanno in comune le due iniziali, “en” ” wl”, infatti se si digita il comando:

sudo dmesg | grep -i eth
sudo dmesg | grep -i wl

si può leggere che le interfacce vengono rinominate partendo da eth0 e wlan0. Personalmente conosco due modi funzionanti per ritornare al vecchio standard.

Metodo 1

questo modo dovrebbe funzionare nella maggior parte dei casi e si limita a fare una piccola aggiunta a grub:

sudo nano /etc/default/grub

ed aggiungere

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

come sotto:

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

generare un nuovo file di configurazione di grub, e riavviare.

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

se tutto è andato bene le interfacce saranno eth0 e wlan0. Se si usa il dhcp non c’è bisogno di modificare nulla, in caso di ip statico, si utilizza il solito metodo:

sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
dns-nameservers 192.168.1.1
gateway 192.168.1.1
Metodo 2

questo metodo da utilizzare in alternativa al primo, consiste nell’andare a trovare i nomi ed i percorsi delle attuali schede di rete, per poi manualmente creare due file che conterranno i nuovi nomi.

sudo udevadm info /sys/class/net/nome_interfaccia

il comando sopra ci trova i dati che ci interessano:

E: ID_PATH=pci-0000:03:00.0
E: ID_PATH_TAG=pci-0000_03_00_0

di conseguenza potremo creare il file manualmente:

sudo nano /etc/systemd/network/10-rename-nome_interfaccia

ed aggiungere come esempio sotto

per eth0:

[Match]
Path=pci-0000:03:00.0
pci-0000_03_00_0
[Link]
Name=eth0

o questo per wlan0

[Match]
Path=pci-0000:05:00.0
pci-0000_05_00_0
[Link]
Name=wlan0

dopo il riavvio il nome delle interfacce di rete saranno viste permanentemente con il vecchio standard. In realtà ci sarebbe anche un altro metodo, più semplice 🙂 e cioè uno script bash che fa tutto da solo:

Metodo semplice

sempre in alternativa al primo

git clone https://github.com/fconidi/rename-interfaces.git
cd rename-interfaces/
chmod +x rename-interfaces.sh
sudo ./rename-interfaces.sh
sudo reboot

Cambiare nome interfaccia di rete a eth0 su Debian 12

enjoy 😉

 

Fix error Possible missing firmware /lib/firmware/i915

 

Fix error Possible missing firmware /lib/firmware/i915Fix error Possible missing firmware /lib/firmware/i915

 

Questi tipo di errori sono presente oramai da qualche anno e si presentano quando si lancia il comando:

sudo update-initramfs -u

questi errori segnalano che ci sono dei firmware mancanti e si riferiscono alle microarchitetture intel come:

Sky Lake, Broxton, Kaby Lake, Commet Lake, Ice Lake, Elkhart Lake, Tiger Lake, Gemini Lake, Alder Lake,Arc Alchemist.

Per risolvere il problema su Debian, SysLinuxOS ed altre distro, basta scaricare da GitHub il mio script bash, che si occuperà di scaricare tutti i firmware .bin, compararli con quelli già presenti, per poi copiare solamenti quelli mancanti in /lib/firmware/i915.

Per utilizzare fixi915.sh eseguire i seguenti comandi:

$ git clone https://github.com/fconidi/fix-firmware-i915.git
$ cd fix-firmware-i915/
$ chmod +x fixi915.sh
$ ./fixi915.sh

questo è tutto!

 

Di seguito lo script completo:

 

#!/bin/bash

# Source: https://francoconidi.it/fix-error-possible-missing/
# Source: https://syslinuxos.com

# Install curl, wget, lynx

sudo apt update; sudo apt install -y wget curl lynx

# folder creation
mkdir /home/$USER/i915; cd /home/$USER/i915

# Download the web page and use lynx to extract the HTTP/HTTPS links

lynx -dump "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/" | grep -o 'https\?://[^ ]*\.bin' > /home/$USER/i915/links.txt

# Download the .bin files from the list of links
while read -r line
do
# Extract the filename from the link
filename=$(basename "$line")

# Download the file from the link using curl
curl -OJL "$line"

# Rename the downloaded file to its original name
mv "$filename" "${filename%.*}.bin"
done < "links.txt"

# Two folders to compare
folder1="/home/$USER/i915"
folder2="/lib/firmware/i915/"

# Check folders
if [ ! -d "$folder1" ]; then
echo "Error: First folder does not exist."
exit 1
fi

if [ ! -d "$folder2" ]; then
echo "Error: Second folder does not exist."
exit 1
fi

# Cycle through the files in the first folder
for file1 in "$folder1"/*.bin; do
# Extract the filename without the path
filename="$(basename "$file1")"
# Check if the file exists in the second folder
if [ ! -f "$folder2/$filename" ]; then
# Copy the missing file into the second folder
sudo cp "$file1" "$folder2"
echo "The file $filename has been copied to the second folder."
fi
done

echo "The check has been completed."

# Update initramfs
sudo update-initramfs -u

echo "Fix missing firmware has been completed."

 

Fix error Possible missing firmware /lib/firmware/i915

 

enjoy 😉

 

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 😉

 

Debian 10 freeze random

 

Debian 10 freeze random

Debian 10 freeze random

Su Debian 10 si verificano dei freeze randomici, dove praticamente l’unica cosa che funziona è il mouse, e questo mi è capitato sia con scheda grafica Nvidia, sia con la solo Intel, di conseguenza ho escluso che fosse un problema grafico. La mia attenzione successivamente è andata al kernel installato, e mi sono ricordato che con il kernel di default Debian, il 4.19, non avevo questi problemi. Aggiornando alla versione 5.8 e 5.9, si presenta randomicamente questo freeze. Praticamente puoi accedere solo in tty ed eseguire il reboot. Ho anche eseguito l’accesso via ssh, ma nei log non ho notato nulla di strano. Verificando la versione dei firmware ho notato che sono tutti alla versione 2019, compresi i firmware-nonfree. Quindi, con kernel aggiornato, servono per forza gli ultimi driver. Si risolve con i repository buster-backports:

$ sudo su
# echo 'deb http://deb.debian.org/debian/ buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list.list
# apt update
# apt install -t buster-backports firmware-linux-nonfree firmware-misc-nonfree amd64-microcode firmware-intel-sound firmware-iwlwifi
Debian 10 freeze random

 

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 😉

 

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 😉

 

Kernel 3.2.0 backports su Debian Squeeze

 

Installando Debian Squeeze su uno dei miei Acer Aspire One  (AO110), mi sono accorto che nei repo backports, è arrivato il kernel 3.2.0.

 

# apt-get install -t squeeze-backports linux-image-3.2.0-0.bpo.1-686-pae linux-headers-3.2.0-0.bpo.1-686-pae

 

enjoy 😉