Differenze tra le versioni di "Ricompilazione Kernel"

Da GolemWiki.
Jump to navigation Jump to search
m (riferimenti esterni)
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 12: Riga 12:
  
 
Scaricare la versione del kernel che si vuole compilare, es.:
 
Scaricare la versione del kernel che si vuole compilare, es.:
  # wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.2.tar.xz
+
  # wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.1.7.tar.xz
  
 
Decomprimere l'archivio compresso
 
Decomprimere l'archivio compresso
  # tar -Jxvf linux-3.13.2.tar.xz
+
  # tar -Jxvf linux-6.1.7.tar.xz
  
 
Spostarsi nella nuova cartella
 
Spostarsi nella nuova cartella
  # cd linux-3.13.2
+
  # cd linux-6.1.7
  
 
Fare pulito
 
Fare pulito
Riga 42: Riga 42:
  
 
Il comando ''make install'' creerà i seguenti file nella directory /boot
 
Il comando ''make install'' creerà i seguenti file nella directory /boot
* vmlinuz-3.13.2 – Il nuovo kernel
+
* vmlinuz-6.1.7 – Il nuovo kernel
* System.map-3.13.2 – I simboli esportati dal kernel
+
* System.map-6.1.7 – I simboli esportati dal kernel
* initrd.img-3.13.2 – Il ramdisk
+
* initrd.img-6.1.7 – Il ramdisk
* config-3.13.2 – Il file di configurazione del kernel
+
* config-6.1.7 – Il file di configurazione del kernel
  
 
Aggiungere il nuovo kernel al file di configurazione del boot loader.
 
Aggiungere il nuovo kernel al file di configurazione del boot loader.
 
Esempio di modifica da aggiungere a ''/boot/grub/grub.cfg''
 
Esempio di modifica da aggiungere a ''/boot/grub/grub.cfg''
  menuentry 'Linux 3.13.2' --class linux {
+
  menuentry 'Linux 6.1.7' --class linux {
         linux  /boot/vmlinuz-3.13.2 root=/dev/sda2 init=/usr/lib/systemd/systemd ro quiet
+
         linux  /boot/vmlinuz-6.1.7 root=/dev/sda2 init=/usr/lib/systemd/systemd ro quiet
         initrd  /boot/initrd.img-3.13.2
+
         initrd  /boot/initrd.img-6.1.7
 
  }
 
  }
  
 
[[Category: Howto]]
 
[[Category: Howto]]

Versione attuale delle 10:35, 23 gen 2023

Prontuario veloce.

Se hai bisogno di alcune linee guida più dettagliate, vedi la Ricompilazione Kernel per Niubbi.

Prerequisiti: utility per la compilazione (gcc, make)

Loggarsi come utente root

# sudo su

Spostarsi nella directory dei sorgenti di sistema

# cd /usr/src

Scaricare la versione del kernel che si vuole compilare, es.:

# wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.1.7.tar.xz

Decomprimere l'archivio compresso

# tar -Jxvf linux-6.1.7.tar.xz

Spostarsi nella nuova cartella

# cd linux-6.1.7

Fare pulito

# make clean
# make mrproper

Configurazione del kernel

# make menuconfig

Compilazione

# make vmlinuz
# make modules

Installazione dei moduli

# make modules_install

Installazione del kernel

# make install

Creazione del ramdisk

# mkinitcpio -k nomekernel -g /boot/initrd.img


Il comando make install creerà i seguenti file nella directory /boot

  • vmlinuz-6.1.7 – Il nuovo kernel
  • System.map-6.1.7 – I simboli esportati dal kernel
  • initrd.img-6.1.7 – Il ramdisk
  • config-6.1.7 – Il file di configurazione del kernel

Aggiungere il nuovo kernel al file di configurazione del boot loader. Esempio di modifica da aggiungere a /boot/grub/grub.cfg

menuentry 'Linux 6.1.7' --class linux {
       linux   /boot/vmlinuz-6.1.7 root=/dev/sda2 init=/usr/lib/systemd/systemd ro quiet
       initrd  /boot/initrd.img-6.1.7
}