6753
Comment: very minor fix
|
6644
sync with English version
|
Deletions are marked like this. | Additions are marked like this. |
Line 24: | Line 24: |
== Esempi per Squeeze == Le nuove funzionalità nella versione Squeeze dell'installatore Debian forniscono un metodo più semplice per aggiungere il firmware al suo initramfs. Si noti che i metodi per Lenny dovrebbero funzionare anche con Squeeze. === Squeeze, esempio #1 : aggiungere il firmware da un singolo deb === {{{ FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP/firmware wget http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.28_all.deb cd ../ pax -x sv4cpio -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz }}} === Squeeze, esempio #2 : aggiungere i deb da firmware.tar.gz === {{{ FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/squeeze/current/firmware.tar.gz cd firmware tar -zxf ../firmware.tar.gz cd ../ pax -x sv4cpio -s'%firmware%/firmware%' -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz }}} === Preconfigurazione di Squeeze === Si ricorda che è necessario abilitare il repository non-free per garantire che il pacchetto del firmware riceva gli aggiornamenti di sicurezza (se ce ne sono). Questo può essere fatto preconfigurando quanto segue: {{{ base-config apt-setup/non-free boolean true }}} |
|
Line 89: | Line 142: |
== Esempi per Squeeze (non verificati) == Le nuove funzionalità nella versione Squeeze dell'installatore Debian forniscono un metodo più semplice per aggiungere il firmware al suo initramfs. Si noti che i metodi per Lenny dovrebbero funzionare anche con Squeeze. === Squeeze, esempio #1 : aggiungere il firmware da un singolo deb === METODO NON VERIFICATO {{{ FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP/firmware wget http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.28_all.deb cd ../ pax -x sv4cpio -s'%firmware%/firmware%' -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz }}} === Squeeze, esempio #2 : aggiungere i deb da firmware.tar.gz === METODO NON VERIFICATO {{{ FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/squeeze/current/firmware.tar.gz cd firmware tar -zxf ../firmware.tar.gz cd ../ pax -x sv4cpio -s'%firmware%/firmware%' -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz }}} === Preconfigurazione di Squeeze === METODO NON VERIFICATO Si ricorda che è necessario abilitare il repository non-free per garantire che il pacchetto del firmware riceva gli aggiornamenti di sicurezza (se ce ne sono). Questo può essere fatto preconfigurando quanto segue: {{{ base-config apt-setup/non-free boolean true }}} |
Translation(s): English - Italiano
Avvio da rete e firmware
Questa pagina descrive come includere firmware non liberi nelle immagini Debian per l'avvio da rete.
Contents
Introduzione
Alcune schede di rete non hanno un firmware in ROM ma lo caricano piuttosto dal sistema operativo host; non è grosso problema finché non si realizza che gran parte dei firmware non è libera e non può essere inclusa nelle immagini standard del Debian-Installer.
La soluzione dell'installatore Debian proposta è di produrre udeb non liberi che contengano il firmware e modificare l'installatore per dare all'utente la possibilità di inserirli al momento dell'installazione stessa, scaricando da un archivio non-free (ad esempio attraverso la rete).
Il problema
Si può notare che questo approccio non funziona bene con le immagini per l'avvio da rete che hanno bisogno del firmware ethernet, e questo necessita di essere in initrd.gz prima dell'avvio del kernel; una soluzione è quella di costruire la propria immagine del Debian Installer. Ciò è possibile ed il processo di creazione del Debian Installer è descritto altrove.
L'autore preferisce utilizzare un approccio diverso, basato sul fatto che il kernel Linux 2.6 utilizza initramfs piuttosto che initrd.
La soluzione: aggiungere il firmware ad initramfs
Initramfs è essenzialmente una concatenazione di archivi cpio compressi con gzip che vengono estratti in un ramdisk e usati dal kernel Linux come uno spazio utente anticipato. L'initrd.gz dell'installatore Debian è in realtà un unico archivio contenente tutti i file di installazione necessari all'avvio; con la semplice aggiunta di un altro cpio con i file del firmware mancanti si ottiene quanto desiderato.
Esempi per Squeeze
Le nuove funzionalità nella versione Squeeze dell'installatore Debian forniscono un metodo più semplice per aggiungere il firmware al suo initramfs. Si noti che i metodi per Lenny dovrebbero funzionare anche con Squeeze.
Squeeze, esempio #1 : aggiungere il firmware da un singolo deb
FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP/firmware wget http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.28_all.deb cd ../ pax -x sv4cpio -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz
Squeeze, esempio #2 : aggiungere i deb da firmware.tar.gz
FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir -p $FWTMP/firmware cd $FWTMP wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/squeeze/current/firmware.tar.gz cd firmware tar -zxf ../firmware.tar.gz cd ../ pax -x sv4cpio -s'%firmware%/firmware%' -w firmware | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat initrd.gz.orig $FWTMP/firmware.cpio.gz > initrd.gz
Preconfigurazione di Squeeze
Si ricorda che è necessario abilitare il repository non-free per garantire che il pacchetto del firmware riceva gli aggiornamenti di sicurezza (se ce ne sono).
Questo può essere fatto preconfigurando quanto segue:
base-config apt-setup/non-free boolean true
Esempi per Lenny
Lenny, esempio #1 : aggiungere il firmware da un singolo deb
Installare su un HP DL380G5 con Lenny e il firmware del pacchetto firmware-bnx2.
Creare una directory temporanea ed entrarvi:
rm -rf /tmp/firmware-bnx2 mkdir /tmp/firmware-bnx2 cd /tmp/firmware-bnx2
Prelevare il pacchetto (firmware-bnx2) che contiene il firmware:
wget http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.14+lenny2_all.deb
Estrarre i file in una directory temporanea:
ar -p firmware-bnx2_0.14+lenny2_all.deb data.tar.gz | tar -zxf -
Creare l'archivio cpio con pax, contiene materiale nella directory lib che verrà passata nella root (/) dell'archivio stesso:
pax -x sv4cpio -s '%lib%/lib%' -w lib | gzip -c >bnx2-fw.cpio.gz
Spostarsi nella directory dell'installatore (dove è situato initrd.gz):
cd $directory-debian-installer
Fare un backup:
cp -p initrd.gz initrd.gz.orig
Aggiungere il nuovo archivio all'initrd originale:
cat /tmp/firmware-bnx2/bnx2-fw.cpio.gz >> initrd.gz
Ora si dovrebbe poter avviare con il nuovo initrd.gz e vmlinuz.
Lenny, esempio #2 : aggiunge il firmware da firmware.tar.gz
In alternativa è possibile utilizzare la seguente procedura per trasformare l'archivio del firmware non libero in un cpio.gz che può essere concatenato all'initrd.gz originale:
# Creare una directory temporanea e convertire il tarball in un componente aggiuntivo di initramfs FWTMP=/tmp/d-i_firmware rm -rf $FWTMP mkdir $FWTMP cd $FWTMP wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/firmware.tar.gz tar -zxf firmware.tar.gz for name in *.deb ; do ar -p $name data.tar.gz | tar -zxf - done pax -x sv4cpio -s '%lib%/lib%' -w lib | gzip -c >firmware.cpio.gz # Spostarsi nella directory dell'initrd cd /tftpboot/debian-installer/i386 [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig cat $FWTMP/firmware.cpio.gz >> initrd.gz
Preconfigurazione di Lenny
Si ricorda che è necessario abilitare il repository non-free e installare il pacchetto del firmware adatto per garantire che l'initrd del sistema sia configurato correttamente e riceva gli aggiornamenti di sicurezza (se ce ne sono).
Ciò si ottiene preconfigurando i seguenti:
base-config apt-setup/non-free boolean true d-i preseed/late_command string apt-install atmel-firmware; apt-install firmware-bnx2; apt-install firmware-iwlwifi; apt-install firmware-qlogic; apt-install firmware-ralink; apt-install ixp4xx-microcode; apt-install libertas-firmware