Compilare il kernel Xen su DEVUAN
In questa nuova puntata dedicata a XEN vedremo come compilare il kernel Xen su DEVUAN, partendo dai sorgenti e adattandolo al nostro sistema. Questo procedimento è necessario per ottenere un kernel performante e avere il pieno controllo sull’ambiente di virtualizzazione Xen.
Prima di iniziare assicuriamoci di disporre di una macchina con almeno:
- CPU moderna e performante (consigliati almeno 8 core)
- Almeno 8 GB di RAM (consigliati 16+)
- 64 GB di spazio libero sul disco (dedicati alla compilazione)
È possibile lavorare sulla stessa macchina destinata a Xen, ma consiglio di evitare: è preferibile utilizzare una macchina separata dedicata alla compilazione, se proprio non se ne dispone di una diversa, aggiungere una partizione di almeno 64GB dedicata.
Installare i pacchetti necessari a compilare il kernel XEN
Aggiorniamo il sistema e installiamo tutti i pacchetti necessari per compilare il kernel Xen:
apt update
apt install -y time build-essential git fakeroot
apt install -y libncurses-dev flex bison linux-source-6.12
apt install -y debhelper vim libxen-dev
Preparare i sorgenti del kernel
Spostiamoci nella cartella dei sorgenti:
cd /usr/src
Estraiamo il sorgente del kernel:
tar xvf linux-source-6.12.tar.xz
Entriamo nella cartella del kernel:
cd linux-source-6.12/
Importare la configurazione attuale del kernel
Copiamo la configurazione corrente del kernel per modificare solo ciò che serve. Questa operazione ci garantisce che le opzioni che andiamo ad importare sono quelle del kernel standard, senza possibili manomissioni:
cp /boot/config-$(uname -r) .config
Modificare automaticamente la configurazione
Rimuoviamo o modifichiamo alcune voci:
sed -i 's/(Debian/(Devuan/g' .config
sed -i '/^CONFIG_CC_VERSION_TEXT=/d' .config
sed -i '/^CONFIG_PAHOLE_VERSION=/d' .config
sed -i '/^CONFIG_LOCALVERSION=/d' .config
sed -i '/# CONFIG_SCHED_CLASS_EXT is not set/d' .config
Aggiungiamo le opzioni necessarie al futuro kernel per Xen:
echo 'CONFIG_PAHOLE_VERSION=0' >> .config
echo 'CONFIG_LOCALVERSION="-xen-devuan-kirk"' >> .config
echo 'CONFIG_BUILD_SALT=""' >> .config
echo 'CONFIG_AMD_MEM_ENCRYPT=y' >> .config
echo '# CONFIG_IRQ_TIME_ACCOUNTING is not set' >> .config
echo '# CONFIG_MODULE_SIG_ALL is not set' >> .config
echo 'CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"' >> .config
echo 'CONFIG_SYSTEM_TRUSTED_KEYS=""' >> .config
Eliminare eventuali duplicati nella configurazione
tac .config | awk '!seen[$0]++' | tac > .config.new && mv .config.new .config
Rigeneriamo il file di configurazione:
make oldconfig
Compilare il kernel Xen
E ora compiliamo e generiamo i pacchetti .deb da installare (hai mai testato le performance del tuo processore? con questo comando vedrai il tuo processore lavorare alla massima potenza, in una sinfonia di core):
MAKEFLAGS="-j$(nproc)" time make bindeb-pkg
Ed anche per oggi é tutto, gente ….. ci leggiamo alla prossima puntata.

