4.3. Preparazione dei file per l'avvio da chiavetta USB

Per preparare la chiavetta USB è necessario un sistema GNU/Linux con supporto USB già funzionante. Si deve controllare che il modulo del kernel usb-storage sia caricato (modprobe usb-storage) e si deve scoprire su quale device SCSI è stata mappata la chiavetta USB (in questo esempio è usato /dev/sda). Per scrivere sulla chiavetta potrebbe essere necessario disattivare la protezione dalla scrittura.

Notare che la chiavetta USB deve essere da almeno 256 MB (è possibile fare anche installazioni più piccole seguendo Sezione 4.3.2, “Copia dei file — il modo flessibile”).

4.3.1. Copia dei file — il modo semplice

C'è un file all-in-one hd-media/boot.img.gz che contiene non solo tutti i file dell'installatore (kernel compreso) ma anche SYSLINUX e il suo file di configurazione. È sufficiente estrarlo direttamente sulla chiavetta USB:

# zcat boot.img.gz > /dev/sda

Avvertimento

L'uso di questo metodo distrugge qualunque cosa sia presente sul device, fare attenzione a usare il nome corretto per il device della chiavetta USB.

Poi montare la chiavetta USB (mount /dev/sda /mnt), che adesso avrà un filesystem FAT, e copiarci l'immagine ISO netinst o businesscard Debian (si consulti Sezione 4.3.3, “Aggiungere un'immagine ISO”). Infine smontare la chiavetta (umount /mnt).

4.3.2. Copia dei file — il modo flessibile

Se si preferisce avere più flessibilità o semplicemente si vuole capire cosa si sta facendo si deve usare questo metodo per scrivere i file sulla chiavetta.

4.3.2.1. Partizionamento della chiavetta USB su AMD64

Verrà spiegato come preparare la chiavetta per usare solo la prima partizione anziché l'intero dispositivo.

Nota

Poiché la maggior parte delle penne USB viene venduta con una singola partizione FAT16 già configurata, probabilmente non è necessario ripartizionare o riformattare la chiavetta. Per ripartizionare ugualmente la chiavetta usare cfdisk o un qualsiasi altro programma di partizionamento per creare una partizione FAT16 e poi crearci un filesystem usando:

# mkdosfs /dev/sda1

Fare attenzione a usare il nome di device della chiavetta USB. Il comando mkdosfs è contenuto nel pacchetto Debian dosfstools.

Per far partire il kernel dopo aver avviato da un chiavetta USB è necessario mettere un bootloader sulla chiavetta. Nonostante il fatto che qualsiasi bootloader (p.e. LILO) dovrebbe funzionare è più comodo usare SYSLINUX dato che utilizza una partizione FAT16 e può essere riconfigurato semplicemente modificando un file di testo. Qualsiasi sistema operativo con supporto per il filesystem FAT può essere usato per fare delle modifiche alla configurazione del bootloader.

Per collocare SYSLINUX sulla partizione FAT16 della chiavetta USB installare i pacchetti syslinux e mtools ed eseguire:

# syslinux /dev/sda1

Di nuovo fare attenzione a usare il nome corretto del device. La partizione non deve essere montata quando si avvia SYSLINUX, la procedura scrive il settore di avvio sulla partizione e crea il file ldlinux.sys che contiene il codice del bootloader.

Montare la partizione (mount /dev/sda1 /mnt) e copiare i seguenti file dall'archivio Debian sulla chiavetta:

  • vmlinuz (kernel)

  • initrd.gz (immagine del ramdisk iniziale)

  • syslinux.cfg (file di configurazione di SYSLINUX)

  • Moduli del kernel opzionali

Se si vuole rinominare questi file ricordarsi che SYSLINUX può gestire solo nomi di file in formato DOS (8.3).

Il file di configurazione syslinux.cfg deve contenere le seguenti righe:

default vmlinuz
append initrd=initrd.gz

4.3.3. Aggiungere un'immagine ISO

L'installatore cerca un'immagine ISO di Debian sulla chiavetta per usarla come sorgente per altri dati necessari all'installazione. Quindi il prossimo passo è copiare un'immagine ISO Debian (businesscard, netinst o persino una completa) sulla propria chiavetta. Il nome del file immagine deve avere estensione .iso.

Se si vuole installare usando la rete, senza usare una immagine ISO, si deve saltare il passo precedente ma è necessario usare il ramdisk iniziale nella directory netboot al posto di quello in hd-media perché in hd-media/initrd.gz non c'è il supporto per la rete.

Conclusa la copia dei file, smontare la chiavetta USB (umount /mnt) e attivare la protezione dalla scrittura.

4.3.4. Avvio da chiavetta USB

Avvertimento

Se il proprio sistema rifiuta di partire dalla chiavetta, la chiavetta potrebbe contenere un MBR (master boot record) non valido. Per risolvere questo problema usare il comando install-mbr contenuto nel pacchetto mbr:

# install-mbr /dev/sda