Installare Ubuntu su una pen drive USB

Installare Ubuntu su una chiavetta è possibile. La guida che mi prefiggo a scrivere è valida per qualsiasi sistema operativo Linux provvisto di una versione LiveCD. Io comunque rimango un affezionato ad Ubuntu e quindi tutto gira intorno ad esso (e basta!).
Gli "ingredienti" indispensabili sono:

- un LiveCD Ubuntu, scaricato da internet in versione ISO;
- una pen drive da almeno 1 GB;
- un PC con Ubuntu installato.

Per prima cosa occorre inserire la chiavetta nella presa USB e farla riconoscere. Per essere sicuri di conoscere il dispositivo associato, lanciare il comando da terminale:
- sudo fdisk -l
La risposta che otterrete dovrebbe essere /dev/sdb, oppure sdc o sde, dipende dal vostro sistema e dalle periferiche collegate.
Attenzione: utilizzando un nome di dispositivo sbagliato, potreste distruggere la vostra partizione di sistema; si prega di verificare prima di procedere!
Verificare quindi di smontare ogni partizione attiva:
- sudo umount /dev/sdb1
quindi lanciate fdisk, uno strumento per modificare le partizioni sotto linux:
- sudo fdisk /dev/sdb
ora dobbiamo creare due partizioni, una da 750 MB dove metteremo i file del LiveCD, ed un'altra che ci servirà in seguito.
Al prompt dei comandi digitate d x, dove al posto di x metterete il numero della partizione da selezionare. Nel nostro caso, avendo una chiavetta non ancora partizionata, basterà digitare solo d. Quindi procedete seguendo lo schema:

- N per creare una nuova partizione

- P per renderla primaria

- 1 ed è quindi la prima partizione primaria

- Accettare il valore predefinito o digitare 1 per iniziare dal primo cilindro

- +750 M per rendere la partizione primaria grande 750 MB

- A per rendere attiva la partizione di boot

- 1 a scegliere la partizione 1

- t per cambiare il tipo di partizione

- 6 per impostarla su FAT16.

A questo punto la prima partizione è stata creata; adesso dobbiamo creare la seconda:

- N, ancora una volta, per creare una nuova partizione

- P per renderla primaria

- 2 per essere la seconda partizione

- Accettare l'impostazione predefinita digitando Invio

- Accettare l'impostazione predefinita per rendere la vostra partizione il più grande possibile

- Infine, digitare w per scrivere la modifica sulla tua pendrive USB.

A questo punto abbiamo le due partizioni. Dobbiamo quindi formattarle.
La partizione 1 deve essere formattata FAT16, digitando, sempre da terminale:
- sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1
La seconda partizione deve essere di tipo ext2 con un blocco di 4096 byte e l'etichetta casper-rw altrimenti la guida non funziona!
- sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2
A questo punto la pen drive è pronta per ricevere l'installazione di Ubuntu.
Dobbiamo creare una directory temporanea, dove poter montare la ISO di Ubuntu, come ad esempio /tmp/ubuntu-livecd:
- mkdir /tmp/ubuntu-livecd
- sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd
Chiaramente al posto di feisty-desktop-i386.iso andrete a sostituire il nome della vostra ISO.
Ora passiamo al montaggio delle partizioni sulla chiavetta USB. Il montaggio dovrebbe essere automatico, una volta inserita la pen nello slot USB, ma se ciò non dovesse accadere occorre farlo manualmente in questo modo:
- mkdir /tmp /liveusb
- sudo mount /dev/sdb1 /tmp /liveusb
Finalmente possiamo copiare i files!
- cd /tmp/ubuntu-livecd
- sudo cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /tmp/liveusb/
In ogni caso, la lista di file che compare nel comando può non essere esattamente compatibile con la vostra versione. I file necessari, che dovrete andare a scrivere nel comando, devono contenere necessariamente le directory: 'casper', 'disctree', 'dists', 'install', 'pics', 'pool', 'preseed', '.disk', il contenuto della directory 'isolinux' e i files 'md5sum.txt', 'README.diskdefines', 'ubuntu.ico', 'casper/vmlinuz', 'casper/initrd.gz' e 'install/mt86plus'.
Tieni presente che al 99% il comando ti darà erori nella creazione di directory, ma non preoccuparti. Vai avanti lo stesso con l'installazione.
Ora entra nella prima partizione del tuo disco usb e rinomina isolinux.cfg in syslinux.cfg
- cd /tmp /liveusb
- sudo mv isolinux.cfg syslinux.cfg

Modifica syslinux.cfg:

DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL persistent
menu label ^Start Ubuntu in persistent mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
menu label ^Start or install Ubuntu
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
menu label Start Ubuntu in safe ^graphics mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
menu label ^Check CD for defects
kernel vmlinuz
append boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL memtest
menu label ^Memory test
kernel mt86plus
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt
Finalmente abbiamo la nostra chiavetta "quasi" utilizzabile. Per rendere tutto funzionante dobbiamo renderla avviabile. Prima però abbiamo bisogno di syslinux e mtools.
- sudo apt-get install syslinux mtools
E infine smontare /dev/sdb1 e renderlo avviabile.
cd
sudo umount /tmp/liveusb
sudo syslinux -f /dev/sdb1
Ora riavviate il sistema, entrate nel BIOS, settatelo affichè il boot avvenga da USB ed il gioco è fatto! Gancjo.
Reactions

Posta un commento

7 Commenti

matpil ha detto…
tutto chiaro e tutto fatto.
Al momento del boot però mi succede una cosa... strana.
Si carica syslinux e mi appare la schermata della lingua da scegliere. Scelto Italiano, mi compare la schermata delle varie modalità (persistent, live ecc.). Scegliendo persistent mi compare un "popup" con scritto boot loader /casper/vmlinuz ed un tasto OK da premere.

Ecco... la mia avventura finisce qui... se premo OK torna alla schermata delle varie modalità, altrimenti resta "bloccato" sull'OK.

qvete qualche idea?

ps nota dell'ignorante... ma /casper/vmlinuz è un path che deve esistere? o vm sta per virtual machine? ...o nessuno dei 2!
gancjo ha detto…
Ciao, francamente non ho riscontrato quel tipo di errore. Devo ammettere che è già da un po' che ho provato e la memoria inizia ad avere dei buchi. Per un aiuto puoi provare sul forum di supporto di Ubuntu, ad esempio qui: http://forum.ubuntu-it.org/index.php?theme=5&topic=150964.msg1476988.
Fammi sapere, così magari possiamo aiutare qualcun altro che ha lo stesso problema.
Anonimo ha detto…
Ho fatto tutto quanto hai detto, perché dopo un pomeriggio intero le procedure automatiche non funzionavano e allora sono passato a quelle manuali.
Dopo un bel po' sono riuscito a far tutto, il boot si esegue, sceglo la modalità persistente.......e mi appare solo il terminale.
Dov'è la GUI? Ho bisogno del desktop grafico!
gancjo ha detto…
Ma prego, prego, prego...
Anonimo ha detto…
Anche a me come matpil... :( e sul forum che consigli non ho trovato nulla :(

Gancjo...illuminaci ti prego, non lasciarci brancolare nel buio... :'(

vis
gancjo ha detto…
Ti consiglio di usare la funzione già implementata in Intrepid Ibex. L'ho provata e funziona benissimo. La spiegazione la trovi qui: http://gancjo.blogspot.com/2008/11/ubuntu-intrepid-ibex-su-chiavetta-usb.html
Close Menu