Compilare il kernel XEN

Compilare il kernel Xen su DEVUAN

Compilare il kernel xen

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Torna in alto