Linux installazione Full su pendrive USB e multibootusb

Le pendrive USB oramai offrono  a costi ragionevoli una quantità di spazio in termini GB di tutto rispetto (64/128GB) ,  con prestazioni superiori ad un hard disk tradizionale velocità superiori ai 250MB/s in velocità di lettura che possono superare  i 100 MB/s in scrittura ( Benchmark di chiavette USB flash drive memoria stick pendrive USB in Linux ). Le tradizionali distribuzioni linux Live seppur assistite dalla persistenza purtroppo non risultano abbastanza funzionali. Infatti per la persistenza viene utilizzato un unico file il cui accesso dall’esterno risulta problematico. Inoltre se su partizione FAT32 non rappresentano il massimo in termini di stabilità. Quindi è preferibile anche disporre di una installazione di Linux completa direttamente su USB ( full Linux USB) .

Questa operazione può essere portata agevolmente in porto installando linux direttamente su chiavetta usb come se si trattasse di un hard disk interno.
Il problema del booting può essere affrontato con successo sfruttando la praticità di un tools come multibootusb (  Multibootusb installazione e utilizzo in debian 9.xx ) che consente anche l’avvio diretto delle ISO.
Anzi grazie a multibootusb  potremmo avere a disposizione su una pendrive USB :

  • distribuzioni LIVE avviabili magari con la persistenza
  • distribuzioni linux in formato ISO
  • installazioni complete Linux su USB
  • installazioni clonate full linux
  • copie di backup delle configurazioni di grub ( grub.cfg) dei propri computers.

Il tutto può essere testato ( menu e distribuzioni ) senza riavviare il computer grazie all’opzione Boot ISO/USB che si appoggia all’emulatore  QEMU.

Fattore critico, la chiavetta, che deve essere di buona qualità. Diversamente se ad esempio viene persa la connessione USB si ha il “freeze” del sistema Linux.

Dopo aver installato 2 Live, 4 full distro ( Debian, MX, Ubuntu, Starky )  e aver copiato diverse copie di backups su una chiavetta samsung muf da 128GB il menu GRUB si potrebbe presentare nel modo seguente.

Le voci evidenziate sono ottenute rinominando  i file grub.cfg generati dalle procedure di grub-install  e/o update-grub e copiandoli nella directory grub di multibootusb.

Viste le diverse copie di configurazioni grub.cfg utilizzate  la directory grub di multibootusb potrebbe diventare un po’  affollata.

Le modifiche al file principale grub.cfg sono fatte manualmente e consistono in semplici menuentry che richiamano gli altri file grub.cfg copiati:

#start Avvio MX183-full msdos3
menuentry 'x Avvio MX183-full - msdos3/USB' {configfile /multibootusb/grub/grub_MX183_full.cfg}

Cliccando ad esempio il menu entry  sopra elencato ‘x  avvio MX183 …. ‘  infatti si ottiene un nuovo menu grub.

Come evidenziato sono presenti diverse copie di backup di file grub.cfg rinominati di vari computers.
Infatti può fare comodo avere copie di backup di grub.cfg  per avvi di emergenza sopratutto quando si attivano procedure di manutenzione che coinvolgono gli hard disk.
La schermata di un GRUB.cfg di backup.

Alcune distribuzioni  potrebbero essere installate utilizzando l’opzione per l’avvio diretto delle ISO di nultiboot.
La funzionalità dell’avvio diretto delle ISO è supportata dalla versione 8.9 di multibootusb e utilizza la procedura  ( MultiBoot USB avviare ISO da pendrive USB ) di Agus Lopez. Le ISO che sono accessibili con menu <scan and boot ISOs under /multibootusb/iso -> però non possono trovarsi nella stesso disco su cui si effettua l’installazione.

Un elenco di  ISO automaticamente individuate e direttamente avviabili in una chiavetta con multibootusb.

L’installazione della distribuzione linux su chiavetta USB avviene in modo tradizionale.
E’ importante prestare attenzione alla gestione del partizionamento.
E preferibile partizionare preventivamente la chiavetta USB. La partizione per multiboot è bene che sia di tipo FAT32. In questo caso è di circa 40 GB.
Il partizionamento potrebbe essere sia MBR che GTP.  Visto l’uso anche come chiavetta per avvi di emergenza si può optare per la soluzione più conservativa la MBR.

L’installazione è bene che sia tutta su una sola partizione quella di root ( /).

E’ meglio evitare la creazione della partizione di swap, per non stressare troppo l’unità usb .

All’atto dell’installazione potrebbe essere preferibile non installare grub così da evitare la sovrascrittura e di dover reinstallare il bootloader di multibootusb.

Quando si dispone di una distribuzione linux full installata è possibile con una ISO Live e la modalità chroot lanciare il comando  l’update-grub e ottenere un nuovo file.grub.cfg in grado di avviare TUTTE le full presenti nella pendrive usb. Queste operazioni possono essere eseguite a livello di emulatore QEMU supportato da multibootusb.

In figura MX 8.3 Live da ISO nell’ ambiente QEMU.  I comandi usati per ottenere il file grub.cfg sono visibili nel terminale.

MX è installato nel partizione sda3.

sudo su
mount /dev/sda3 /mnt

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

adesso lavorariamo grazie a chroot sul sistema montato

chroot /mnt

aggiorniamo grub con

update-grub

uscire  da chroot e smontare i percorsi del sistema

exit

umount /mnt/dev
umount /mnt/proc
umount /mnt/sys 

umount /mnt

 

Sempre dall’interno della Live si può copiare il file grub.cfg in multimediausb/grub

mkdir /media/sda1     # partizione FAT32 con multibootusb
mkdir /media/sda3     # partizione ext4 per MX 18.3 

mount /dev/sda1  /media/sda1
mount /dev/sda3  /media/sda3

per sicurezza meglio avere una copia del grub.cfg di multibootusb

cp /media/sda1/multibootusb/grub/grub.cfg   /media/sda1/multibootusb/grub/grub_copia.cfg

copiare rinominando il file grub.cfg prodotto con l’update-grub per l’avvio delle Live

cp /media/sda3/boot/grub/grub.cfg /media/sda1/multibootusb/grub/grub_Lfull.cfg

il menu entry

#start Avvio grub 2 personal 
menuentry 'x Avvio Full Linux - All/USB' {configfile /multibootusb/grub/grub_full.cfg}

consentirà di visualizzare la seguente schermata grub

 

 

Risorse:

Annunci