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

Per preparare la chiavetta USB, si raccomanda di utilizzare un sistema GNU/Linux con supporto USB già funzionante. Con gli attuali sistemi GNU/Linux la chiavetta USB dovrebbe essere riconosciuta non appena inserita. Se questo non accade, controllare che sia stato caricato il modulo del kernel usb-storage. All'inserimento, la chiavetta USB viene mappata su un device con nome /dev/sdX, dove «X» è una lettera nell'intervallo a-z. È possibile vedere su quale device è stata mappata la chiavetta USB eseguendo il comando lsblk prima e dopo averla inserita; un'altra possibilità è consultare l'output di dmesg (da root). Per scrivere sulla chiavetta potrebbe essere necessario disattivare la protezione dalla scrittura.

[Avvertimento] Avvertimento

La procedura descritta in questa sezione distrugge qualunque cosa sia presente sul device, fare attenzione a usare il nome corretto per il device della chiavetta USB. Se si usa il device sbagliato, potrebbe accadere, per esempio, di perdere tutte le informazioni su un disco fisso.

4.3.1. Preparazione di una chiavetta USB con un'immagine CD/DVD ibrida

Le immagini per l'installazione Debian per questa architettura sono create con la tecnologia isohybrid, ciò vuol dire che possono essere scritte direttamente sulla chiavetta USB, questo è un metodo estremamente semplice per creare un supporto per l'installazione. È sufficiente scegliere un'immagine (netinst, CD oppure DVD-1) di dimensione adatta alla capacità della chiavetta USB. Si veda Sezione 4.1, «Immagini per l'installazione Debian GNU/Linux ufficiali» per procurarsi l'immagine di un CD o DVD.

In alternativa, per le chiavette USB estremamente piccole, con capacità di pochi megabyte, è possibile scaricare l'immagine mini.iso dalla directory netboot (nella posizione specificata in Sezione 4.2.1, «Dove trovare i file per l'installazione»).

È possibile scrivere l'immagine per l'installazione direttamente sulla chiavetta USB sovrascrivendone il contenuto attuale. Per esempio, con un sistema GNU/Linux, è possibile scrivere il file con l'immagine sulla chiavetta USB eseguendo, dopo essersi assicurati che la chiavetta non è montata:

# cp debian.iso /dev/sdX
# sync

È possibile trovare informazioni su come fare questa operazione con altri sistemi operativi nelle FAQ di Debian CD.

[Importante] Importante

L'immagine deve essere scritta sul device del disco e non su una partizione, cioè su /dev/sdb e non su /dev/sdb1. Non usare strumenti come unetbootin poiché modificano l'immagine.

[Importante] Importante

La semplice scrittura dell'immagine per l'installazione sulla USB dovrebbe funzionare correttamente per la maggior parte degli utenti. Le altre possibilità descritte in seguito sono più complesse e particolarmente adatte a chi ha necessità particolari.

L'immagine ibrida sulla chiavetta non occupa tutto lo spazio disponibile quindi potrebbe essere interessante usare lo spazio libero per i file con il firmware, per dei pacchetti oppure per altri file. Questo può essere utile se si dispone di una sola chiavetta USB oppure se si vuole tenere tutto ciò che serve in un solo dispositivo.

Usando cfdisk o un altro strumento per il partizionamento creare un'altra partizione sulla chiavetta. Poi creare sulla partizione un filesystem FAT, montare la partizione e copiare o spacchettare il firmware al suo interno. Per esempio:

# mkdosfs -n FIRMWARE /dev/sdX3
# mount /dev/sdX3 /mnt
# cd /mnt
# tar zxvf /percorso/di/firmware.tar.gz
# cd /
# umount /mnt

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

[Nota] Nota

Nel caso si sia scelto di scrivere mini.iso sulla chiavetta USB, la seconda partizione non deve essere creata perché, molto probabilmente, è già presente. Scollegare e poi ricollegare la chiavetta USB per rendere visibili le due partizioni.

4.3.2. Copia manuale dei file sulla chiavetta USB

Prima che per le immagini Debian per l'installazione fosse utilizzata la tecnologia isoibrida venivano seguiti i metodi documentati nei prossimi capitoli per preparare l'avvio da dispositivi USB. Questi metodi sono stati superati dalla tecnica descritta in Sezione 4.3.1, «Preparazione di una chiavetta USB con un'immagine CD/DVD ibrida» ma sono lasciati per motivi educativi e storici e potrebbero essere di aiuto per qualche utente.

In alternativa al metodo descritto in Sezione 4.3.1, «Preparazione di una chiavetta USB con un'immagine CD/DVD ibrida» copiare manualmente i file dell'installatore e l'immagine per l'installazione sulla chiavetta. Notare che la chiavetta USB deve essere da almeno 1 GB (è possibile fare anche installazioni più piccole seguendo Sezione 4.3.3, «Copia manuale dei file sulla chiavetta USB — il modo flessibile»).

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.

[Nota] Nota

Notare che, nonostante la sua comodità, questo metodo ha lo svantaggio che la dimensione logica del device è limitata a 1 GB anche quando la capacità della chiavetta USB è superiore. Per poter ripristinare la capacità reale della chiavetta USB è necessario rifare le partizioni e creare dei nuovi filesystem.

Estrarre questa immagine direttamente sulla chiavetta USB:

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

Poi montare la chiavetta USB (mount /dev/sdX /mnt), che adesso avrà un filesystem FAT, e copiarci l'immagine ISO di Debian (netinst o un CD completo; consultare Sezione 4.1, «Immagini per l'installazione Debian GNU/Linux ufficiali»). Infine smontare la chiavetta (umount /mnt).

4.3.3. Copia manuale dei file sulla chiavetta USB — il modo flessibile

Chi preferisce avere più flessibilità o semplicemente vuole capire cosa sta facendo, dovrebbe usare questo metodo per scrivere i file sulla chiavetta. Uno dei vantaggi di questo metodo è quello che se la chiavetta USB è sufficientemente capiente, è possibile copiarci qualsiasi immagine ISO, persino quella di un DVD.

4.3.3.1. Partizionamento e installazione di un boot loader

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

Per far partire il kernel dopo aver avviato da un chiavetta USB è necessario mettere un bootloader sulla chiavetta. Nonostante il fatto che qualsiasi bootloader 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.

È necessario installare i pacchetti syslinux e mtools sul proprio sistema.

[Nota] Nota

Poiché la maggior parte delle chiavette USB viene venduta con una singola partizione FAT16 già configurata, probabilmente non sarà necessario partizionare né formattare la chiavetta. Invece, se fosse necessario preparare la chiavetta, usare cfdisk o un qualsiasi altro programma di partizionamento per creare una partizione FAT16[3], installare un MBR con:

# cat /usr/lib/syslinux/mbr/mbr.bin 
>/dev/sdX

Infine creare il filesystem usando:

# mkdosfs /dev/sdX1

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

Adesso che la chiavetta USB è correttamente partizionata, è necessario installare syslinux sulla partizione FAT16 con:

# syslinux /dev/sdX1

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.

4.3.3.2. Aggiunta dei file dell'installatore

Adesso occorre scegliere tra le due diverse varianti dell'installazione: la variante hd-media ha bisogno che sulla chiavetta ci sia un file ISO per l'installazione da cui caricare i moduli dell'installatore e il sistema di base. Invece l'installatore netboot caricherà tutto da un mirror Debian.

A seconda della propria scelta è necessario scaricare alcuni file dell'installatore dalla sottodirectory hd-media oppure netboot di debian/dists/bullseye/main/installer-i386/current/images/ da un qualsiasi mirror Debian:

  • vmlinuz o linux (kernel)

  • initrd.gz (immagine del ramdisk iniziale)

È possibile sceglie se usare la versione dell'installatore testuale (i file possono essere trovati direttamente in hd-media oppure netboot) o quella grafica (file da cercare nella rispettive sottodirectory gtk).

Poi montare la partizione (mount /dev/sdX1 /mnt) e copiare i file scaricati nella directory principale della chiavetta:

Poi è necessario un file di testo con nome syslinux.cfg nella directory principale della chiavetta che è il file di configurazione di syslinux, deve contenere almeno la riga seguente:

default vmlinuz initrd=initrd.gz

Modificare il nome del binario del kernel in «linux» se si sono utilizzati i file da netboot.

Con l'installatore grafico (da gtk) occorre aggiungere vga=788 alla riga; è possibile aggiungere anche altri parametri.

Per attivare il prompt di avvio e permettere l'inserimento di altri parametri aggiungere una riga con prompt 1.

Se si sono utilizzati i file da un'immagine hd-media, adesso si deve copiare il file ISO di un'immagine per l'installazione Debian sulla chiavetta (con la variante netboot non è necessario).

È possibile usare una qualsiasi tra le immagini netinst o di un CD/DVD completo (vedere Sezione 4.1, «Immagini per l'installazione Debian GNU/Linux ufficiali»). Assicurarsi di sceglierne una che entra nella chiavetta. Notare che l'immagine «netboot mini.iso» non può essere usata per questo scopo.

Una volta finita la copia, smontare la chiavetta USB (umount /mnt).



[3] Ricordarsi di attivare il flag «bootable».