Linux in una chiavetta Usb.

Di Matteo Campofiorito.

Piccola guida a una distribuzione Linux che si installa su una pendrive di appena 128 Mbyte.

ZEUS News.

www.zeusnews.it.

17-01-2005.

"Linux  obsoleto". La frase venne pronunciata da Andrew Tanenbaum in una famosa discussione avuta con Linus Torvalds. A distanza di anni, Tanenbaum  stato
smentito dalla potenza e versatilit del kernel open source creato dall'allora giovane ingegnere Finlandese. Il kernel Linux  talmente adattabile da poter
funzionare utilizzando qualsiasi dispositivo di memorizzazione, non soltanto hard disk o Cd-Rom ma anche l'ultima moda in fatto di storage: le pendrive
Usb.

Le distribuzioni Gnu/Linux pi promettenti che funzionano su chiavette Usb sono
Runt
e
Knopperdisk.

La prima arrivata alla versione 4.0  basata su
Slackware 10.0
e utilizza il kernel 2.4.26.

Knopperdisk  appena alla versione 0.2.1, si basa su
Gentoo
e utilizza il kernel 2.6.10. Entrambe sono distribuzioni Gnu/Linux complete che si installano su una pendrive Usb con capienza di 128 Mbyte. Vedremo in
pratica le procedure per installare e rendere funzionante Runt supponendo di eseguire le operazioni richieste su una distribuzione Gnu/Linux funzionante
e loggati come utente root.

Per cominciare sar necessario scaricare il file compresso runt-4.0.zip che contiene la distribuzione e gli script di installazione. Le chiavette Usb sono
viste dal kernel come dispositivi Scsi e dunque denominate come sda con numerazione crescente a seconda di quanti dispositivi usb sono connessi contemporaneamente
(es. sda1, sda2 etc).

Come tutti i dispositivi, anche le pendrive Usb sono rese disponibili in Linux sotto forma di file (di solito presenti nella directory /dev) che devono
essere montati in una directory del nostro filesystem per essere letti e scritti.

Supponiamo che la nostra chiavetta sia identificata dal kernel come /dev/sda1 e immaginiamo inoltre di aver creato la directory /pendrive all'interno di
/mnt. Il comando che dovremo dare da utente root per rendere accessibile il nostro dispositivo di memorizzazione sar:

# mount -t msdos /dev/sda1 /mnt/pendrive
Portiamoci nella directory in cui abbiamo salvato runt-4.0.zip, e scompattare il file .zip direttamente all'interno della pendrive appena montata con il
comando:

# unzip runt-4.0.zip -d /mnt/pendrive (estrae il file zip nella directory che segue il flag -d)
A questo punto avremo all'interno di /mnt/pendrive due directory linux e runtutil.

Chi ha la fortuna di poter impostare da Bios come prima unit avviabile la propria chiave Usb dovr portarsi nella directory runtutil ed eseguire makeboot.sh
che render avviabile la pendrive (o makeboot.bat se si sta eseguendo la procedura da Windows):

# sh makeboot.sh
Chi invece non ha la possibilit di eseguire il boot dalla pendrive potr approntare un floppy disk ad hoc che permetter l'avvio e in seguito consentir
di eseguire il sistema Gnu/Linux presente su pendrive Usb. Bisogner in questo caso eseguire mkfloppy.sh (o mkfloppy.bat se si esegue la procedura da Windows):

# sh mkfloppy.sh
A questo punto potremo riavviare lasciando il floppy inserito, far caricare il kernel in memoria e aspettare i messaggi a video. Il bootdisk ci dar il
benvenuto e ci chieder quale device avviare (di default /dev/sda1). Chi avesse un diverso numero di identificazione della propria pendrive dovr dare
i seguenti comandi al boot prompt:

boot: usb root=/dev/sdax (sostituendo x con il numero identificativo del proprio dispositivo usb)
Se tutto  andato per il verso giusto il sistema verr avviato e al termine dei messaggi di boot potremo loggarci come root al prompt della shell e trovarci
all'interno di un sistema Gnu/Linux perfettamente funzionante e dotato di tutte le utility e i programmi presenti in una vera e propria Slackware.

Potremo addirittura configurare l'indirizzo Ip della nostra macchina e relativi parametri di rete eseguendo l'utility netconfig e navigare su Internet utilizzando
il browser testuale Links.

Matteo Campofiorito.

