Kernel panic -Come ripristinare vecchio kernel?

6 risposte [Ultimo messaggio]
Ritratto di zioandrea
zioandrea
(Geek)
Offline
Geek
Iscritto: 06/04/2013
Messaggi: 84

Salve,
l'altra sera, verso mezzanotte, ho fatto una mezza cavolata. Sad
Per installare un nuovo pacchetto ho inavvertitamente aggiunto il repository leap-42.2 alla mia 42.1.
Subito mi è partito un aggiornamento da 3600 pacchetti.
Con gli occhi sempre più socchiusi ho dato "installa" e mi sono ritrovato con la Leap-42.2.

Devo dire che pur essendo una beta, mi sembra meglio della 42.1

Il guaio è successo oggi!
Mi è partito un nuovo aggiornamento con cambio di kernel e al riavvio ho un angosciante KERNEL PANIC

Sono riuscito a ripartire con il vecchio kernel
Però, adesso non so come eliminare quello nuovo.

- In /boot ci sono entrambi
- Se vado in YAST trovo solo il nuovo kernel.
- Se cerco con rpm trovo

$  rpm -qa | grep kernel
kernel-devel-4.4.25-4.1.noarch
kernel-firmware-20160516git-3.1.noarch
kernel-default-4.4.25-4.1.x86_64
kernel-macros-4.4.25-4.1.noarch
kernel-default-devel-4.4.24-1.1.x86_64
kernel-default-4.4.24-1.1.x86_64
kernel-default-devel-4.4.25-4.1.x86_64
kernel-devel-4.4.24-1.1.noarch

Il kernel buono è kernel-devel-4.4.24-1.1

Due domande
1) perché c'è questa differenza tra Yast e rpm ?
2) come faccio ad eliminare in modo sicuro il kernel-devel-4.4.25-4.1 ?

Istintivamente, eliminerei tutti i pacchetti "4.4.25-4.1" e cambierei il link di /boot/vmlinuz.
Però, preferisco aspettare qualche saggio consiglio prima di fare nuovi guai.

Andrea

Ritratto di dragoncello
dragoncello
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/07/2005
Messaggi: 2730

https://it.opensuse.org/SDB:Tenere_installate_pi%C3%B9_versioni_del_kernel
ciauz

SUSE Tumbleweed- kernel-5.3.12-1.2- kde-plasma-5.17.3.1- Intel Core i7 Asus P9x79 pro GeForce GTX 560-driver Nvidia-390.132.51- SSD samsung 850 pro 512 gb http://opensuse-community.org/

Ritratto di zioandrea
zioandrea
(Geek)
Offline
Geek
Iscritto: 06/04/2013
Messaggi: 84

Mi sembra che spieghi più come tenere i kernel vecchi piuttosto che come eliminare quello nuovo.

Quindi ho provato a modificare la seconda riga da
multiversion.kernels = latest,latest-1,running
a
multiversion.kernels = latest,latest-1,latest-2,4.4.24-1.1,running

spero che così non mi elimini la versione 4.4.24-1.1 al riavvio.

Poi da Yast ho tolto a tutti i repository la possibilità di fornire aggiornamenti (rischiosi).
Questo dovrebbe permettermi di lavorare tranquillo fino alla release di leap-42.2

Cosa succede se tolgo "latest", riavvio e lo rimetto?
Al primo reboot dovrebbe eliminarmi l'ultimo kernel e il "latest-1" dovrebbe diventare "latest". Giusto?

Andrea

Ritratto di Grinch
Grinch
(Guru)
Offline
Guru
Iscritto: 05/12/2011
Messaggi: 881

Io agirei in modo diverso attraverso > Yast > boot loader > opzioni boot loader > sezione di avvio di default e metto il kernel che va .
Bloccarne l' aggiornamento non lo farei , al prossimo aggiornamento o quando funziona lo metto di nuovo di default

Ritratto di dragoncello
dragoncello
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/07/2005
Messaggi: 2730

Tenere i kernel più vecchi come riserve
 
Casi d'uso: Vuoi tenere una o più versioni di kernel meno recenti per avere uno o più kernel di riserva. Questo si rivelerebbe utile se, per esempio, si volessero installare kernel unstable a scopo di test. In caso qualcosa andasse storto con un nuovo kernel ustable, ovvero la tua macchina non si avviasse più, avresti ancora una o più versioni precedenti del kernel installate e note per non avere problemi, con cui potresti avviare il tuo computer.
 
Configurazione: Aggiungi uno o più parametri di configurazione latest-N alla riga con multiversion kernel in /etc/zypp/zypp.conf. La riga di esempio qui sotto farà sì che sul tuo sistema vengano sempre mantenute le ultime due versioni dei kernel precedenti:
 
multiversion.kernels = latest,latest-1,latest-2,running
 
Spiegazione: Quando avrai riavviato il sistema dopo l'installazione di un nuovo kernel, il sistema manterrà
 
    il kernel nuovo e in esecuzione, come configurato con latest,running
    la versione del kernel precedente a quella del kernel nuovo, come configurato con latest-1
    il predecessore della versione del kernel precedente, come configurato con latest-2
 
e rimuoverà tutte le versioni più vecchie del kernel.
 
Se vuoi preservare dei particolari numeri di versione del kernel, è sufficiente aggiungere un altro parametro di configurazione latest-N alla riga con multiversion kernels. Se per esempio si volessero preservare quattro versioni aggiuntive del kernel, allora la riga dovrebbe essere simile a questa:
 
multiversion.kernels = latest,latest-1,latest-2,latest-3.latest-4,running
 
con la quale verrebbero lasciati cinque kernel tra quelli installati: quello nuovo e le quattro versioni precedenti.
 
Il risultato opposto si può ottenere usando i parametri oldest e oldest+N. Un'espressione multiversion kernels come questa
 
multiversion.kernels = latest,oldest,oldest+1,running
 
lascerà il tuo sistema con
 
    la versione del kernel più recente e in esecuzione, come configurato con latest,running
    la versione più vecchia del kernel, come configurato con oldest
    il successore della versione più vecchia del kernel, come configurato con oldest+1

mi sembra che parla anche del vecchio,o leggo male,devi commentare il file /etc/zypp/zypp.conf, mettendo un # davanti a multiversion,se vuoi tenere piu kernel lasci tutto come sta,segui anche quello che ti propone Grinch.Io di solito commento zypp/conf,e aggiorno il kernel più recente..e non mai avuto problemi,potresti installarti l'ultimo kernel 4.8.3,aggiungendo il repository adeguato commentando zypp.conf e credo anzi ti sparisce da boot il doppio kernel.

SUSE Tumbleweed- kernel-5.3.12-1.2- kde-plasma-5.17.3.1- Intel Core i7 Asus P9x79 pro GeForce GTX 560-driver Nvidia-390.132.51- SSD samsung 850 pro 512 gb http://opensuse-community.org/

Ritratto di zioandrea
zioandrea
(Geek)
Offline
Geek
Iscritto: 06/04/2013
Messaggi: 84

Le indicazioni che mi hai dato sono state molto utili per evitare che il vecchio kernel venga rimosso.
Questo risolve il problema più urgente, ossia di poter usare il PC senza reinstallare tutto.
A questo punto potrei anche mettere "risolto"

Il passo in più che avrei voluto fare (e forse mi sono spiegato male) è quello di far scomparire dal disco e da Grub il nuovo mefitico kernel che mi manda il sistema in kernel panic in meno di 2 secondi, quasi non inizia neanche la procedura di boot.

Mi sono trovato in imbarazzo con Yast perché non vedendo gli rpm del vecchio kernel non mi fido a cancellare quelli del nuovo.

Andrea

Ritratto di gi-gi
gi-gi
(Moderatore)
Offline
Moderatore
Iscritto: 09/12/2014
Messaggi: 418

Ciao.

Per eliminare a mano i file del pacchetto kernel-default-4.4.25-4.1, da utente root, vai in /boot ed elimina tutti i file che contengo 4.4.25 (dovrebbero essere 7), poi, sempre come utente root vai in /lib/modules/ ed elimina tutta la directory 4.4.25-4.1-default.

Ti resterebbe infine da eliminare la voce dal menu di avvio (potresti anche lasciarla, tanto dopo le cancellazioni di cui sopra non lancia più nulla), ma se vuoi eliminarla fai una copia, sempre da root, del file /boot/grub2/grub.cfg e postala così vediamo esattamente cosa cancellare.

gigi