ZimaOS non supporta l'installazione occasionale del firmware del kernel dell'host con comandi in stile Ubuntu come apt install linux-firmware-.... ZimaOS è un sistema in stile appliance e IceWhale ha esplicitamente comunicato agli utenti che il firmware dell'host deve essere integrato nella release del sistema operativo anziché essere copiato manualmente.
Il caso originale riguardava un sintonizzatore USB DVB-S2 Hauppauge WinTV-NOVA-S2, che necessitava di un blob firmware prima di poter essere utilizzato da Tvheadend o Plex. IceWhale ha accettato di integrare il firmware in una release futura e ha chiesto all'utente di testarlo.
Perché i comandi Ubuntu non sono direttamente applicabili
I gestori di pacchetti Ubuntu possono scrivere il firmware in un filesystem dell'host modificabile. ZimaOS non è un'installazione Debian generica con lo stesso flusso di lavoro per i pacchetti.
Il firmware del kernel deve essere disponibile sull'host
Molti dispositivi DVB, Wi-Fi e di altro tipo richiedono il firmware al kernel dell'host durante l'inizializzazione. Un container Docker non può risolvere il problema se l'host non inizializza mai l'hardware.
Passaggio 1: identifica il dispositivo esatto e il blob mancante
lsusb
dmesg | grep -i -E 'firmware|dvb|usb'
Annota gli ID USB/PCI, il nome del driver e il nome esatto del file mancante.
Passaggio 2: conferma la fonte e la licenza del firmware
Quando chiedi a IceWhale di includerlo, fornisci la fonte ufficiale del vendor/del firmware del kernel e le informazioni sulla ridistribuzione.
Passaggio 3: richiedi l'integrazione nel sistema operativo
IceWhale ha dichiarato che, per motivi di sicurezza, gli utenti non potevano aggiungere autonomamente il firmware dell'host e che il team avrebbe potuto integrare uno specifico blob in presenza di un caso d'uso chiaro.
Passaggio 4: esegui il test dopo una release che lo include
Ricollega il dispositivo e controlla dmesg. Vuoi che il driver si inizializzi senza l'errore «file firmware non trovato» prima di configurare Tvheadend o Plex.
Passa il dispositivo all'app separatamente
Dopo che l'host riconosce un sintonizzatore DVB, un'app Docker potrebbe avere comunque bisogno del firmware pertinente /dev/dvb dispositivi mappati nel container. Il firmware dell'host e l'accesso del container sono livelli separati.
Non confondere il firmware dello spazio utente con quello del kernel
Alcune app caricano i propri modelli/file di dati, che possono essere montati in un container. Il firmware richiesto da un driver del kernel è diverso.
La guida alla risoluzione dei problemi hardware aiuta a strutturare il report.
Come funziona il caricamento del firmware Linux
Quando un driver del kernel inizializza l'hardware, può chiamare il loader del firmware Linux e richiedere un blob denominato dai percorsi del firmware host. Se il file manca, il driver potrebbe associarsi solo parzialmente o rifiutarsi di esporre il nodo dispositivo finale.
La {A("https://docs.kernel.org/driver-api/firmware/request_firmware.html","documentazione del loader del firmware Linux","Scopri come i driver del kernel richiedono il firmware al sistema operativo host")} upstream spiega questo meccanismo a livello host.
Conferma l'esistenza del driver prima di richiedere solo il firmware
Un blob firmware non può essere utile se ZimaOS non dispone del driver del kernel per il dispositivo. Verifica dmesg e le informazioni sui moduli per determinare se il driver viene caricato e poi richiede il firmware oppure se l'hardware non è supportato in una fase precedente dello stack.
Il passthrough al container viene dopo il rilevamento sull'host
Per Tvheadend, Plex o un'altra app, assicurati prima che l'host esponga il sintonizzatore sotto /dev/dvb. Solo allora configura i mapping dei dispositivi Docker e i permessi dell'applicazione.
Ripetere il test dopo ogni aggiornamento di ZimaOS
Se IceWhale integra il firmware in una release, verifica che il sintonizzatore continui a inizializzarsi dopo i successivi aggiornamenti principali. Conserva gli ID hardware esatti nei tuoi appunti, così le segnalazioni di regressione possono essere riprodotte.
Comprendere il Linux Firmware Loader
I driver del kernel richiedono comunemente un blob firmware denominato durante l'inizializzazione del dispositivo. La documentazione del loader del firmware Linux upstream spiega che ciò avviene a livello del kernel host, prima che la maggior parte dei container applicativi possa utilizzare il dispositivo.
Se il driver è presente ma manca il blob richiesto, un aggiornamento del firmware integrato nel sistema operativo è la soluzione più corretta. Se manca il driver stesso, aggiungere solo il blob non farà funzionare l'hardware.
FAQ
Posso installare linux-firmware con apt su ZimaOS?
Non trattare ZimaOS come Ubuntu; la posizione di IceWhale era integrare il firmware host richiesto.
Docker può includere il firmware mancante?
Non se il kernel dell'host ne ha bisogno prima che il dispositivo sia disponibile per il container.
Cosa devo controllare dopo l'integrazione?
Usa dmesg e l'enumerazione dell'hardware per confermare un'inizializzazione corretta.
Il firmware richiede un'interfaccia grafica desktop?
No. Il firmware del kernel/dispositivo funziona su un server headless.
