Buongiorno a tutti.

Sul mio blog, tempo fa, ho mostrato come installare SUSE Linux Enterprise Server 10 in una macchina virtuale in esecuzione su Hyper-v e quindi installare gli Integration Components for Linux.

Non ho mai preso in considerazione come fare ad aggiornare il kernel di Linux e mantenere funzionanti gli Integration Components.

Rimedia a questa mia mancanza, con un ottimo articolo, Antonio Giuliana.

Antonio è un ottimo tecnico fedele “seguace” di TechNet e lavora nel dipartimento IT di Camera dei Deputati dove è presente un ambiente misto Microsoft/Linux/UNIX.

Riporto qui sotto in versione integrale il testo della procedura che mi ha inviato Antonio.

<Antonio Giuliana>

Problema

Dopo aver installato un server virtuale con il sistema operativo Suse Linux Enterprise Server 10 SP2 (SLES 10 SP2, kernel 2.16.60-0.21.xen) dotato delle Integration Components per Hyper-V, si rende necessario effettuare un aggiornamento del kernel della stessa VM, in modo da portare il kernel alla versione 2.16.60-0.29.xen.

 

Soluzione

I passi da seguire sono i seguenti

  • Eseguire il boot a partire dalla voce di menu XEN.
  • Il kernel che viene caricato è il 2.16.60-0.21.xen

figura1

  • Dopo aver effettuato il login con l’utente root, avviare il sistema di aggiornamento che trova le 4 patch che aggiorneranno il kernel
  • Dopo averle selezionate, si lanciare l’aggiornamento

figura2

 

 

  •  

    Dopo aver fornito alcune conferme, la procedura di aggiornamento inizia a funzionare e dopo un certo tempo si conclude con la richiesta di reboot del sistema
  • Al riavvio, il menù di GRUB si presenta come nell’immagine seguente:

figura3

  • È importante selezionare, prima del timeout, la prima voce del menu (Xen – SUSE Linux Enterprise Server 10 SP2 – 2.6.16.60-0.29) senza però lanciare il boot
  • A questo punto, premere il tasto E per modificare la voce di menù selezionata. Apparirà la schermata mostrata nell’immagine sottostante, in cui si deve selezionare la riga: kernel /boot/xen.gz 

figura4

  • Per modificare la voce selezionata premere ancora il tasto E
  • Modificare la linea in: kernel /boot/x2v-32.gz

figura5

  • E’ ora possibile premere il tasto B per effettuare il boot della macchina virtuale. LA VM si avvierà mostrando una serie di errori a causati dalla mancanza delle Integration Components per la nuova versione del kernel. Ignorare gli errori e continuare il boot fino alla schermata di login.
  • Fare login con l’utenza root, avviare una sessione di terminale e lanciare il comando /opt/linux-ic/setup.pl  drivers per reinstallare le Integration Components.
    A
    ttenzione: si presuppone che le Integration Components siano state copiate in precedenza nella cartella denominata linux-ic posta sotto /opt, anche perchè installate in precedenza per la versione 2.16.60-0.29.xen del kernel, ).
  • Alla termine della procedura di reinstallazione dei driver, la schermata dovrà presentarsi similmente alla seguente

figura6

  • A questo punto, sempre tramite il terminale, digitare il comando: gedit /boot/grub/menu.lst e modificare il file, variando le seguenti linee
    default 0 al posto di default 1
    kernel /boot/x2v-32.gz al posto di kernel /boot/xen.gz nella prima entry.
    E’ inoltre possibile eliminare tutte le linee dell’ultima entry (xen), quella compresa tra la Failsafe e la Floppy.
  • Il file si presenterà come nella seguente immagine e potrà essere salvato su disco al posto del precedente (voce Save)

figura7

  • Dopo un reboot del sistema, il menu sarà il seguente

figura8

  • Dopo il boot e il login con root, aprendo una sessione di terminale sarà possibile controllare il corretto avvio dei driver delle Integration Components nella nuova versione del kernel (2.6.16.60-0.29.xen).

     

(Nota: tutti i nomi dei server, MAC, IP e configurazioni di rete sono utilizzati solamente per questo esempio)

 

<Antonio Giuliana />

L’articolo di Antonio termina qui. Sono sicuro che la procedura sarà utile a molte persone.

Grazie ancora ad Antonio e buona giornata a tutti.

Giorgio