Differenze tra le versioni di "Ricompilazione Kernel"
Jump to navigation
Jump to search
m (Categoria howto) |
|||
(3 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
+ | Prontuario veloce. | ||
+ | |||
+ | Se hai bisogno di alcune linee guida più dettagliate, vedi la [[Ricompilazione Kernel per Niubbi]]. | ||
+ | |||
Prerequisiti: utility per la compilazione (gcc, make) | Prerequisiti: utility per la compilazione (gcc, make) | ||
Riga 8: | Riga 12: | ||
Scaricare la versione del kernel che si vuole compilare, es.: | Scaricare la versione del kernel che si vuole compilare, es.: | ||
− | # wget https:// | + | # 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- | + | # tar -Jxvf linux-6.1.7.tar.xz |
Spostarsi nella nuova cartella | Spostarsi nella nuova cartella | ||
− | # cd linux- | + | # cd linux-6.1.7 |
+ | |||
+ | Fare pulito | ||
+ | # make clean | ||
+ | # make mrproper | ||
Configurazione del kernel | Configurazione del kernel | ||
Riga 28: | Riga 36: | ||
Installazione del kernel | Installazione del kernel | ||
# make install | # make install | ||
+ | |||
+ | Creazione del ramdisk | ||
+ | # mkinitcpio -k ''nomekernel'' -g /boot/initrd.img | ||
+ | |||
Il comando ''make install'' creerà i seguenti file nella directory /boot | Il comando ''make install'' creerà i seguenti file nella directory /boot | ||
− | * vmlinuz- | + | * vmlinuz-6.1.7 – Il nuovo kernel |
− | * System.map- | + | * System.map-6.1.7 – I simboli esportati dal kernel |
− | * initrd.img- | + | * initrd.img-6.1.7 – Il ramdisk |
− | * config- | + | * 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 | + | menuentry 'Linux 6.1.7' --class linux { |
− | linux /boot/vmlinuz- | + | linux /boot/vmlinuz-6.1.7 root=/dev/sda2 init=/usr/lib/systemd/systemd ro quiet |
− | initrd /boot/initrd.img- | + | 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 }