Guida all'uso di Raspberry PI4
Questa è una breve guida su come configurare il proprio Raspberry per aiutare il progetto Rosetta@Home. La guida si compone di due parti: la prima riguarda la configurazione manuale del proprio dispositivo, mentre la seconda prevede l'uso di un sistema di configurazione automatica (più semplice e veloce) chiamata Fold For Covid.
Rosetta@Home sul Raspberry PI4 - Configurazione manuale
Con la nuova versione degli applicativi è possibile far funzionare il progetto Rosetta@home sul Raspberry Pi4: questo applicativo, chiamato "Rosetta for Portable devices" gira sotto Raspbian, ma è solamente per l’architettura ARM64.
Link a Rosetta@home: http://boinc.bakerlab.org/rosetta/
Link a Raspberry Pi4: https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
Link a Raspbian: https://www.raspberrypi.org/downloads/raspbian/
Ci sono però alcuni punti da tener ben presente:
- Bisogna impostare il kernel in modalità a 64 bit.
- Bisogna indicare a BOINC che è una piattaforma aarch64 (ARM64).
- Alcune attività di Rosetta possono utilizzare fino a 1,5 GB di memoria ciascuna, quindi è necessario limitare quante vengono eseguite contemporaneamente.
La maggior parte dei progetti BOINC non ha (per ora) applicativi aarch64, in maniera particolare Einstein@Home che ha una app incompatibile e che fa andare in errore tutte le wu. Si può sempre tornare alla modalità armhf (32 bit) dopo, facendo in maniera inversa questi passi.
- Si, teoricamente potete farlo anche con un Pi3B o un Pi3B+, ma questi hanno solo 1Gb di memoria, quindi è difficilmente utilizzabile. -
Perché sono necessari tutti questi passaggi?
Come abbiamo appena detto, quando si installa Raspbian sul Pi tutto è a 32 bit, i programmi e gli add-on ed è conosciuto come armhf (ARM hard float). La Raspberry Pi Foundation ha fatto modifiche al kernel per permettere la modalità a 64 bit, ma gli applicativi sono ancora a 32 bit. Quando viene installato Boinc, si ha la versione armhf dal momento che la Fondazione non ha ancora i repository aarch64. E’ per questo motivo che è necessario dire a Boinc che è su una versione aarch64, così che chieda correttamente al server del progetto wu a 64 bit.
1. Installare BOINC
Se è già installato, passate oltre. Se non è installato, per prima cosa è consigliabile aggiornare il Raspberry con i seguenti comandi:
sudo apt-get update
sudo apt-get upgrade
Riavviate e lanciate il comando per installare Boinc (con l'interfaccia grafica del manager):
sudo apt-get install boinc
Avviate Boinc e agganciate il progetto Rosetta@Home, ma selezionate “Blocca richiesta attività” dal Manager (non devono essere presenti wu, altrimenti andranno in errore).
2. Impostare il kernel nella modalità a 64 bit
Di default il kernel di Raspberry è configurato a 32 bit per motivi di compatibilità con i software dei precedenti Pi. E’ necessario avere un kernel 4.19.75 o successivo. Per capire che versione del kernel è presente sul vostro Raspberry, si può lanciare dal terminal o via ssh il seguente comando:
uname -a
(Se è presente un kernel precedente e non avete già aggiornato, lanciate i due comandi al punto 1).
Fate uno copia del file di configurazione. Scrivete:
cd /boot
sudo cp config.txt config.old
Editare, adesso, il file config.txt con l’editor Nano.
sudo nano config.txt
Una volta aperto Nano, andare nella parte finale e aggiungere "arm_64bit=1" (senza le virgolette) in una nuova linea. Premere Control+O per salvare il file e Control+X per uscire da Nano.
Riavviare
3. Dire a BOINC che è su una piattaforma aarch64
Tornare nel terminal o nella sessione ssh e rilanciare il comando:
uname -a
Si dovrebbe vedere la scritta "aarch64" alla fine della linea (se non c’è bisogna risolvere ricontrollando il passaggio 2). Se, invece, è correttamente presente, occorre editare il file cc_config.xml, utilizzato da BOINC, in questa maniera:
cd /etc/boinc-client
sudo nano cc_config.xml
Una volta all’interno del file, occorre aggiungere il tag <alt_platform> e deve essere inserito tra i tag <options> (da creare). Se non è presente il tag <options> occorre crearlo così:
<options>
<alt_platform>aarch64-unknown-linux-gnu</alt_platform>
</options>
Se, invece, è già presente aggiungere soltanto, all’interno, la riga:
<alt_platform>aarch64-unknown-linux-gnu</alt_platform>
Cliccare Control+O per salvare il file e Control+X per uscire. Occorre riavviare il client Boinc (non solo il manager) per applicare le modifiche – oppure riavviate il Raspberry - , con il seguente comando:
sudo systemctl restart boinc-client
Riattivare la ricezione del lavoro sul Manager.
Rosetta@Home sul Raspberry PI4 - Usare Fold for COVID
Se la procedura qui sopra vi sembra troppo complessa, non ci sono problemi.
L'azienda Balena.io (che si occupa di cloud e IoT) ha creato una immagine linux per Raspberry già pronta per Rosetta@Home e che è possibile controllare comodamente da remoto via web. Grazie al loro servizio, infatti, è possibile installare e controllare gratuitamente fino a 10 device.
Il progetto si chiama Fold for Covid e mette a disposizione immagini non solo per il PI4, ma anche per altre piattaforme IoT (NanoPc, Nvidia Jetson, Nitrogen 8M, ecc).
Buono scaccolo!!!