Installare Debian da pendrive USB o SD card

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.



Intro

La seguente guida mostra come installare d-i su supporto usb.

Si considererà:

  1. Dispositivo usb in /dev/sdb e montato in /media/disk
  2. Architettura x86
  3. Debian stabile (Lenny)

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

Warning.png 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 è 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
# 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
# cd /media/disk/netinst
# wget http://cdimage.debian.org/debian-cd/5.0.3/i386/iso-cd/debian-503-i386-netinst.iso

d-i hd-media [1]

netinst [2]


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 [3]

Repository locale

Warning.png 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

E' 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.

Info.png 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 [4]


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 [5]


Fr4nc3sc0