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
ti segnalo un estratto da una mia vecchia guida in ambiente slackware (Zenwalk)
http://xoomer.alice.it/lucky341/minislack%20versus%20skackware.html
Quote:
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?????
