Newsgroup: it.comp.os.linux.iniziare
Titolo: ricompilare il kernel

Ho scaricato il kernel 2.2.16 con il quale voglio aggiornare il mio
linux.
Nella directory /usr/src ho eseguito le seguenti operazioni:
rm linux
tar -xvzf linux-2.2.16.tar.gz
mv linux linux-2.2.16
ln -s linux-2.2.16 linux
cosa devo fare ora per ricompilare il kernel?
Se fosse una cosa troppo complicata da descrivere in una mail,qualcuno
sa dove trovare un buon manuale on-line che parli dell' argomento? 
Nella speranza che un giorno riesca a dare anche delle risposte e non
solo fare domande vi 
ringrazio.Emanuele.
-- 
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

On 7 Nov 2000 11:11:01 +0100, 
memex (
emanuel...@tiscalinet.it
)
wrote:
| cosa devo fare ora per ricompilare il kernel?
 Entri nella directory /usr/src/linux/ e dai i comandi:
 make mrproper
 make menuconfig
 make dep clean bzImage
 mv /lib/modules/<ver.del.tuo.kernel> /lib/modules/<ver.del.tuo.kernel>.old
 make modules modules_install
 depmod -a
 
 Copia l'immagine cosi` costruita da arch/i386/boot/bzImage a
 /boot/vmlinuz-<ver.del.nuovo.kernel>.
 Copia /usr/src/linux/System.map in /boot, modifica il lilo.conf,
 aggiungendo la nuova immagine, e dai ``/sbin/lilo -v''
 
 Riavvia la macchina.
 
| Se fosse una cosa troppo complicata da descrivere in una mail,qualcuno
| sa dove trovare un buon manuale on-line che parli dell' argomento? 
 Kernel-HOWTO
-- 
Emmanuele Bassi         |            [ 
http://digilander.iol.it/ebassi
 ]
   (Zefram)             |                     [ 
emmanue...@iol.it
 ]
   Win98 Psychic edition: We'll tell you where you're going tomorrow.
GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

cosa devo fare ora per ricompilare il kernel?
Ti sposti nella directory teste' creata e procedi con:
make config
questo ti fara' due tonnellate di domande per "configurare" il
kernel, quindi
make dep
make clean
ed infine
make bzImage
o
make zImage
A seconda di quanto ti viene grosso il kernel (bzImage e' piu'
compatto).
Se hai abilitato i moduli ed hai definito dei driver da usare
come moduli, dovrai anche compilare ed installare i moduli:
make modules
make modules_install
Terminato questo dentro /i386/arch ti trovi il tuo kernel
compilato, che dovrai copiare ed installare in LILO (se usi
LILO).
Vedi anche il Kernel-HOWTO.
Davide

 cosa devo fare ora per ricompilare il kernel?
cd linux
make menuconfig
o se 6 in X
make xconfig
poi giri in tutte le sezioni e selezioni tutto quello che ti serve
poi esci e salvi poi:
make dep
make bzlilo
Una cosa... per evitare problemi se mai copiati il tuo kernel
non so... come /boot/fail
e poi aggiungilo al lilo.conf. Nel caso non si dovesse avviare
il nuovo kernel che hai compilato (la prima volta che si compila e`
facile fare delle cagate) al prompt del lilo: puoi avviare quello vecchio!
La debian lo fa di default rinominando il vecchio kernel come LinuxOLD (o simile)
ed aggiungendolo al lilo... ma la suse non lo faceva (almeno alla v6.3).
--
ciao, Mirco.
ICQ number   : 51640305
(get ICQ : 
http://www.mirabilis.com
)

 make bzlilo
gia` e` vero... se usi i moduli:
make modules
make modules_install
depmod -a



Old musicians never die, they just decompose.

 
Sul mio vecchio lilo.conf c'e' una riga che recita cosi'
initrd=/boot/initdr-2.2.12-20.img
La lascio?
La cancello?
La dovrei sostituire con initrd=/boot/initdr-2.2.16.img?
In questo ultimo caso dove mi procuro il file initdr-2.2.16.img (non lo
trovo da nessuna parte)?
memex
-- 
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 


On 7 Nov 2000 16:48:26 +0100, 
memex (
emanuel...@tiscalinet.it
)
wrote:
| Sul mio vecchio lilo.conf c'e' una riga che recita cosi'
| 
| initrd=/boot/initdr-2.2.12-20.img
| 
| La lascio?
 Se fai due immagini (consigliato), una per quello vecchio e una per
 quello nuovo, allora devi lasciarla.
| In questo ultimo caso dove mi procuro il file initdr-2.2.16.img (non lo
| trovo da nessuna parte)?
 
 man mkinitrd


  Entri nella directory /usr/src/linux/ e dai i comandi:
Sentite io l'ho sempre ricompilato seguendo le direttive del Quick and easy
configuration howto e prima di procedere alla compilazione vera e propria ho
sempre eseguito (come scritto nell'howto):
mv linux linux-2.2.14
ln -s linux-2.2.14 linux
rm -rf /usr/src/linux/include/asm /usr/include/asm
rm -rf /usr/include/linux /usr/include/scsi
ln -s /usr/src/linux/include/asm-i386/ /usr/src/linux/include/asm
ln -s /usr/src/linux/include/asm-i386/ /usr/include/asm
ln -s /usr/src/linux/include/linux/ /usr/include/linux
ln -s /usr/src/linux/include/scsi/ /usr/include/scsi
Ho notato che nessuno di voi accenna al fatto di dover eseguire tutti
questi comandi (dal terzo in poi).
Non sono necessari ?
Perche' devono essere eseguiti o perche' non devono essere eseguiti ?
Grazie, giusto per chiarezza dato che comunque la compilazione del kernel 
e' sempre andata a buon fine.
-- 
--------------------------------------------
Togliere le maiuscole x rispondere in email.

 Non sono necessari ?
Io di dolito scarico il kernel dalla debian x i386... in teoria (e anche in pratica) i link
sono gia` quelli giusti:-)
Quando scarichi un kernel controlla comunque...


 Quando scarichi un kernel controlla comunque...
Ecco, quindi dipende se il kernel che utilizzo e' configurato per la mia
distro o meno ?
Ma l'howto a cui faccio riferimento non accenna a nessuna distro in
particolare quindi presumo che siano operazioni standard.
Comunque i kernel li prendo dai cd delle riviste in formato tar.gz, li
scompatto ed eseguo le varie operazioni, quindi non ho ben capito il
significato di tutte quelle opearzioni di linkaggio richieste nell'howto.
P.S.
utilizzo una slackware 7.1


On Wed, 08 Nov 2000 10:18:20 GMT, 
Gaspyd (gasp...@SPAMfreemail.it)
wrote:
| mv linux linux-2.2.14
| ln -s linux-2.2.14 linux
 Non necessario, anche se raccomandabile. make sa trovare quello che gli
 serve, in ogni caso. Io mi sto ricompilando 3 kernel su questa macchina
 (2.2.17, 2.2.17  con patch  per ext3 e  2.4.0-test10): se  dovessi ogni
 volta cambiare il symlink starei fresco...
| Ho notato che nessuno di voi accenna al fatto di dover eseguire tutti
| questi comandi (dal terzo in poi).
| Non sono necessari ?
 Nei tar.bz2 prelevati da 
kernel.org
 questi synmlink esistono gia`.
| Perche' devono essere eseguiti o perche' non devono essere eseguiti ?
 Perche'  non   c'e`  bisogno,  se   non  in  casi  speciali   (che  io,
 sinceramente, non ho mai incontrato  con kernel ufficiali), che vengano
 eseguiti.


sempre eseguito (come scritto nell'howto):
l'ho fatto pure io una settimana fa, e a quello che dice mrshark
questi comandi ripristinano la collocazione standard delle dir e dei link ...
quindi, una volta fatto, penso che sia inutile ridare i comandi .... comunque
e' sempre consigliato dare un'occhiata se tutto e' a posto ...


 utilizzo una slackware 7.1
Io adesso uso debian e scarico solo pacchetti .DEB...
di solito sono gia` a posto.


 Nei tar.bz2 prelevati da 
kernel.org
 questi synmlink esistono gia`.
i symlink non sono nel kernel ma in /usr/include/XXX e puntano a
/usr/src/linux/XXX

On Wed, 08 Nov 2000 17:50:41 GMT, 
Zio Cantante (
ZioCa...@bonzo.net
)
wrote:
 
| Oggi ho provato a compilare il kernel 2.4.0 (in linux-2.4), ma venivano
| riportati errori sugli header durante la compilazione.
| 
| aggiustando il link linux -> linux-2.4, tutto ha funzionato alla
| perfezione.
 
 Mai successo. Non so che dirti.
 
| > Nei tar.bz2 prelevati da 
kernel.org
 questi synmlink esistono gia`.
| 
| i symlink non sono nel kernel ma in /usr/include/XXX e puntano a
| /usr/src/linux/XXX
 Allora basta installare un pacchetto di kernel-headers.
-- 
Emmanuele Bassi         |     [ 
http://digilander.iol.it/ebassi/linux/
 ]
   (Zefram)             |                     [ 
emmanue...@iol.it
 ]
Linux 2.4.0-test10      |         WARNING: `From:' Email Address is FAKE


 Allora basta installare un pacchetto di kernel-headers.
Ah.. non avevo capito che stavi parlando di pacchetti rpm.
Se non ti ha dato questi problemi,vuol dire che quando installi
kernel+kernel-headers con rpm, corregge automaticamente i symlink.
Se invece ti scarichi da 
www.kernels.org
 il kernel intero in formato
"tradizionale", devi farlo a mano.
ZioC

 e` stato quello di una slackware (kernel 1.2.3) andando un po' a naso:-)))
Gia' che siamo in argomento.
Ho il 2.2.16 su una slack7.1 ed ho compilato il 2.2.17 in modo + "modulare".
Questo mi ha prodotto un system.map e una immagine che ho copiato nella /boot
rinominando entrambi con la versione di apparzenenza:
System.map-2.2.16
vmlinuz-2.2.16
System.map-2.2.17
vmlinuz-2.2.17
nella stessa dir ho poi due link simbolici (System.map e vmlinuz) che puntano
attualmente alle rispettive versioni 2.2.16
Volessi provare il nuovo kernel mi sarebbe sufficiente modificare il
lilo.conf aggiungendoci la riga 
image=/boot/vmlinuz-2.2.17
label = nuovo
Ma per il system.map che non rientra proprio in lilo.conf ?
verrebbe caricato quello della 2.2.16 a cui punta il link simbolico
System.map ?
Ma, cosa fondamentale, cos'e' e a cosa serve system.map e perche' sono 
diversi nelle due versioni del kernel (quello della 2.2.16 e' + piccolo 
di circa 100k) ?


On Thu, 09 Nov 2000 11:02:05 GMT, 
Zio Cantante (
ZioCa...@whitehouse.gov
)
wrote:
| > Allora basta installare un pacchetto di kernel-headers.
| 
| Ah.. non avevo capito che stavi parlando di pacchetti rpm.
 Infatti *non* sto  parlando di pacchetti rpm (ne' di  deb, dato che uso
 la Debian).
| Se invece ti scarichi da 
www.kernels.org
 il kernel intero in formato
| "tradizionale", devi farlo a mano.
 *Mai*  fatto. E  i kernel  da  
kernel.org
  li  scarico appena  esce  la
 versione nuova (e lo faccio dal 2.2.5 della RH 6.0).
 Non mi sono mai trovato coi symlink sputtanati a tal punto da dovermeli
 rifare, e, ripeto, uso solo kernel ufficiali e puliti.


On Thu, 09 Nov 2000 14:12:20 GMT, 
Gaspyd (gasp...@SPAMfreemail.it)
wrote:
| Ma per il system.map che non rientra proprio in lilo.conf ?
| verrebbe caricato quello della 2.2.16 a cui punta il link simbolico
| System.map ?
 Rimuovi il link, ci penseranno gli script di boot ad occuparsi di
 caricare il System.map corretto.
