dal 2015 - visita n. 872
SysLinux
SysLinux

 

SysLinux



Creazione di una chiavetta USB multiboot

Mi piace provare ed utilizzare diverse distribuzioni Linux, e poichè alcune di esse sono più adatte per determinati compiti sarebbe opportuno poter scegliere di volta in volta quella più adatta alla situazione. Ma se è una comodità poterle installare nelle chiavette USB, non è molto pratico portarsene in giro un portachiavi stracolmo. A differenza dei CD/DVD Live le chiavette possono essere predisposte con il meccanismo della persistenza che consente di mantenere in memoria le impostazioni e le variazioni effettuate durante il proprio lavoro.
Grazie a Syslinux si può, però, creare abbastanza facilmente una singola chiavetta USB multiboot con tutto il necessario per una vita da geek: ogni volta che viene chiesto un intervento di riparazione sui computer degli amici tutto il necessario salta fuori come con una bacchetta magica. E, soprattutto, anche se ci si trova lontani da casa e senza il computer portatile, si può avviare la versione live preferita di Linux personalizzata e con tutti i programmi desiderati.

L'ipotesi di sviluppo è quella di lavorare su un sistema Linux, non importa quale esso sia. Il procedimento è abbastanza semplice e si può riassumere nei seguenti punti:

La prima verifica da effettuare è che il sistema su cui si sta lavorando abbia già installato il pacchetto Syslinux, altrimenti occorrerà provvedere ad installarlo tramite il gestore di pacchetti della propria distribuzione.
Con Debian o Ubuntu l'installazione si effettuerà, ad esempio, con

apt-get install syslinux

La maggior parte delle distribuzioni memorizzerà i file necessari nella cartella /usr/lib/syslinux, alcune invece nella cartella /lib/syslinux.


1 - Scelta della chiavetta
Nella scelta della chiavetta occorrerà essere lungimiranti sia per le dimensioni, sia per la classe di velocità. Non si tratta, infatti, di tenere memorizzati dei dati da leggere saltuariamente, ma di avere una pronta reattività per far funzionare bene un sistema operativo.
Dovendo procedere ad installare parecchi sistemi operativi e svariati tools di diagnostica una dimensione utile potrebbe essere quella di 16 GB, invece per effettuare qualche test di prova (con un paio di sistemi operativi) andranno bene anche 4 GB.
Per la velocità è bene non lesinare, altrimenti i tempi di attesa per caricare il sistema si allungano in modo indesiderato. E' meglio effettuare un semplice test, per il quale occorre che sia installato il pacchetto hdparm, altrimenti si provvederà ad installarlo con il solito metodo:

apt-get install hdparm

Inseriamo la chiavetta e verifichiamo con quale identificativo viene montata:

fdisk -l

il risultato sarà qualcosa del tipo:

Disk /dev/sda: 500 GB, 500105249280 bytes
... omissis ...

Disk /dev/sdb: 122 GB, 122935034880 bytes
... omissis ...

Disk /dev/sdf: 16 GB, 15718510080 bytes
255 heads, 63 sectors/track, 1911 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Assodato che il nostro dispositivo USB da 16 GB è stato montato come sdf, possiamo effettuarne il test di velocità, con il comando:

hdparm -t /dev/sdf

Dopo alcuni secondi apparirà il risultato:

/dev/sdf:
Timing buffered disk reads: 60 MB in 3.08 seconds = 19.45 MB/sec

che ci dà una indicazione della velocità in lettura del dispositivo USB che utilizzeremo nelle nostre prove. In questo caso abbastanza buona.
Quando si acquista un dispositivo di memoria USB di solito non è possibile effettuare un test di velocità, ma ci si deve affidare alle indicazioni riportate sulla confezione che in genere sono la classe di appartenenza e la velocità espressa in X. Per queste ultime basta considerare che la velocità indicata deve essere moltiplicata per un fattore 0,15, quindi, ad esempio, una chiavetta 50X viene data per una velocità in lettura di 7,5 MB/sec.
Le diciture classe 4, classe 6, classe 10 rappresentano, invece, l'assicurazione che la velocità in scrittura (in MB/sec.) non sarà mai inferiore al numero della classe. Ad esempio una classe 6 viene garantita per una velocità minima di 6 MB/sec, anche se molto spesso raggiungerà i 15/20 MB.


2 - Formattazione della chiavetta
Potremmo formattare, molto semplicemente, la chiavetta con un'unica partizione dotata del classico file system FAT32, ma tenendo presente che il problema della persistenza viene risolto in modalità diverse a seconda delle distribuzioni da installare, sarebbe meglio essere previdenti.
Molte distribuzioni attuano la persistenza con l'ausilio di un file che viene utilizzato come una pseudopartizione formattata secondo le necessità. Però se questo file-partizione, come di solito avviene, viene creato dentro la stessa partizione FAT32 non potrà essere più grande di 4 GB, che è il limite imposto per i file dalla tecnologia FAT32.
Alcune distribuzioni permettono, invece, di estendere abbondantemente questo limite usando una partizione aggiuntiva ext2 che dovrà riportare una precisa etichetta: casper-rw per Ubuntu e derivate, live-rw per Debian e derivate.

Nelle nostre prove realizzeremo una chiavetta da 16 GB in dual boot contenente Porteus e Debian Live, entrambe nelle versioni a 32 bit. Tale scelta è dettata dal fatto che la chiavetta verrà usata in computer molto diversi tra di loro e, talvolta, non necessariamente a 64 bit. La persistenza di Porteus sarà assicurata da un apposito file creato nella partizione FAT32, mentre la persistenza di Debian verrà realizzata con la partizione aggiunta live-rw.

Procediamo quindi, con l'uso di gparted, a formattare la chiavetta:


La partizione FAT32 deve essere la prima ed avere il flag di boot attivo. E' consigliabile che abbia anche una etichetta per agevolarne l'individuazione, nel caso di sovraffollamento di dispositivi e partizioni, come spesso succede a chi sperimenta.


3 - Installazione di Syslinux ed MBR

Inseriamo la chiavetta e verifichiamo con quale identificativo viene montata, con il comando fdisk -l, come già fatto in precedenza; supponiamo che la prima partizione FAT32 venga vista come /dev/sdf1.
A questo punto lavoreremo sempre nella prima partizione, da amministratori:

mkdir syslinux
syslinux -d syslinux -i /dev/sdf1
dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdf

A questo punto abbiamo concluso la realizzazione del telaio funzionale vuoto della chiavetta: creazione della cartella syslinux per la gestione del sistema, installazione del boot loader, copia del Master Boot Record.


4 - Copia delle distribuzioni

Supponiamo di avere scaricato le nostre 2 distribuzioni che chiameremo semplicemente: porteus.iso e debian.iso. Sempre da amministratori eseguiremo


















Techne
SysLinux



Vivere è la cosa più rara del mondo. Molta gente esiste: ecco tutto.
Oscar Wilde

Valid CSS!
pagina generata in 0.001 secondi