Re: Come passare del 2.4.X al 2.6.X was: Fwd: Kernel in Sarge
Alle 15:02, giovedì 20 gennaio 2005, Pasquale Ravo ha scritto:
tanto è (quasi del tutto) un copia incolla:
Rimuovi il kernel che ti ha dato problemi o, in alternativa, fai il reboot con
un altro kernel, la serie non importa, va bene anche una 2.4.X.
Controlli che in /etc/apt/sources.list vi siano i riferimenti giusti (se vuoi
scaricare il 2.6.10 certamente non lo trovi in stable)
Controlli che in /etc/apt/apt.conf vi sia quello che vuoi.
Usando dselect, prima aggiorna e poi selezioni un qualsiasi kernel-image della
serie 2.6.x e contemporaneamente selezioni anche il kernel-source che ti
interessa (sono disponibili le 2.6.8, 2.6.9, 2.6.10: la versione che ti
interessa dipende anche dal tuo processore, ma puoi sempre scaricartene una
generale che vada bene per tutti i i386. Segnati anche module-assistant,
serve per la gestione dei moduli con il 2.6.X.
SE NON INTENDI AGGIORNARE TUTTO IL SISTEMA usa dselect solo per prenderti il
nome dei pacchetti che ti interessano:
apt-get install module-assistant
Poi usa apt-get install kernel-source-2.6.X-versionechetiinteressa
Poi usa apt-get install kernel-image-2.6.X-versionechetiinteressa
L'ordine degli ultimi due NON è casuale, ti fa risparmiare tempo.
Ad un certo punto ti dirà che lui vuol usare initrd (è una rottura, ma è di
default sulle immagini debian), allora vai in un'altra tty, apri da root:
vi /etc/lilo.config (se sei uno di quelli persi per emacs usa openoffice....)
aggiungi, se già non c'è, la riga image=/initrd.img
subito dopo la riga image, è in basso, verso la fine del file, cosi:
image=/vmlinuz
initrd=/initrd.img
(a questo punto, se non lo hai già fatto prima, tanto vale mettere vga=791, è
più in alto, al posto di vga=normal, almeno per la grafica in 1024*768, ed
anche:
image=/vmlinuz.old
initrd=/initrd.img.old
se hai solo un kernel devi anche decommentare optional altrimenti lilo si
incavola perché non trova l'altro kernel, decommentare vuol dire togliere il
cancelletto)
salvi, esci, dai il comando lilo <====== non dimenticare
Se non hai fatto errori non avrai messaggi strani ma solo uno o due Added,
tutto regolare.
Torni alla tty precedente e gli dici di continuare intemerato, dopo poco
potrebbe darti un'altro warning se tu stai reinstallando un kenrnel sopra un
kernel con lo stesso nome. In questo caso:
cambi di nuovo tty (sempre da root) e:
uname -r
ed ottieni il nome del kernel su cui stai lavorando e che vuoi reinstallare.
rm -r /lib/modules/nome-kernel (drastico, ma tanto reinstalli)
oppure:
mv /lib/modules/nome-kernel /lib/modules/nome-kernel-old (così al limite li
recuperi)
torni alla tty di lavoro,
Gli dici di continuare usando pure la configurazione esistente di lilo
(opzione predefinita).
Lui si fa un paio di chiacchere e poi smette, a questo punto:
Riavvii, di default se non hai cambiato altro in lilo.conf riparte con il
nuovo kernel.
Adesso sei pronto per ricompilarti il tuo nuovo 2.6.X.
Vai in cd /usr/src (è la directory di default in debian per i sorgenti del
kernel)
rm linux (con i 2.6 fa solo confusione)
tar xjvvf kernel-sourceX-versionechetiinteressa
cd kernel-source-versionechetiinteressa
make clean (serve solo ad assicurarti che vengano cancellati precompilati, se
ti ricompili il kernel altre volte magari per fare cambiamenti minimi non
serve)
make oldconfig (ti carichi la configurazione di default dei kernel-debian, c'è
di tutto, anche di più, ma immancabilmente non c'è mai tutto e solo quello
che vuoi tu), se hai fatto le cose giuste non ti dovrebbe fare nemmeno una
domanda, spara un sacco di chiacchere e se ne esce tranquillo.
può essere interessante salvarti una copia del
file /usr/src/kernel-source-versionechetiinteressa/.config da qualche parte.
make menuconfig (in alternativa grafica make xconfig, mi pare) è ti modifichi
le cose che ti interessano, tipo processore, schede esistenti realmente,
memoria, struttura modulare o no, etc, etc. Non modificare il cramfs che
serve per caricare via initrd, quando vuoi modificare qualcosa dai
un'occhiata all'help.
salvi ed esci dal programma (a questo punto se ti eri salvato una copia del
vecchio .config poi fare un diff tra il vecchio ed il nuovo e ponzarne le
differenze).
sempre nella stessa directory dai:
make-kpkg --initrd --append-to-version.200501211025 --revision TUONOME.nn
kernel_image
(tradotto:
make-kpkg => fammi un pacchetto .deb con un kernel dentro
--initrd => che si carica via initrd
--append-to-version.2... => metti nel nome del kernel che vedrai con uname -r
la chiacchera dopo il punto che, per me vuol dire:
2005 01 12 10 25 (12 gennaio 2005 alle 10 e 25)
--revision TUONOME.nn => serve poi a riconoscere il pacchetto deb creato in
mezzo ad altri con lo stesso nome, nn deve essere un numero, io uso lo stesso
numero di revisione del kernel-debian che ho scaricato, adesso per esempio
per il 2.6.10 è il 4, quindi --revision alex.4
kernel_image => fammi un kernel-image)
dopo l'invio andrà avanti un qualche tempo, fintancoché finirà, come tutte le
cose.
allora:
cd ..
dpkg -i kernel-image-versionechetiinteressa-TUONOME-2005 etc, etc
Ignori i messaggi relativi ad initrd ed altre cavolate, non avrai problemi con
i moduli perché hai provveduto con append-to-version, dai ok per il vecchio
lilo e quando ha finito reboot e via.
A.
p.s.: se hai intenzione di divertirti e pastrocchiare con il kernel, allora
forse ti conviene lasciar fuori dal giro una versione stabile e funzionante,
in tal caso devi dire a lilo dov'è in modo che la escluda dal riciclo. Ma
questo è un altro tema ed ho già fatto perdere troppo tempo a tutti,
soprattutto a me.
p.p.s.: non mi sono riletto bene e potrei essermi mangiato qualche tasto,
correggete pure senza problemi.
Reply to: