Il progetto postmarketOS ha presentato Duranium, un’edizione aggiornabile in modo atomico per smartphone.

Gli sviluppatori del progetto postmarketOS, che sviluppa una distribuzione Linux per dispositivi mobili, hanno annunciato la creazione di una variante del sistema operativo aggiornabile in modo atomico. La nuova edizione, chiamata Duranium, si distingue per la fornitura del sistema come un'unica entità, senza divisione in pacchetti separati. Viene sottolineato che la nuova variante è in linea con l'idea che il dispositivo debba semplicemente funzionare, senza che l'utente debba conoscere l'esistenza di un terminale o comprendere le complessità del sistema.

L'ambiente di sistema nella sezione /usr è montato in modalità sola lettura utilizzando il file system EROFS e viene verificato ad ogni avvio tramite firma digitale. La sezione /usr ha una dimensione di 5 GB. Per il controllo dell'integrità dei dati nella sezione /usr viene utilizzato dm-verity, e nel caso venga rilevata una modifica del contenuto, il caricamento viene bloccato. L'hash di controllo è incorporato nell'immagine unificata UKI (Unified Kernel Image), che combina il gestore per il caricamento del kernel da UEFI (UEFI boot stub), l'immagine del kernel Linux e l'ambiente di sistema initrd caricato in memoria, utilizzato per l'inizializzazione iniziale nella fase prima del montaggio del file system radice. L'immagine UKI è formattata come un unico file eseguibile in formato PE e viene chiamata dal bootloader UEFI.

Le altre directory, ad eccezione di /usr, fanno parte della partizione root, accessibile in scrittura e mantenuta tra i riavvii e gli aggiornamenti. Il contenuto della partizione root viene necessariamente crittografato utilizzando LUKS2, il che comporta requisiti hardware più elevati. La partizione root crittografata viene creata al primo avvio o dopo il ripristino delle impostazioni di fabbrica. Di default, viene creato una chiave vuota, che consente lo sblocco automatico della partizione crittografata. Nella procedura guidata di configurazione iniziale e nel configuratore, all'utente viene proposta l'installazione di una password per la decrittografia.

Le impostazioni predefinite sono memorizzate all'interno dell'immagine di sistema nella directory /usr/share/factory/etc. Durante il primo avvio, vengono create nella directory /etc delle link simbolici a tutti i file in /usr/share/factory/etc, ad eccezione dei file passwd, group, shadow, fstab, machine-id e hostname. Se è necessario modificare le impostazioni durante il funzionamento, il link simbolico viene sostituito con una copia del file.

Gli aggiornamenti vengono installati attraverso la sostituzione dell'intero sistema operativo. Sul dispositivo di archiviazione vengono creati due partizioni radice identiche: attiva e passiva. Il nuovo aggiornamento viene installato nella partizione passiva, senza influire sul funzionamento di quella attiva. Dopo la verifica della correttezza dell'aggiornamento installato e il riavvio riuscito, le partizioni vengono scambiate: quella con l'aggiornamento diventa attiva, mentre la precedente partizione attiva viene impostata in modalità passiva e attende l'installazione del prossimo aggiornamento. Se dopo l'aggiornamento si verificano problemi di avvio, viene eseguito il ripristino automatico alla versione precedente del sistema.

Questo approccio semplifica notevolmente il debug e la diagnosi dei problemi, poiché gli sviluppatori possono riprodurre esattamente lo stato in cui si è verificato il guasto, senza dover riprodurre la composizione del sistema dell'utente a livello di singoli pacchetti e tenere conto delle combinazioni di versioni dei pacchetti. Uno svantaggio sono i requisiti hardware più elevati, che non consentiranno l'uso di Duranium su tutti i dispositivi supportati da postmarketOS.

Il contenuto dell'immagine di sistema Duranium è formato da una base di pacchetti unificata con postmarketOS, basata su Alpine Linux, sulla libreria standard C Musl e su un insieme di strumenti BusyBox. Le versioni di postmarketOS e Duranium risultano quasi identiche nella composizione, ma differiscono nei metodi di fornitura del sistema. Per la creazione, l'installazione e l'aggiornamento delle immagini di sistema vengono utilizzati componenti systemd-sysupdate, systemd-repart e systemd-verity-setup.

Le applicazioni aggiuntive vengono installate nel formato Flatpak o tramite il gestore di pacchetti Coldbrew. Coldbrew consente di installare pacchetti dai repository di Alpine Linux nella directory home dell'utente. All'avvio, tali pacchetti vengono isolati utilizzando lo strumento bubblewrap.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster