Installare Debian da pendrive USB o SD card
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à:
- Dispositivo in /dev/sdb e montato in /media/disk
- Architettura x86
- 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 il alternativa alla 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 è concepito per funzionare su cd/dvd, per farlo funzionare da usb si ricorre ad un loader che caricerà 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 /mediadisk/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
# cd /media/disk/firmware # tar -xf firmware.tar.gz -C firmware # rm firmware.tar.gz
info [3]
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.
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
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 da aggiungere alla lista dei repository, come promemoria di quanto detto sopra.
# echo "deb file:///live/local-repository binary" > readme.txt
trivial repository [4]