Ecco una immagine di boot per RPi4 B e RPi3 B/B+ con kernel a 64-bit, basato su OS host 32-bit Raspbian Buster ‘Desktop’, con un OS ospite 64-bit Debian Buster in un container leggero in autostart con systemd-nspawn
.
Il GIT repository di Sakaki ci aveva già offerto una distro di Gentoo a 64 bit configurata per Raspberry PI. Era un OS che risolveva i problemi e le necessità di coloro che chiedevano di poter lanciare applicazioni a 64bit native. Ne avevamo parlato anche noi in un articolo dello scorso 20 luglio. Ma evidentemente Raspbian vanta un bacino di utenza non indifferente, con utenti e sviluppatori abituati ai tool offerti dal sistema e poco propensi a cambiare. Per tale ragione si è deciso di creare un branch di sviluppo ed offrire funzionalità a 64-bit senza abbandonare la solida e sicura interfaccia grafica.
Il presente progetto comprende una microSD bootabile, contenente un kernel a 64-bit, il sistema operativo Desktop Raspbian Buster 32-bit + una immagine del sistema operativo ospite a 64-bit Debian Buster guest OS per Raspberry Pi 4 model B, e Pi 3 model B/B+. Si tratta di un progetto dedicato a quegli utenti che preferiscono mantenere l’utilizzo dei familiari tool di Raspbian ed i relativi repositories software, ma che hanno comunque la necessità di far girare uno o più componenti software a 64-bit sul proprio PI.
Il sistema operativo ospite 64-bit Debian viene lanciato automaticamente all’interno di un container systemd-nspawn
. Attraverso un elemento di menù apposito fornito dal System Tools
, sarà quindi possibile aprire una shell a 64-bit all’interno del container (ad esempio per installare un nuovo package 64-bit). Un altro elemento di menù consente invece di lanciare senza problemi una applicazione a 64-bit nel container. Configurato in modo che appaiano sullo schermo Raspbian, si interfacciano con l’audio ed hanno accesso alla home directory dell’utente corrente.
Grazie alla containerization, queste applicazioni restano comunque impossibilitate a compiere azioni potenzialmente dannose sull’host (non si tratta di un semplice chroot
). La gestione dei pacchetti nel sistema ospite utilizza la funzione familiare apt-get
, ma con l’intero repository Debian aarch64 disponibile, mentre l’operatività Raspbian quotidiana (ad eccezione diquello che necessita di MMAL o OpenMAX IL) rimane praticamente identica a quella della stock image. WiFi, Bluetooth, I2C sono tutte funzionanti, e le applicazioni Raspbian 32-bit possono essere installate e utilizzate come su di un normale sistema RPi.
Per facilitare l’utilizzazione, nella versione 1.1.0 i launchers per le applicazioni 64-bit sono aggiunti automaticamente al menù host 32-bit durante l’installazione, mentre la modifica verso l’utenza ‘regolare’ (esistenza, password e gruppi primari) vengono trasferiti automaticamente da host a guest. Nella versione 1.2.0, anche le modifiche su timezone o locale nell’host vengono propagate automaticamenteal guest. Infine, nella versione 1.3.0, viene supportato anche il RPi4; viene impiegato un sistema operativo host Raspbian Buster, e utilizzato un kernel 64-bit ufficiale (al posto del precedente kernel custom).
In pratica si guadagna la possibilità di lavorare a 64-bit, ma senza perdere la testa dietro nuove distro.
DI seguito un esempio di immagine del nuovo sistema operativo che gira su di un RPi 4B:
L’immagine del sistema operativo e le relative istruzioni di installazione si trovano a questo link.
Mai come in questo caso è opportuno leggere le istruzioni prima di procedere con l’installazione. Si tratta di software offerto ‘as is’, senza alcuna garanzia. Altrettanto importante è ricordare la distinzione tra licenze software free e non-free. Ovvero le richieste di firmware, software di boot e pacchetti OS offerti con l’immagine. Qui è presente una lista esplicativa al riguardo.
Si tenga infine presente che ci troviamo di fronte ad un rilancio di Raspbian non ufficiale e gestio da utente. Pertanto non riconsociuto né supportato dalla Raspberry Pi foundation. Non sono comunque state eseguite modifiche fondamentali al sistema operativo host Raspbian o all’ospite Debian.
Conviene installare questa immagine su di una microSD card diversa da quella utilizzata per il sistema Raspbian di default. In tal modo, al termine dei test sarà sufficiente spegnere, scambiare le schede, rilanciare il sistema per tornare ad avere la configurazione originale.
Ultima valutazione. Trattandosi di un siistema containerizzato, l’efficienza delle applicazioni a 64 bit potrebbe essere di qualche punto percentuale inferiore rispetto ad una installazione nativa. Questo perché il sistema operativo dovrà gestire contemporaneamente sia l’applicazione che il container. “Rubando” preziosi cicli di CPU attraverso le relative chiamate di sistema. Ma si tratterà nella peggiore delle ipotesi di un rallentamento non percepibile sensorialmente, e di esclusivo interesse per gli utenti alla ricerca della massima efficienza possibile. >Quellic he in genere instaallano direttamente una distro a 64-bit…