giovedì 21 settembre 2017

Extlinux: bootloader alternativo per PCLinuxOS anche per partizioni logiche



Dopo i recenti cambiamenti del grub, la versione 2 non è più installabile nella partizione root di sistema ma solo nell'MBR. Le vecchie versioni di grub non sono più reperibili e LILO è possibile installarlo in partizioni root ma non logiche. Come risolvere questo problema su PCLinuxOS ma anche tutte le altre distro Linux ? Attualmente esiste ancora una soluzione: EXTLINUX

Extlinux, successivamente inglobato in Syslinux, su PCLinuxOS è possibile installarlo da Synaptic di cui per il funzionamento si appoggerà in ogni caso a Syslinux per funzionare.
Il metodo di configurazione non è molto pratico come Grub che fa tutto in automatico oppure come Lilo (anche se lilo è consigliatissimo eseguirlo dopo aggiornamento importante in modalità superutente per garantire il funzionamento del boot al riavvio).
Ma in ogni caso la procedura di configurazione, anche se manuale, è veramente molto semplice e una volta capito ci si mette anche meno di 5 minuti per renderlo attivo.
Ecco come bisogna fare (valido per PCLinuxOS ma penso che vada bene anche per le altre distro):

INSTALLAZIONE

Installare extlinux  da synaptic e dopo con permessi di superutente creare la cartella extlinux in /boot
Sempre in modalità superutente digitare da terminale:

extlinux --install /boot/extlinux

Questa operazione renderà extlinux come nuovo bootloader.
ora per renderlo funzionante e attivo bisogna copiare dei files dalla cartella /usr/lib/syslinux in /boot/extlinux
I files sono:

cmenu.c32 , libcom32.c32 , libmenu.c32 , libutil.c32 , menu.c32 , vesamenu.c32

Dopo creare all'interno di /boot/extlinux il file di configurazione extlinux.conf

Ora per capire il contenuto totale della cartella  boot/extlinux se corrisponde bene a tutto verificate con il comando:

cd /boot/extlinux
ls -l

vi dovreste trovare con questa lista di files:

-rw-r--r-- 1 root root   3644 apr  9  2015 cmenu.c32
-rw-r--r-- 1 root root    249 set 21 14:41 extlinux.conf
-r--r--r-- 1 root root 116524 set 21 14:34 ldlinux.c32
-r--r--r-- 1 root root  61440 set 21 14:34 ldlinux.sys
-rw-r--r-- 1 root root 182444 apr  9  2015 libcom32.c32
-rw-r--r-- 1 root root  24024 apr  9  2015 libmenu.c32
-rw-r--r-- 1 root root  23468 apr  9  2015 libutil.c32
-rw-r--r-- 1 root root  25652 apr  9  2015 menu.c32
-rw-r--r-- 1 root root  26176 apr  9  2015 vesamenu.c32

Ora modificare il file che avete creato prima extlinux.conf
e inserite questi parametri per l'avvio del sistema:

UI vesamenu.c32

 LABEL vmlinuz
   MENU LABEL PCLinuxOS (^default)
   LINUX /boot/vmlinuz
   INITRD /boot/initrd.img

LABEL failsafe
   MENU LABEL Linux (^failsafe mode)
   LINUX /boot/vmlinuz
   INITRD /boot/initrd.img
   ADDAPPEND failsafe vga=normal

Con questo potete avviare il sistema con extlinux funzionante.
È chiaro che questa è una configurazione base per avviare il sistema da vmlinuz.
Essendo che il sistema non riconosce realmente extlinux come bootloader, a volte non avviene neanche il processo di aggiornamento di vmlinuz se viene aggiornato il kernel.
Quindi ogni volta che aggiornate il kernel, controllate se vmlinuz si è aggiornato al nuovo kernel, in caso negativo bisogna aggiornare extlinux ed inserire il nuovo kernel in extlinux.conf aggiungendo voci nuove ma uguali a quelle inserite prima con riferimento al nuovo kernel, per esempio

 LABEL vmlinuz
   MENU LABEL PCLinuxOS (nuovo kernel)
   LINUX /boot/vmlinuz-4.12.14-pclos1
   INITRD /boot/initrd-4.12.14-pclos1.img

Un ultimo dettaglio nel caso dovesse esserci un aggiornamento di versione di extlinux.
Dopo l'installazione eseguite questo comando per aggiornarlo al sistema:

extlinux --update /boot/extlinux 

Così extlinux sarà aggiornato alla nuova versione a al nuovo funzionamento.

CONCLUSIONE:
Questa è una configurazione base per avviare extlinux e il sistema operativo. È possibile anche inserire aggiuntivamente sfondi, timer ecc.
In pratica il metodo è molto semplice anche se purtroppo manuale.
È chiaro che per essere avviato ci deve essere un boot loader già preinstallato nell'MBR di un'altra distro o meglio il GAG Bootmanager che rileverà l'installazione e l'esecuzione di extlinux sulla partizione.
Metodo molto utile per chi ha molte distro installate su più partizioni (compreso le logiche) e per chi ha bootmanager come il GAG; extlinux diventa così davvero una vera salvezza :-)

Nessun commento:

Posta un commento