Installare Debian da pendrive USB o SD card
Versioni Compatibili ERRORE: valore non valido ( Tutte le versioni di Debian )! Vedi qui. |
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 /syslinux, 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
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.
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]