Guida su CUSTOMIZZAZIONE KERNEL

7 risposte [Ultimo messaggio]
Ritratto di johnthejocker
johnthejocker
(Guru)
Offline
Guru
Iscritto: 05/11/2006
Messaggi: 550

Salve a tutti. In merito alla interessantissima guida di kio341 volevo fare un paio di domanda, che mi sembra più giusto porre qui. Volevo sapere:
- la guida è applicabile solo alla distribuzione di Mandriva oppure la si può seguire (con le variazioni del caso come i nomi delle dir dei sorgenti) anche per altre distribuzioni?
- quali vantaggi si ricavano dal ricompilare il kernel selezionando solo i moduli relativi al proprio HW?

Scusate se ad alcuni possono sembrare domande stupide, ma sono dubbi di niubbo di linux che vorrebbe imparare altre cose oltre alle poche che sa!!!
Grazie sempre a tutti. Ciao

Desktop: HP m9180.it - Mandriva 2010.1 - Windows Vista HP - e altro... XD
Portatile: Packard Bell W3420 - Mandriva 2010.1 Cooker - Windows XP HE
PC Server Casalingo: Mandriva 2008

Ritratto di kio341
kio341
(Guru)
Offline
Guru
Iscritto: 09/09/2004
Messaggi: 591

ti segnalo un estratto da una mia vecchia guida in ambiente slackware (Zenwalk)
http://xoomer.alice.it/lucky341/minislack%20versus%20skackware.html
Quote:

“Il kernel è il nocciolo del sistema operativo (SO): si occupa di gestire l' hardware presente nel pc in maniera trasparente, quindi senza che l'utente si debba preoccupare di come effettivamente funzioni.

Lato utente il kernel viene utilizzato tramite una SHELL, che è un interprete di comandi. Un esempio di shell è la bash ( Bourne-Again Shell ), di norma è la scelta di default per i sistemi Gnu/Linux, ma ne esistono altre per usi specifici.

Il kernel Linux è nato nel 1990 da un' idea di Linus Torvalds che voleva creare un clone di Minix per 386 e 486. Dopo un duro lavoro l' annuncio della prima versione di Linux fu dato il 5-10-1991.

Torvalds adottò per il suo sistema la licenza GNU ed in poco tempo il suo progetto raccolse attorno a sé tantissimi sviluppatori tra cui anche alcuni che stavano lavorando ad un SO della

GNU. Lo sviluppo di Linux divenne così molto veloce: pensate che uno dei primi kernel aveva un peso di circa 0.2MB (0.10) con 10.000 righe di codice, mentre adesso si sono superati i 200 MB (2.6.13) con più di 5.000.000 di righe di codice.

Vediamo adesso come vengono gestite le versioni del kernel, prendendo in considerazione ad esempio linux-2.4.29. Il primo numero (2) indica la versione maggiore (major version), il secondo numero (4) indica la versione minore (minor version), il terzo numero indica la versione di correzione degli errori (bugfix).

La major version indica la versione principale del kernel. Da diverso tempo è ferma a 2 ma questo non implica che ci siano stati pochi cambiamenti (qualche anno fa si discusse sul fatto che l'attuale ramo 2.6 dovesse rappresentare l'inizio del ramo 3.0, ma il Sig. Torvalds disse che le modifiche apportate non erano tali da giustificare il cambio di numerazione).La minor version viene modificata quando vengono introdotte delle nuove funzionalità al kernel, pur mantenendo una certa compatibilità con le versioni precedenti: un 2.6.X infatti può coesistere tranquillamente con un 2.4.X. Questo numero se pari indica una versione stabile, mentre se dispari indica una versione di sviluppo o ritenuta poco stabile, ad esempio il ramo 2.6 deriva del ramo di sviluppo 2.5.

La bugfix invece indica la correzione o l'aggiunta di piccoli particolari al kernel. Nel ramo attuale 2.6.X si è scelta la versione a 4 cifre: in pratica il numero di bugfix viene allargato da 1 a 2 cifre, così da avere kernel del tipo 2.6.13.4. Questa modifica è stata inserita per rendere più veloci i rilasci di versioni stabili”

dalla guida di pennega :
ftp://spaghettilinux.org/spaghettilinux/tutorials/Cenni_sulla_compilazione_diun_kernel_2.6.X-0.9.0.pdf
"In questa versione è stato aggiunto un capitolo dedicato alle istruzioni di gestione del kernel sulle singole distro. Per il momento la procedura è descritta su Debian-based e Ubuntu e Slackware" ci avvisa pennega-
ora customizzo il kernel per abilitare :

-il supporto per apm : la macchina allo shutdown non si spegne

-il file system Ufs(quello ) quello dei bsd

-il processore specifico:pentium III-celeron .

e togliere il supporto al fireware(non disponibile nella mia macchina)

entro nella cartella dei sorgenti

#cd /usr/src/linux-2.6.15.1

# make mrproper

CLEAN scripts/basic

CLEAN scripts/kconfig

CLEAN .config .config.old include/linux/autoconf.h

per rimuovere qualsiasi file di configurazione

poi ho copiato il file config-2.6.15.1in boot , nella dir

/usr/src/linux-2.6.15.1ribattezandolo .config

perchè il .config del kernel attualmente in funzione, funzionando perfettamente ,non è poi così male .. Meglio partire da qualcosa di funzionante e modificarlo per le proprie esigenze-

poi ho dato:

#make oldconfig

make oldconfig - è uno script che crea i Makefile necessari con la configurazione di default(quella vecchia).

Ciò è utile per configurare il kernel e averne quindi uno di default funzionante, salvo poi includere/escludere le caratteristiche che si desiderano,come sopra visto, con il comando :

# make xconfig

ho fatto le modifiche e poi

# nano Makefile

ho modificato la riga contenente EXTRAVERSION ,nel mio caso EXTRAVERSION=-kio

per lasciare il mio marchio di fabbrica!

poi

#make bzImage && make modules && make modules_install

L’operatore && permette di eseguire dei comandi in serie avviando il successivo solo se il precedente è andato a buon fine -di questi comandi segnalo che il make dep non è più necessario per ricompilare il kernel della serie 2.6!.
Questa operazione ha richiesto un certo tempo, 1 ora circa .

#/sbin/depmod -ae -F System.map 2.6.15-kio

Alla fine ho copiato il file appena creato bzimage in in /boot rinominandolo #cp /usr/src/linux-2.6.15.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.15-kio

#cp /usr/src/linux-2.6.15.1/System.map /boot/System.map-2.6.15-kio

#cp /usr/src/linux-2.6.15.1/.config /boot/config-2.6.15-kio

poi ho montato la partizione di fedora ed ho ricondizionato il suo /boot/grub/grub.conf ed ho riavviato

ma l'interfaccia grafica non funge allora reinstallo il driver nvidia

# cd /home

#./NVIDIA-Linux-x86-1.0-7174-pkg1.run

e bingo!

che dici?????
Laughing

Ritratto di johnthejocker
johnthejocker
(Guru)
Offline
Guru
Iscritto: 05/11/2006
Messaggi: 550

Grazie kio per la tua risposta. Questo mi dice che il procedimento è, tutto sommato, uguale per "tutti"!!!
Ma esattamente quali vantaggi si ricavano da questa operazione? Grazie, come sempre, di tutto! Ciao

Desktop: HP m9180.it - Mandriva 2010.1 - Windows Vista HP - e altro... XD
Portatile: Packard Bell W3420 - Mandriva 2010.1 Cooker - Windows XP HE
PC Server Casalingo: Mandriva 2008

Ritratto di kio341
kio341
(Guru)
Offline
Guru
Iscritto: 09/09/2004
Messaggi: 591

Quote:

Certo che se ricompili il kernel puoi avere alcuni vantaggi, dipende un po' dall'uso che ne fai e che periferiche usi. Sicuramente un kernel ricompilato è più piccolo perchè ha solo i driver che ti servono e quindi le prestazioni potrebbero aumentare. Il tuo sistema viene ottimizzato e a volte può capitare che sei costretto a farlo perchè alcune periferiche non funzionano ovvero per per abilitare alcune funzionalità es. supporto per il filesystem UFS (quello di freebsd per intenderci) .
Direi che non è assolutamente necessario installare le sorgenti se il tuo sistema non presenta anomalie, ma se osservi tutte le precauzioni durante la ricompilazione del kernel e delle sorgenti per evitare il crash totale del sistema, allora ricompilare il kernel ha senso.

8-)

Ritratto di johnthejocker
johnthejocker
(Guru)
Offline
Guru
Iscritto: 05/11/2006
Messaggi: 550

Beh, grazie! Direi che non potevi darmi risposta più chiara! Ciao

Desktop: HP m9180.it - Mandriva 2010.1 - Windows Vista HP - e altro... XD
Portatile: Packard Bell W3420 - Mandriva 2010.1 Cooker - Windows XP HE
PC Server Casalingo: Mandriva 2008

Ritratto di Jack_Oneil
Jack_Oneil
(Junior)
Offline
Junior
Iscritto: 03/01/2007
Messaggi: 39

Cioa, volevo chiedervi se mi potete spiegare le differenze tra i vari tipi di kernel già compilati che si trovano nei repository main di Mandriva (non tanto desktop\laptop che si capisce, quanto multimedia, .... etc)
Grazie

Ritratto di Pinguino
Pinguino
(Guru)
Offline
Guru
Iscritto: 14/09/2004
Messaggi: 2918

Mi pare di aver già risposto a questa questione, cerca nel forum.

Cmq:

http://wiki.mandriva.com/Docs/Howto/Mandriva_Kernels

Proud linux user # 372467 @ http://counter.li.org
Mandriva Cooker 2008 - Kernel 2.6.17-14mdv - KDE 3.5.7 - Gnome 2.16

Ritratto di Jack_Oneil
Jack_Oneil
(Junior)
Offline
Junior
Iscritto: 03/01/2007
Messaggi: 39

Grazie