Le recenti modifiche al kernel Linux 6.12 hanno da poco introdotto un nuovo driver USB denominato “9p network gadget driver”. Questo driver è stato sviluppato per facilitare lo sviluppo di dispositivi embedded Linux, consentendo di montare file system esportati dal lato host USB tramite l’interfaccia gadget USB. Nella pratica, l’host USB esporta un file system che il driver rende montabile sul dispositivo USB.
Linux 6.12 migliora lo sviluppo dei dispositivi embedded
Uno degli usi previsti per questo driver, da poco aggiunto alle modifiche per il nuovo kernel, è lo sviluppo di dispositivi embedded Linux, ponendosi al tempo stesso come alternativa al boot da Network File-System (NFS). Questa aggiunta è considerata una delle più interessanti tra le modifiche USB per il kernel Linux 6.12.
Il driver 9p network gadget è stato progettato per migliorare la flessibilità e l’efficienza nello sviluppo di questa tipologia particolare di dispositivi: permette agli sviluppatori di accedere facilmente ai file system esportati senza dover ricorrere a metodi più complessi e che richiedono più tempo. Questo può risultare particolarmente utile in ambienti di sviluppo dove la velocità e la semplicità di accesso ai file system sono cruciali.
Inoltre, il nuovo driver potrebbe aprire la strada a nuove applicazioni e utilizzi per i dispositivi embedded, rendendo notevolmente più rapido anche il processo di scrittura del codice. Proprio la possibilità di montare file system esportati direttamente tramite l’interfaccia USB va in questo senso, riducendo sensibilmente i tempi di configurazione e migliorare l’efficienza complessiva nel processo di lavoro dietro la realizzazione di questi dispositivi.
“L’host USB esporta un file system, mentre il gadget sul lato del dispositivo USB lo rende montabile.
Diod (server 9pfs) e il forwarder sono sull’host di sviluppo, dove è effettivamente archiviato il file system root. Il gadget viene inizializzato durante l’avvio (o in seguito) sulla scheda incorporata. Quindi il forwarder lo troverà sul bus USB e inizierà a inoltrare le richieste.
In questo caso le richieste 9p provengono dal dispositivo e sono gestite dall’host. Il motivo è che le porte del dispositivo USB normalmente non sono disponibili sui PC, quindi una connessione nell’altra direzione non funzionerebbe.”
Spiega nel dettaglio l’ingegnere dietro la patch per Linux 6.12, di cui è possibile consultare tutte le modifiche nella pagina dedicata.