Installare Debian da pendrive USB o SD card
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 qunato detto sopra.
# echo "deb file:///live/local-repository binary" > readme.txt
trivial repository [4]