Friday 27 November 2020 04:48:34

Ricompilazione del kernel Linux

Bisogna innanzitutto dire che i kernel che supportano Ipv6 sono quelli dal 2.2.* in su.
Se avete una distro abbastanza datata puo' essere che il vostro kernel supporti IPv6 ma l'installazione di default non l'abbia abilitato.
Quindi è bene scaricare un kernel più recente magari della serie 2.4.* e compilarlo appunto con il supporto Ipv6 come modulo.
Nel momento in cui scriviamo l'ultima release stabile è la 2.4.18

Per scaricare una versione aggiornata del kernel colleghiamoci a: http://www.it.kernel.org/pub/linux/kernel/v2.4/ e scarichiamo la versione corrente.
Avremo il tar.bz2 o il tar.gz nella nostra home directory.
Bisogna ora passare a utente root con 'su -' e andare a prelevare la versione del kernel scaricato nella nostra home directory (es.: se abbiamo fatto il login con l'utente nme allora dovremmo andare su /home/nme) e spostarla in /usr/src.
Ora diamo un 'cd /usr/src/' e se abbiamo già una directory di nome "linux" diamo 'mv linux linux.old' in modo tale da conservare i vecchi sorgenti del vecchio kernel.
Infine non resta altro che scompattare.
Rispettivamente daremo 'bunzip2 linux-2.4.18.tar.bz2' e poi 'tar -xvf linux-2.4.18.tar' se il kernel scaricato aveva estensione .tar.bz2, se invece aveva estensione tar.gz daremo 'tar -xzvf linux-2.4.18.tar.gz'.

Avremo ora una directory di nome /usr/src/linux.
Spostiamoci in questa dir (cd /usr/src/linux) e diamo 'make menuconfig' se non stiamo usando X o 'make xconfig' se stiamo usando X.
Dando make xconfig avremo questa schermata:


Tra le opzioni da abilitare in realazione al vostro sistema (si consiglia di utilizzare i moduli per dare al proprio sistema una maggiore flessibilità ed evitare di caricare cose inutili all'avvio) ne ricordiamo alcune:

- Abilitare nel menu "code maturity level options" l'unica voce presente:


- Alla voce "Processor type and features" scegliete il vostro tipo di processore e quindi abilitare i supporti MSR, CPUID e APIC:


- Nel menu "General Setup" ricordarsi di abilitare il supporto al networking:


- Nel menù "Block Devices" attivate come moduli "Loopback device support" e "Network block device support" e abilitare il supporto alla "RAM Disk" e all' "Initial RAM Disk" (initrd):



- Nel menu "Networking Options" attivate il supporto per: "Packet socket", "Packet socket nmapped IO" , "Kernel/User netlink socket", "Routings messages", "Netlink device emulation" (come modulo), "Socket Filtering", "Unix domain sockets", "TCP/IP networking", e naturalmente il supporto "IPv6"come modulo:




- Nel menù "ATA, IDE, MFM, RLL Support" attivate l'unica voce presente nel menù iniziale, poi cliccate su "next" e attivate come modulo la voce "Enhanced, IDE, MFM, RLL disk, cdrom, tape support", la voce "IDE/ATA-2 disk support" e quindi procediamo a compilare come modulo anche il supporto "IDE/ATAPI cdrom e floppy":






- Nel menù "Network device support" ricordarsi di attivare come modulo il supporto PPP:

Seguirà poi la configurazione riguardante la scheda video, audio, le partizioni da supportare e via dicendo.
Una volta terminata la configurazione del kernel bisogna salvare la configurazione e uscire dalla finestra iniziale.

Si dovranno dare in ordine i seguenti comandi:

[root@localhost linux] make dep
[root@localhost linux] make bzImage
[root@localhost linux] cp /usr/src/linux/System.map /boot
[root@localhost linux] cp /usr/src/linux/arch/i386/boot/bzImage /boot/
[root@localhost linux] make modules
[root@localhost linux] make modules_install
[root@localhost linux] depmod -a 2.4.18 (se il kernel compilato è il 2.4.18)

Se abbiamo costruito il nuovo kernel con i moduli dobbiamo creare la RAM disk:

[root@localhost linux] mkinitrd /boot/initrd-2.4.*.img 2.4.*
(se il kernel è il 2.4.18 avremo: mkinitrd /boot/initrd-2.4.18.img 2.4.18)

Passiamo poi alla configurazione di /etc/lilo.conf . Dovremmo ottenere una cosa simile (nel caso in cui la partizione nel quale si trova linux sia hda3).
Editiamo il file in questione e aggiungiamo:

Image=/boot/bzImage
label=linuxNEW
initrd=/boot/initrd-2.4.18.img
read-only
root=/dev/hda3

Diamo ora il comando 'lilo'.
Se tutto andrà a buon fine avremo:

[root@localhost linux] lilo
Added linux*
Added linuxNEW
Added dos

Procediamo al reboot, ora che il nostro kernel supporta il nuovo protocollo e eseguiamo la procedura spiegata precedentemente per caricare il modulo ed usufruire così dell' Ipv6.

 

Azzurra IRC Network © 1997-2020

Pagina generata in 15 millisecondi
CSS HTML