Compilare un kernel: come farlo su una distribuzione basata su Debian?

Compilare un kernel: come farlo su una distribuzione basata su Debian?

Compilare un kernel: come farlo su una distribuzione basata su Debian?

Nel nostro voce precedente, chiama "Il kernel Linux: le basi del kernel" ne affrontiamo alcuni basi teoriche essenziali su Kernel del sistema operativo, Generalmente; e il Kernel Linux, specifico.

E come abbiamo espresso in esso, in questo, completeremo detto basi teoriche essenziali con altri concetti e informazioni importanti, oltre a mostrare l'attuale procedura da realizzare "compila un kernel Linux" da zero, su a Distribuzione Debian GNU/Linux 11 (Bullseye). o basato su di esso.

Il kernel Linux: nozioni di base sul kernel

Il kernel Linux: nozioni di base sul kernel

E, prima di iniziare a leggere questo post su "compilare un kernel" Linux In generale, lasceremo alcuni collegamenti a post correlati precedenti per la lettura successiva:

The Linux Kernel: tutto sul kernel del sistema operativo libero
Articolo correlato:
Il kernel Linux: nozioni di base sul kernel

vulnerabilità
Articolo correlato:
Finora questo mese, sono già state rivelate diverse vulnerabilità riscontrate nel kernel Linux

Costruisci un kernel: crea tutorial

Costruisci un kernel: crea tutorial

Cosa significa compilare un programma?

Fondamentalmente questo processo tecnico (chiamato anche imballaggio) consiste nel realizzare convertire il codice sorgente di un programma o porzione di software, dalla sua origine (linguaggio di programmazione utilizzato per scriverlo) a a prodotto leggibile (linguaggio di programmazione di alto livello interpretabile) da un computer.

Cioè, raggiungi il tuo trasformare dal tuo codice sorgente fino a diventare un programma eseguibile e funzionale, utilizzando a processore (software del compilatore) per la conversione del linguaggio di programmazione utilizzato verso un codice di tipo binario e assembler.

E quando si tratta di sviluppare e compilare nessun tipo di pacchetto, applicazione e programma, basico e nativo, come il Noccioli su Debian GNU / Linux, i seguenti imballi sono idonei e necessari per ottenere un bene base di supporto allo sviluppoe questi sono:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Ottimizza il tuo GNU/Linux: pacchetti Debian per sviluppare app
Articolo correlato:
Ottimizza il tuo GNU/Linux: pacchetti Debian per sviluppare app

Vantaggi e svantaggi della compilazione di un kernel Linux da zero

Quando personalizziamo e configuriamo da zero un Kernel specifico per un determinato computer, possiamo ottenere i seguenti vantaggi:

  • Ottieni prestazioni migliori e un consumo di CPU inferiore.
  • Ottieni una migliore ottimizzazione e un minor consumo di memoria RAM.
  • Migliorare l'adattabilità e la compatibilità del sistema operativo.
  • Aumentare l'efficienza e la produttività del sistema operativo.

Mentre, al contrario, potremmo generare i seguenti Svantaggi:

  • Errori operativi e di disponibilità delle risorse e dei servizi desiderati sul computer utilizzato, a causa di cattive configurazioni e problemi causati durante la compilazione.
  • Un lavoro costante, lungo e noioso all'inizio per generarlo, e poi in un secondo momento, per mantenerlo aggiornato manualmente. Che possono durare da minuti a ore, a seconda dell'hardware utilizzato.
  • Lunghe ore di studio e prove, poiché è necessaria un'elevata conoscenza sia delle opzioni di configurazione disponibili nel Kernel che del computer (hardware finale), dove verrà eseguito.

Categorie di kernel disponibili

Categorie di kernel disponibili

a compilare un kernel, la prima cosa che dobbiamo sapere è quale kernel scegliere. Per fare questo, dobbiamo andare a Sito ufficiale dei nocciolie scegline una tra le categorie esistenti. Quali sono i seguenti:

  • Principale linea di sviluppo (Mainline): Questa categoria include quei kernel in fase di sviluppo, quindi contengono nuove caratteristiche e funzioni che devono essere testate prima di poter essere trasformate in una versione stabile. Questi vengono mantenuti e rilasciati direttamente da Linus Torvalds e vengono rilasciati in media ogni 2-3 mesi.
  • Stabile: Questa categoria include quei Kernel che, dopo aver superato i test del lungo processo di sviluppo, diventano stabili, quindi sono soggetti a correzioni solo tramite un manutentore ufficiale designato. Inoltre, hanno solo alcune versioni di correzione di bug fino a quando non sarà disponibile la prossima Mainline.
  • Lungo termine: Questa categoria include quei Kernel che, dopo aver superato i test del lungo processo di sviluppo, diventano stabili, ma sono supportati da correzioni di bug e manutenzione per un tempo estremamente lungo (anni). Motivo per cui vengono applicate importanti correzioni di bug, che possono diventare molto frequenti.

Come compilare un kernel in una distribuzione Debian Bullseye GNU/Linux?

Come compilare un kernel in una distribuzione Debian Bullseye GNU/Linux?

Avendo scelto a versione specifica del kernel, sul sito ufficiale, e già conoscendo (copiando) il tuo percorso di download attraverso pulsante tarball degli stessi, non resta che eseguire la seguente procedura, che mostreremo prendendo a titolo esemplificativo, il Versione stabile del kernel Linux 6.0.8:

Passo 1

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

L'esecuzione di quest'ultimo comando avvia il "Menu di configurazione del kernel", dove puoi configurare (personalizzare) i parametri la tua preferenza o esigenza. Inoltre, qui è fondamentale non dimenticare che è necessario selezionare o deselezionare l'opzione del kernel a 64 bita seconda di ciò che è desiderato o richiesto. E inoltre, dopo aver apportato tutte le modifiche apportate, è necessario premere il pulsante Salva e poi la Pulsante Esci.

Menu di configurazione del kernel

Passo 2

A questo punto ci sono 2 possibili percorsi prendere:

Solo installazione del kernel
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Installazione del kernel e generazione di file .deb

Installazione del kernel e generazione di file .deb

Per eseguire questo passaggio, è importante che venga richiamata l'installazione del pacchetto pacchetto kernel. Pertanto, la procedura è la seguente e inizia come segue:

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

Nel caso, durante il processo di compilazione, si ottiene un errore relativo ai certificati del kernel, rimane un'opzione per poter eseguire quanto segue ordine di comando per risolverlo automaticamente:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Sì, tutto è finito bene, non resta che riavviare il nostro computer e testare come gira il nostro sistema operativo con il nuovo Kernel. Come viene mostrato prima e dopo, nei seguenti screenshot:

Prima dell'installazione del kernel

Prima dell'installazione

Dopo l'installazione del kernel

Dopo l'installazione

Articolo correlato:
Fast Kernel Headers, una serie di patch che velocizzano la compilazione del kernel del 50-80%
Articolo correlato:
Kerla: un nuovo kernel scritto in Rust e compatibile con Linux ABI

Riepilogo: Banner post 2021

Riassunto

In sintesi, speriamo che questo tutorial sia molto utile, sia per Utenti avanzati come Sviluppatori di distribuzioni o respin. che di solito richiedono "compilare un kernel" Specifico su un sistema operativo GNU/Linux attualmente installato o che viene generato da zero, al fine di incorporare un migliori prestazioni e ottimizzazione su hardware specifico. Principalmente, con l'obiettivo di raggiungere, a minor consumo di CPU e RAM.

Anche se, se qualcuno ne sa qualcuno un altro modo utile per svolgere tale procedura o conoscerne qualcuno suggerimento, raccomandazione o correzione a quanto fornito qui, puoi farlo attraverso i commenti. E sì, questa pubblicazione ti è semplicemente piaciuta, non smettere di commentarla e condividerla con gli altri. Inoltre, ricorda di visitare il ns «pagina iniziale» per esplorare altre notizie e unirti al nostro canale ufficiale di Telegram di FromLinux, Ovest gruppo per ulteriori informazioni sull'argomento di oggi.


Il contenuto dell'articolo aderisce ai nostri principi di etica editoriale. Per segnalare un errore fare clic su qui.

Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.