Installare Debian da pendrive USB o SD card

Da Guide@Debianizzati.Org.

(Differenze fra le revisioni)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian|}}
{{Versioni compatibili|Tutte le versioni di Debian|}}
 +
==Metodo 1==
=== Intro ===
=== Intro ===
-
La seguente guida mostra come installare d-i su supporto usb.
+
La seguente guida mostra come installare d-i su supporto USB.
Si considererà:
Si considererà:
-
# Dispositivo usb in /dev/sdb e montato in /media/disk  
+
# Dispositivo USB in <code>/dev/sdb</code> e montato in <code>/media/disk</code>
# Architettura x86  
# Architettura x86  
# Debian stabile (Lenny)
# Debian stabile (Lenny)
Riga 14: Riga 15:
# Si accenna alla possibilità del repository locale.}}
# Si accenna alla possibilità del repository locale.}}
-
=== Preparazione del supporto usb ===
+
=== 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
+
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
-
{{ Warningbox | Tutti i dati sul supporto usb verranno persi }}
+
{{ Warningbox | Tutti i dati sul supporto USB verranno persi }}
<pre>
<pre>
Riga 38: Riga 39:
=== Installazione della netinst ===
=== 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.
+
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.
<pre>
<pre>
Riga 53: Riga 54:
</pre>
</pre>
-
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.
+
Poiché vengono copiati i file <code>linux</code> e <code>initrd</code> nella sottodirectory <code>/netinst</code>, 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.
<pre>
<pre>
# sed -i "s/linux/\/netinst\/linux/g" *.cfg
# sed -i "s/linux/\/netinst\/linux/g" *.cfg
Riga 60: Riga 61:
</pre>
</pre>
-
In fine si scarica l'immagine netinst.
+
In fine si scarica l'immagine netinst:
<pre>
<pre>
# cd /media/disk/netinst
# cd /media/disk/netinst
Riga 93: Riga 94:
# cd local-repository/binary
# cd local-repository/binary
</pre>
</pre>
 +
È 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.
-
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.
+
{{Box | 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 [http://guide.debianizzati.org/index.php/DebianLive_su_usb_installabile]}}
-
{{Box | Nota |Durante la creazione di una debian live con live-helper, tutti i pacchetti scaricati vengono messi in cache, questi costituiscono
+
A titolo di esempio, per avere ''mc'' occorre scaricare anche le sue dipendenze
-
un pool ideale per un repository locale da mettere su usb [http://guide.debianizzati.org/index.php/DebianLive_su_usb_installabile]}}
+
-
 
+
-
A titolo di esempio, per avere mc occorre scaricare anche le sue dipendenze
+
<pre>
<pre>
Riga 105: Riga 105:
</pre>
</pre>
-
Creazione degli indici.
+
Creazione degli indici:
<pre>
<pre>
Riga 112: Riga 112:
</pre>
</pre>
-
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 repository locale non verrà visto dal d-i, solo in un secondo momento si potrà accedervi, dopo averlo aggiunto in <code>/etc/apt/sources.list</code>.
-
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.  
+
Il file <code>readme.txt</code> 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.  
<pre>
<pre>
Riga 121: Riga 121:
trivial repository [http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html]
trivial repository [http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html]
 +
 +
==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):[http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz boot.img.gz]<br/> [http://cdimage.debian.org/debian-cd/5.0.7/i386/iso-cd/debian-507-i386-netinst.iso netinst.iso]
 +
; Lenny (amd64):[http://ftp.nl.debian.org/debian/dists/lenny/main/installer-amd64/current/images/hd-media/boot.img.gz boot.img.gz]<br/> [http://cdimage.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso netinst.iso]
 +
; Squeeze (i386):[http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/hd-media/boot.img.gz boot.img.gz]<br/> [http://cdimage.debian.org/cdimage/squeeze_di_beta2/i386/iso-cd/debian-squeeze-di-beta2-i386-netinst.iso netinst.iso]
 +
; Squeeze (amd64):[http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/hd-media/boot.img.gz boot.img.gz]<br/> [http://cdimage.debian.org/cdimage/squeeze_di_beta2/amd64/iso-cd/debian-squeeze-di-beta2-amd64-netinst.iso netinst.iso]
 +
 +
===Installazione===
 +
Dopo aver eseguito il download del file immagine e della iso netinstall, accertatevi che il dispositivo USB '''non''' sia montato, quindi eseguire:
 +
<pre>
 +
# zcat boot.img.gz > /dev/sdb
 +
</pre>
 +
se la pendrive è stata riconosciuta come "sdb", altrimenti inserire il device appropriato.<br/>
 +
{{Warningbox | Accertatevi di inserire il device corretto poiché il precedente comando cancella ogni dato presente sul dispositivo.<br/>
 +
Utilizzare il comando:
 +
<pre>
 +
# fdisk -l
 +
</pre>
 +
per dissipare eventuali dubbi.}}
 +
Per finire non resta altro che copiare la iso netinstall sulla pendrive.

Versione delle 14:47, 8 gen 2011

Edit-clear-history.png Attenzione. Questa guida necessita di un controllo, per via del tempo trascorso dall'ultima verifica e delle versioni di Debian con cui è stata testata.

Debian-swirl.png Versioni Compatibili
ERRORE: valore non valido (Tutte le versioni di Debian)! Vedi qui.

Indice

Metodo 1

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)


Info.png Nota
Questo howto si basa sul metodo riportato sulla guida ufficiale che trovate a questo link [1] introducendo alcune variazioni:
  1. File ordinati in sottodirectory nella radice del supporto USB.
  2. Si mette in evidenza la necessità di avere i firmware mancanti.
  3. Si accenna alla possibilità del repository locale.


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 (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

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

È 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 [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:

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
netinst.iso
Squeeze (amd64)
boot.img.gz
netinst.iso

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.

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



Fr4nc3sc0
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti