-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 15:57, domenica 7 luglio 2002, Roberto ha scritto:
> qualcuno può darmi 2 informazioni sull'aggiornamento del
> kernel? Si tratta di una procedura davvero utile o meno?
> X può avere dei problemi dopo l'aggiornamento del kernel?
> Grazie

è utile, se il nuovo kernel risolve dei problemi del vecchi
ad esempio se supporta nuovi dispositivi, o supera dei 
problemi nella gestione del disco, o della memoria (es, il 
2.4.11 è stato immediatamente ritirato per problemi di 
corruzione del FS, i primi 2.4 usavano male la memoria 
virtuale, ecc)

X non avrà problemi (a meno di cannare la configurazione di 
dri ed agpgart)

vedi in attach (forse in ml non passa..)

bye

miKe
______________________________________
Slackware 8 GNU/Linux 2.4.18 @ hp  Xe3
R.U.#219755 - S.R.U.#705 - R.M.#110932
- --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9KFRCF/9fksDJ4y0RAnaiAKCPUbnCgfjZxYHle8IWGjrpj301fwCgs2Fd
+I9QSeR/qX2B/6irfA6rrkU=
=JrHd
-----END PGP SIGNATURE-----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Generator" content="KWord HTML Export Filter Version = 2.35 " />
<title>tutorial-kernel</title>
</head>
<body bgcolor="#FFFFFF">
<p><font face="times" color="#000000">3.1.3. Scompattazione, patch e avvio della configurazione</font></p>
<p><font face="times" color="#ff0901">le mie variazioni sono in rosso</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">Ecco i passi da seguire (tutto ciò che è tra doppi apici in grassetto è un comando, e va dato senza di essi;</font></p>
<p><font face="times" color="#000000">come esempio si suppone di avere una versione 2.2.11 e di aggiornare alla versione 2.2.14):</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">nel tuo caso parliamo di 2.4.18</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">1. Se non lo siete già, diventate utente root e spostatevi in /usr/src (&quot;su root&quot;, più la password, poi &quot;cd  /usr/src&quot;)</font></p>
<p><font face="times" color="#000000">2. Date: &quot;ls -l&quot;. Controllate se esiste una riga che contiene 'linux': se non esiste, saltate al punto 5; se   esiste e il primo carattere della riga è d, si tratta di una directory, saltate al punto 4;</font></p>
<p><font face="times" color="#000000">altrimenti se esiste e il primo carattere della riga è l, si tratta di un collegamento, </font></p>
<p><font face="times" color="#000000">continuate col punto 3</font></p>
<p><font face="times" color="#ff0901">oggi si tende ad avere una /usr/src/linux-2.4.18 ed un link linux che lo punti;</font></p>
<p><font face="times" color="#000000"><font color="#ff0901">installare un nuovo kernel significa scompattarlo in linux-2.4.19 e rifare solo il link linux</font></font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">3. Rimuovete il link: &quot;rm -f linux&quot; (in questo modo i vecchi sorgenti eventualmente presenti rimarranno nella   directory cui puntava il link, in genere 'linux-VERSIONE_KERNEL'), e saltate al punto 5</font></p>
<p><font face="times" color="#000000">4. Rinominate la directory: &quot;mv linux linux<font color="#ff0901">-2.2.11</font>&quot; (in questo modo i vecchi sorgenti eventualmente presenti verranno spostati nella directory 'linux<font color="#ff0901">-2.2.11</font>'), e continuate col punto 5</font></p>
<p><font face="times" color="#000000">5. Scompattate i nuovi sorgenti: se il file in vostro possesso finisce in '.gz', date &quot;tar xvzf</font></p>
<p><font face="times" color="#000000">/persorso/del/file/linux-2.2.11.tar.gz&quot;, mentre se finisce con '.bz2', date &quot;tar xvf</font></p>
<p><font face="times" color="#000000">/persorso/del/file/linux-2.2.11.tar.bz2 --use-compress-program bzip2&quot;</font></p>
<p><font face="times" color="#000000">6. Se avete già l'ultima versione dei sorgenti, saltate al punto 7, altrimenti se dovete applicare delle</font></p>
<p><font face="times" color="#000000">patch per aggiornare i sorgenti ad una versione più recente, date i seguenti comandi (TUTTE le patch vanno   applicate in sequenza):</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">cd linux</font></p>
<p><font face="times" color="#000000">gzip -dc /persorso/del/file/patch-2.2.12.gz | patch -p1</font></p>
<p><font face="times" color="#000000">gzip -dc /persorso/del/file/patch-2.2.13.gz | patch -p1</font></p>
<p><font face="times" color="#000000">gzip -dc /persorso/del/file/patch-2.2.14.gz | patch -p1</font></p>
<p><font face="times" color="#000000">cd ..</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000"> nel caso abbiate dei file del tipo 'patch-VERSIONE_KERNEL.bz2', sostituite nei comandi precedenti 'gzip'    con 'bzip2'</font></p>
<p><font face="times" color="#000000">7. Rinominate la directory ottenuta in base alla versione dei sorgenti che avete ottenuto (nell'esempio  2.2.14) e ricreate alcuni collegamenti simbolici:</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">mv linux linux-2.2.14</font></p>
<p><font face="times" color="#000000">ln -s linux-2.2.14 linux</font></p>
<p><font face="times" color="#000000">rm -rf /usr/src/linux/include/asm /usr/include/asm</font></p>
<p><font face="times" color="#000000">rm -rf /usr/include/linux /usr/include/scsi</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">rimuovere i link è utile se fatto prima di rinominare la vecchia linux o di ricreare il link</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">ln -s /usr/src/linux/include/asm-i386/ /usr/src/linux/include/asm</font></p>
<p><font face="times" color="#000000">ln -s /usr/src/linux/include/asm-i386/ /usr/include/asm</font></p>
<p><font face="times" color="#000000">ln -s /usr/src/linux/include/linux/ /usr/include/linux</font></p>
<p><font face="times" color="#000000">ln -s /usr/src/linux/include/scsi/ /usr/include/scsi</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000"> così da portare il tutto in una situazione standard (i sorgenti devono essere in '/usr/src/linux/')</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">mmm, allora, i primi kernel della 2.4.0 indicavano nel readme di non usare /usr/src/linux ma di compilare da un'altra posizione...</font></p>
<p><font face="times" color="#ff0901">Oggi si usa di nuovo senza problemi usr/src (io l'ho usata sempre e comunque)</font></p>
<p><font face="times" color="#ff0901">ma non parlerei di satndard, visto che il readme ancora sconsiglia /usr/src</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">8. Si passa ora alla fase più delicata dell'operazione: scegliere cosa includere e cosa no nel kernel. Date  &quot;cd linux&quot; e poi &quot;make mrproper&quot; per eliminare residui di eventuali vecchie compilazioni (attenzione che  questo comando cancella il file '.config', che contiene le impostazioni date in una precedente  compilazione, quindi nel caso fatevene una copia). </font></p>
<p><font face="times" color="#000000">Ora date a vostra scelta uno dei tre comandi seguenti,   in base al tipo di interfaccia che volete usare (solo quello che c'è prima del # !!!):</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">make config # (interfaccia a caratteri base)</font></p>
<p><font face="times" color="#000000">make menuconfig # (interfaccia a caratteri con menu)</font></p>
<p><font face="times" color="#000000">make xconfig # (interfaccia grafica - dovete essere in X-Window)</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">       e passiamo alla configurazione dei parametri……………….</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">Qui devi conoscere il tuo hardware e cosa vuoi farne</font></p>
<p><font face="times" color="#ff0901">io in genere tolgo tutto quello che non uso, e non compilo neppure i moduli di quello che non ho</font></p>
<p><font face="times" color="#ff0901">il supporto puoi sceglierlo modulare o monolitico, io in genere metto monolitico, poi, quando ho testato tutto e sono sicuro che l'hardware vada, semmai ricompilo modulare...</font></p>
<p><font face="times" color="#ff0901">..Considera che con poche periferiche cambia poco, </font></p>
<p><font face="times" color="#ff0901">oddio, un modulo bloccato non ti pianta il sistema, e puoi scaricarlo, se includi nle kernel, non lo puoi fare...</font></p>
<p><font face="times" color="#ff0901">Se hai poche periferiche, monolitico o modulare non daranno grosse differenze di velocità...</font></p>
<p><font face="times" color="#ff0901">..In ogni caso i moduli li caricheresti comunque...</font></p>
<p><font face="times" color="#ff0901">&nbsp;</font></p>
<p><font face="times" color="#ff0901">..Modulare dvi mettere sicuramente l'usb, </font></p>
<p><font face="times" color="#ff0901">non sempre userai lo scanner, ad esempio</font></p>
<p><font face="times" color="#ff0901">&nbsp;</font></p>
<p><font face="times" color="#ff0901">una scheda audio, visto che la usi sempre, puoi metterla nel kernel..</font></p>
<p><font face="times" color="#ff0901">&nbsp;</font></p>
<p><font face="times" color="#ff0901">..Chiaro?</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">3.3. Compilazione e installazione</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">   Fatto tutto questo, salvate con l'opzione apposita, incrociate le dita e date:</font></p>
<p><font face="times" color="#000000">make dep &amp;&amp; make clean &amp;&amp; make bzImage &amp;&amp; make modules</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">la prima volta, i comandi dalli uno ad uno, così vedi i messaggi  e capisci</font></p>
<p><font face="times" color="#ff0901">in seguito make dep clean  bzImage modules modules_install</font></p>
<p><font face="times" color="#ff0901">tutto su una riga... Senza &amp;&amp;</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">uscite e andate a farvi un caffè o una lunga passeggiata (con un processore a 200 MHz servono in genere una   quindicina di minuti, regolatevi!) Non è come aspettare un figlio, ma la prima volta ci si ritrova con le   unghie completamente rosicchiate ;-).</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">Si riferiva ad un 2.2 ..  Il 2.4 impiega moooolto di più...</font></p>
<p><font face="times" color="#ff0901">Il tuo 133 potrebbe metterci 30 minuti buoni</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000"> Se tutto è andato bene, il vostro nuovo bambino... ehm, kernel, è   contenuto nel file '/usr/src/linux/arch/i386/boot/bzImage'. Complimenti! Ora bisogna installare il tutto. </font></p>
<p><font face="times" color="#000000">Per  prima cosa i moduli. Se avete ricompilato la stessa versione di kernel che state già usando, dovete spostare   la directory con la versione precedente dei moduli, prima di installarli (se avete compilato una versione   diversa da quella in uso, potete saltare il primo dei due comandi seguenti):</font></p>
<p><font face="times" color="#000000">mv /lib/modules/VERSIONE_KERNEL /lib/modules/VERSIONE_KERNEL.old</font></p>
<p><font face="times" color="#000000">make modules_install</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">Fatto questo, controllate se nella directory '/boot' esistono i seguenti file:</font></p>
<p><font face="times" color="#000000">ls -l /boot/System.map /boot/vmlinuz</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">come prima, se il primo carattere è una 'l' si tratta di collegamenti (rimuoveteli con rm -f /boot/...),</font></p>
<p><font face="times" color="#000000">mentre se è '-' si tratta di file (rinominateli con mv -f /boot/NOMEFILE</font></p>
<p><font face="times" color="#000000">/boot/NOMEFILE-VERSIONE_KERNEL_PRECEDENTE). Ora copiate in '/boot' il kernel e la System-map aggiornate e</font></p>
<p><font face="times" color="#000000">ricreate i collegamenti (l'esempio si riferisce sempre al kernel 2.2.14):</font></p>
<p><font face="times" color="#000000">cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.14</font></p>
<p><font face="times" color="#000000">ln -s /boot/vmlinuz-2.2.14 /boot/vmlinuz</font></p>
<p><font face="times" color="#000000">cp /usr/src/linux/System.map /boot/System.map-2.2.14</font></p>
<p><font face="times" color="#000000">ln -s /boot/System.map-2.2.14 /boot/System.map</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#000000">&nbsp;</font></p>
<p><font face="times" color="#ff0901">ok, tutto giusto, in pratica hai le  varie System.Map e le varie configurazioni, oltre ai vari vmlinuz</font></p>
<p><font face="times" color="#ff0901">i link non sono indispensabili (la versione viene definita da uname)</font></p>
<p><font face="times" color="#ff0901">ma io li faccio comunque, ci metti un attimo</font></p>
<p><font face="times" color="#ff0901">&nbsp;</font></p>
<p><font face="times" color="#ff0901">ora incollo il pezzo dell'altro tutorial, saltando a piè pari il make install che è una cazzata, che sovrascrive tutto, e sa hai fatto una sciocchezza non ti riavvia il sistema...</font></p>
<p><font face="times" color="#ff0901">..Poi è meglio avere gli ultimi due kernel funzionanti nella propria /boot e nel proprio lilo</font></p>
<p><font face="times" color="#ff0901">si cancelleranno man mano che se ne metteranno di nuovi....</font></p>
<p><font face="times" color="#ff0901">&nbsp;</font></p>
<p><font face="times" color="#000000"><font color="#ff0000"></font><font color="#060606">Adesso si tratta di modificare il bootloader, per consenire allo stesso di caricare all'avvio il nuovo kernel. io ho usato LILO, ma so che grub  è molto simile... vi /etc/lilo.conf </font></font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#ff0901">ha fatto un pò lo splendido, tu non usare vi ma un editor grafico, al massimo un mcedit da console</font></p>
<p><font face="times" color="#ff0901">usare vi, le prime volte, è non proprio semplice...</font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606">copia la sezione del kernel di default, nel mio caso: </font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="sony-fixed"><font face="times" color="#060606">image=/boot/vmlinuz-2.4.7-10 </font></font></p>
<p><font face="times" color="#060606">label=linux </font></p>
<p><font face="times" color="#060606">initrd=/boot/initrd-2.4.7-10.img </font></p>
<p><font face="times" color="#060606">read-only</font></p>
<p><font face="times" color="#060606">root=/dev/hda5 append=&quot;hdc=ide-scsi&quot; </font></p>
<p><font face="times" color="#ff0901">ok, avrai delle etichette diverse, se non hai un masterizzatore non avrai l'append per l'emulazione scsi e se hai inserito il supporto al filesystem col quale hai formattato la /boot e la /root direttamente nel kernel, non avrei bisogno di un'immagine ramdisk</font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606">Qui bisogna fare una breve riflessione: è in grado il nostro kernel, da solo, di accesere al dispositivo da cui deve fare il boot? Generalmente, se abbiamosolo dischi IDE la risposta  è si a meno di non aver disabilitato l'opzione relativa in fase di configurazione). Per i dischi SCSI, USB, ZIP ecc... le cose potrebbero non essere così  il kernel potrebbe non essere in grado di accedere ai moduli che gli servono, essendo tali moduli scritti su un filesystem per la cui lettura necessita di moduli.A questo serve la initrd image. Se non ti serve la initrd image, rimuovi la riga initrd=/boot/initrd-2.4.7-10.img dalla nuova sezione appena creata e modifica le righe della nuova sezione in modo che diventino simile alle mie: </font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606">image=/boot/vmlinuz-2.4.18 </font></p>
<p><font face="times" color="#060606">label=linux-2.4.18</font></p>
<p><font face="times" color="#060606">read-only </font></p>
<p><font face="times" color="#060606">root=/dev/hda5 </font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606"> Altrimenti, devi anche creare una nuova initrd image, con il comando /sbin/mkinitrd /boot/initrd-2.4.18.img 2.4.18 dove 2.4.18  è la versione del kernel che hai. </font></p>
<p><font face="times" color="#060606">Attento: il secondo 2.4.18 deve essere il nome della dir che trovi sotto /lib/modulesSalva, quindi lancia il comando lilo </font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#ff0901">/sbin/lilo -v </font></p>
<p><font face="times" color="#ff0901">è meglio..</font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#060606">A questo punto, riavviando, avrai la scelta di quale kernel usare... incrocia le dita e scegli quello nuovo... </font></p>
<p><font face="times" color="#060606">&nbsp;</font></p>
<p><font face="times" color="#ff0901">Mi associo, buona fortuna!!</font></p>
</body>
</html>

Rispondere a