Il termine Firmware si riferisce a software embedded che controlla i dispositivi elettronici. Non esistono confini ben definiti tra il firmware e il software, in quanto entrambi i termini coprono una parte dello stesso codice. In genere il termine firmware ha a che fare con operazioni a basso livello su di un dispositivo, senza le quali esso sarebbe del tutto non funzionale... (Si può leggere di più su Wikipedia).

Firmware di dispositivi/driver

Molti dispositivi richiedono un firmware per funzionare. Storicamente, i firmware venivano incorporati nella ROM o nella memoria Flash del dispositivo, ma sempre più spesso un'immagine firmware deve essere caricata nella RAM del dispositivo dal driver di device durante l'inizializzazione.

Alcune immagini del firmware sono Free Software e Open Source, ma la maggior parte è non-free; è quindi necessario aggiungere i componenti non-free e contrib alle proprie fonti di APT.

Firmware durante l'installazione

In alcuni casi l'installatore rileva la necessità di firmware non-free e richiede all'utente di renderlo disponibile per il programma in modo da completare l'installazione. Ciò può succedere, ad esempio, con le schede di rete wireless che spesso richiedono firmware non libero per funzionare (per un esempio vedere ipw2200).

Immagini di installazione del firmware

Un metodo facile è quello di usare un'immagine di installatore che includa direttamente tutti i pacchetti del firmware. Vedere https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

Firmware su supporti rimovibili

Si può anche scaricare l'archivio del firmware per la propria piattaforma, specialmente se si sta installando hardware con cui non si ha familiarità, e spacchettarlo in una directory di nome "firmware" nella directory radice di un dispositivo di archiviazione rimovibile (USB/CD). Quando l'installatore parte trova automaticamente i file nella directory del firmware sul supporto rimovibile e, se necessario, installa il firmware per l'hardware in uso. I collegamenti per scaricare il firmware per la propria versione di Debian sono in https://cdimage.debian.org/cdimage/unofficial/non-free/firmware/. L'installatore all'avvio trova automaticamente i file del firmware nella directory nel supporto rimovibile e, se necessario, installa il firmware richiesto.

Il firmware fornito su supporti rimovibili può in alcuni casi non essere rilevato (es. 740503). In questa situazione passare in console (Ctrl+Alt+F2) e usare manualmente mount(8) per montare il proprio dispositivo rimovibile in una directory temporanea (es. "/media").

Firmware su supporti rimovibili e pressed

È anche possibile scavalcare il processo di ricerca e installazione dell'installatore usando i preseed e fornendo i file del firmware direttamente al kernel:

{{{Installation+Archive+USBStick preseed/early_command="modprobe vfat ; sleep 2 ; mount /dev/disk/by-label/FIRMWARE /media ; cp -a /media/firmware /lib" }}}

Una volta che la rete è configurata, l'installatore Debian può prelevare il firmware dai repository Debian.

Posizione dei file del firmware

Debian 8 "Jessie" e successive

udev in Debian Jessie e successive controlla solamente una directory per trovare i file del firmware: /lib/firmware. Vedere il bug n.729252 per i dettagli.

Debian 7 "Wheezy", Debian 6.0 "Squeeze"

Il firmware viene cercato e caricato dalle seguenti posizioni (vedere /lib/udev/hotplug.functions e /lib/udev/firmware.agent di udev)

  1. /lib/firmware/`uname -r` - Firmware fornito da un pacchetto, specifico per un kernel

  2. /lib/firmware/ - Firmware fornito da un pacchetto, valido per tutti i kernel

  3. /usr/local/lib/firmware - Posizione per firmware installato manualmente

  4. /usr/lib/hotplug/firmware - Firmware fornito da un pacchetto, valido per tutti i kernel

Elenco dei firmware nel kernel Linux

Per scoprire quale pacchetto fornisce un dato firmware si può usare questa pagina:
https://www.debian.org/distrib/packages#search_contents

Firmware/List elenca tutto il firmware distribuito insieme alle immagini Debian del kernel Linux.

Firmware dei computer

EFI/UEFI

Trovato nella maggior parte dei server e PC x86 moderni, oltre ad alcune schede ARM - (wikipedia)

BIOS

Trovato su macchine IBM-PC più vecchie, in genere la maggior parte dei server e PC regolari prodotti prima del 2011 - (wikipedia)

OpenFirmware

noto anche come OpenBoot, trovato su sistemi Sun SPARC, IBM Power, Apple Macintosh basati su PowerPC, IEEE 1275-1994, ... (wikipedia)

Coreboot (LinuxBIOS)

Può essere usato su alcune schede e testato in emulatori - (wikipedia)

PMON2000

Trovato sul Lemote Yeeloong e dispositivi embedded.

Aggiornare il firmware

Il firmware può essere aggiornato usando vari metodi.

Firmware aperto

Ci sono svariati progetti che creano diversi tipi di firmware aperto, incluso per l'avvio, il WiFi e l'audio.


CategoryPermalink | CategoryHardware | CategoryProprietarySoftware