Installare Debian da pendrive USB o SD card
Versioni Compatibili ERRORE: valore non valido ( Tutte le versioni di Debian )! Vedi qui. |
Metodo 1
Intro
La seguente guida mostra come installare d-i su supporto USB.
Si considererà:
- Dispositivo USB in
/dev/sdb
e montato in/media/disk
- Architettura x86
- Debian stabile (Lenny)
Nota Questo howto si basa sul metodo riportato sulla guida ufficiale che trovate a questo link [1] introducendo alcune variazioni:
|
Preparazione del supporto USB
Occorre creare una partizione fat32 avviabile sul supporto USB, tale partizione deve essere la prima e primaria, per tale fine si possono usare tools come gparted o cfdisk in alternativa alle seguente operazioni
ATTENZIONE Tutti i dati sul supporto USB verranno persi |
# aptitude install mbr parted # umount /media/disk # dd if=/dev/zero of=/dev/sdb count=512 bs=1 # install-mbr --force /dev/sdb # parted /dev/sdb mkpartfs primary fat32 # Start? 0 # End? -1 # parted /dev/sdb set 1 boot on
Installazione del bootloader
# aptitude install syslinux # syslinux /dev/sdb1
Installazione della netinst
Il debian-installer (d-i) è concepito per funzionare su cd/dvd, per farlo funzionare da USB si ricorre ad un loader che caricherà l'immagine iso.
# cd /tmp # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz # gunzip boot.img.gz # mkdir img /media/disk/syslinux /media/disk/netinst /media/disk/firmware # mount boot.img img -t vfat -o loop # cp -r img/* /media/disk/syslinux # umount img # cd /media/disk/syslinux # mv *.gz ../netinst # mv linux ../netinst
Poiché vengono copiati i file linux
e initrd
nella sottodirectory /netinst
, modificando la loro posizione originaria, occorre modificare il loro PATH nel file di configurazione del bootloader, si ricorre al comando sed per tale semplice sostituzione.
# sed -i "s/linux/\/netinst\/linux/g" *.cfg # sed -i "s/initrd.gz/\/netinst\/initrd.gz/g" *.cfg # sed -i "s/initrdg.gz/\/netinst\/initrdg.gz/g" *.cfg
In fine si scarica l'immagine netinst:
# cd /media/disk/netinst # wget http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-504-i386-netinst.iso
d-i hd-media [2]
netinst [3]
Installazione dei firmware mancanti
Si tratta di firmware proprietari non compresi nel d-i.
# cd /media/disk/ # wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/firmware.tar.gz # tar -xf firmware.tar.gz -C firmware # rm firmware.tar.gz
info [4]
Repository locale
ATTENZIONE Questa sezione è OPZIONALE |
Si costruisce un trivial repository di pacchetti non compresi nel d-i.
# cd /media/disk # mkdir -p local-repository/binary # cd local-repository/binary
È sconsigliato crearsi un pool di pacchetti scaricandoli con aptitude o un altro gestore in quanto facendo il download del singolo pacchetto non si risolvono eventuali problemi di dipendenze.
Nota Durante la creazione di una Debian live con live-helper, tutti i pacchetti scaricati vengono messi in cache, questi costituiscono un pool ideale per un repository locale da mettere su USB [5] |
A titolo di esempio, per avere mc occorre scaricare anche le sue dipendenze
# aptitude download mc libpcre3 libgpm2 libglib2.0-data libglib2.0-0 bzip2 arj unzip lynx lynx-cur dbview
Creazione degli indici:
# cd .. # dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
Il repository locale non verrà visto dal d-i, solo in un secondo momento si potrà accedervi, dopo averlo aggiunto in /etc/apt/sources.list
.
Il file readme.txt
contiene la linea (sostituire MOUNT-POINT-USB con il path dove viene montato il dispositivo USB) da aggiungere alla lista dei repository, come promemoria per quanto detto sopra.
# echo "deb file:///MOUNT-POINT-USB/local-repository binary/" > readme.txt
trivial repository [6]
Metodo 2
Requisiti
Prima di intraprendere i successivi passi, accertarsi che le seguenti condizioni siano soddisfatte:
- Sistema avviabile attraverso un dispositivo USB;
- Pendrive con una capienza di almeno 256 MByte;
- Pendrive formattata FAT32;
- Disponibilità di un sistema GNU/Linux;
File necessari
Per installare una netinst serve aver scaricato un file immagine e la iso netinstall. Entrambi devono essere compatibili con l'architettura del proprio sistema (i386, amd64 etc.)
- Lenny (i386)
- boot.img.gz
netinst.iso - Lenny (amd64)
- boot.img.gz
netinst.iso - Squeeze (i386)
- boot.img.gz
[7] - Squeeze (amd64)
- boot.img.gz
[8]
Installazione
Dopo aver eseguito il download del file immagine e della iso netinstall, accertatevi che il dispositivo USB non sia montato, quindi eseguire:
# zcat boot.img.gz > /dev/sdb
se la pendrive è stata riconosciuta come "sdb", altrimenti inserire il device appropriato.
ATTENZIONE Accertatevi di inserire il device corretto poiché il precedente comando cancella ogni dato presente sul dispositivo. Utilizzare il comando: # fdisk -l per dissipare eventuali dubbi. |
Per finire non resta altro che copiare la iso netinstall sulla pendrive.
Metodo 3
A partire da Debian 6.0 (Squeeze), la preparazione di una pendrive USB di boot è stata ulteriormente semplificata.
È sufficiente adesso scaricare un'immagine .iso (primo CD/DVD, netinst, business-card) e accertarsi che la pendrive non sia montata e che la sua capacità sia tale da contenere l'immagine. Quindi basta un:
# dd if=/path/dell/immagine/nome_immagine.iso of=/dev/sdb
e ritrovarsi una pendrive bootabile per installare Debian.