Ricerca nel sito web

Come creare una chiavetta USB portatile per retrogaming con Batocera Linux


Batocera è una distribuzione Linux gratuita e open source progettata per creare console di retrogaming da una vasta selezione di dispositivi. Supporta una varietà di piattaforme e architetture, dai computer basati su Intel alle schede Raspberry Pi e alle console portatili, e funziona come pannello di controllo centrale per tutti i migliori emulatori di console.

In questo tutorial impariamo come eseguire il flashing di Batocera Linux su una chiavetta USB e creare un dispositivo di retrogaming portatile.

In questo tutorial imparerai:

  • Come scaricare e flashare Batocera su una chiavetta USB
  • Come accedere alle rom e ad altre risorse dalle condivisioni di rete Samba o NFS

Download dell'immagine Batocera

Per scaricare l'ultima versione di Batocera Linux (39 nel momento in cui scriviamo) non dobbiamo fare altro che accedere alla pagina Download del sito ufficiale della distribuzione. Il nostro obiettivo, in questo tutorial, è installare Batocera su una chiavetta USB e usarlo come dispositivo di avvio su macchine x86_64, quindi la prima voce è quella che ci interessa:

Una volta completato il download, dobbiamo scrivere l'immagine su una chiavetta USB sufficientemente grande. Vediamo come possiamo farlo.

Scrivere l'immagine di Batocera

Esistono molti modi in cui possiamo scrivere l'immagine Batocera su chiavette USB: uno dei più intuitivi è utilizzare balenaEtcher, uno strumento gratuito e open source progettato per essere facile da usare e per funzionare su qualsiasi piattaforma. Possiamo scaricare la versione adatta al nostro sistema operativo, direttamente dal sito ufficiale del progetto; per Linux è disponibile un'immagine App portatile. Una volta installato e avviato lo strumento, dovremmo vedere la seguente finestra:

La prima cosa che dobbiamo fare è cliccare sul pulsante “Flash da file” e selezionare l'immagine compressa di Batocera che abbiamo scaricato in precedenza: non è necessario estrarla prima, poiché Etcher è abbastanza intelligente da farlo per noi.

Una volta selezionata l'immagine, dobbiamo selezionare undestinazione: il dispositivo su cui vogliamo flasharla. Facciamo clic sul pulsante “Seleziona target” e scegliamo dall'elenco il dispositivo che vogliamo utilizzare come target; infine, clicchiamo sul pulsante “Seleziona” per confermare la nostra scelta:

Siamo quasi li. Per eseguire il flashing dell'immagine sul dispositivo di destinazione, basta fare clic sul pulsante "Flash!" nell'interfaccia principale di Etcher e fornire la nostra password di amministrazione, se richiesta. Inizierà il processo di flashing:

In pochi minuti il lampeggio dovrebbe essere completo.

Scrittura dell'immagine Batocera con dd (solo Linux e macOS)

Se utilizziamo una distribuzione Linux o macOS e ci sentiamo a nostro agio nel lavorare dalla riga di comando, possiamo eseguire il flashing dell'immagine Batocera con dd, uno strumento solitamente installato di default su qualsiasi sistema operativo basato su Unix. Se decidiamo di utilizzare questo metodo, dovremo prestare molta attenzione quando specifichiamo il dispositivo di destinazione, perché non ci sarà alcuna richiesta di conferma.

Possiamo estrarre e scrivere l'immagine sul dispositivo di destinazione in un unico comando, utilizzando la seguente sintassi:

$ zcat </path/to/batocera/compressed/image> | sudo dd of=</target/device/path> bs=1M

Qui presumo che l'immagine Batocera si trovi nella directory ~/Downloads e che il percorso del dispositivo di destinazione sia /dev/sdb (l'esempio viene eseguito su Linux), quindi il comando che eseguirei è:

$ zcat ~/Downloads/batocera-x86_64-x86_64-39-20240304.img.gz | sudo dd of=/dev/sdb bs=1M

Avvio dalla chiavetta USB

Una volta eseguito il flashing dell'immagine, dobbiamo riavviare (o creare una macchina virtuale) e utilizzare la chiavetta USB come dispositivo di avvio. Il tasto utilizzato per accedere al menu di avvio varia a seconda del produttore del computer (su alcune macchine è il tasto ESC, mentre sui Thinkpad Lenovo, in genere, è F12).

Dal menu di avvio, selezioniamo il nostro dispositivo USB e premiamo Invio. Dovrebbe avviarsi Batocera al posto del nostro sistema operativo. La prima volta che avvieremo Batocera, ridimensionerà automaticamente le partizioni create sul dispositivo USB, in modo da utilizzare tutto lo spazio disponibile. L'operazione potrebbe richiedere del tempo, a seconda delle risorse di sistema e delle dimensioni del dispositivo USB:

Una volta completato il processo, vedremo la schermata di selezione dell'emulatore di sistema/console:

Come accedere alle rom da una condivisione di rete

Batocera crea due partizioni sul dispositivo USB di destinazione; il primo è formattato con il filesystem VFAT, ed è etichettato “BATOCERA”. Contiene i file necessari per l'avvio del sistema, come batocera.conf. La seconda, che si estende sul resto del dispositivo, è la partizione “userdata”, formattata con il filesystem EXT4 con l'etichetta “SHARE”. Contiene, tra le altre, le directory “saves”, “bios” e “roms”. Il primo contiene i file di salvataggio, il secondo è dove inseriamo le immagini del bios richieste da alcune console e il terzo contiene le immagini dei giochi in una serie di sottodirectory che prendono il nome dai sistemi emulati:

Per poter montare le directory condivise, dobbiamo modificare il file batocera.conf, che, come abbiamo visto, si trova nella partizione “BATOCERA”. Siamo interessati al contenuto della riga 11:

sharedevice=INTERNAL

Per montare le directory condivise in rete, dobbiamo cambiarlo in:

sharedevice=NETWORK

Dobbiamo quindi specificare le directory che vogliamo montare sulla rete. Quasi ogni directory nella partizione dei dati utente di Batocera è identificata da una parola chiave, che è fondamentalmente il suo nome in maiuscolo. La parola chiave SHARE è un'eccezione, poiché rappresenta il contenuto della partizione nel suo insieme. Le parole chiave disponibili sono:

    • CONDIVIDERE
    • ROM
    • BIOS
    • SALVA
    • MUSICA
  • DECORAZIONI
  • SCHERMATE
  • TEMI
  • TRUCCHI
  • SUONI
  • BIBLIOTECA
  • SPRUZZARE

Batocera supporta il montaggio di condivisioni di rete samba e NFS. Vediamo innanzitutto come montare le directory condivise da Samba.

Montaggio delle condivisioni di Samba

Supponiamo di avere una condivisione samba denominata "data" accessibile come utente anonimo (ospite) su un NAS con l'IP 192.168.0.39. All'interno di questa condivisione abbiamo una directory chiamata “batocera” che contiene l'intera struttura di directory della partizione “SHARE” di Batocera. Per montare questa directory nel suo insieme, possiamo usare la parola chiave “SHARE”. Ecco la sintassi che useremmo:

sharenetwork_smb1=SHARE@192.168.0.39:data/batocera:guest

Se per accedere alla condivisione è richiesta l'autenticazione, possiamo specificare nome utente e password tramite le opzioni dedicate:

sharenetwork_smb1=SHARE@192.168.0.39:data/batocera:username=<username>,password=<password>

Cosa succede se vogliamo montare solo una directory specifica? Tutto quello che dobbiamo fare è utilizzare la parola chiave della directory appropriata. Supponiamo ad esempio di voler montare solo rom condivise. Assumendo la stessa condivisione di rete vista nell'esempio precedente, scriveremmo:

sharenetwork_smb1=ROMS@192.168.0.39:data/batocera/roms:username=<username>,password=<password>

Possiamo specificare più montaggi di rete. Nell'esempio seguente montiamo separatamente le directory condivise “roms”, “saves” e “bios”:

sharenetwork_smb1=ROMS@192.168.0.39:data/batocera/roms:username=<username>,password=<password>
sharenetwork_smb2=SAVES@192.168.0.39:data/batocera/saves:username=<username>,password=<password> 
sharenetwork_smb3=BIOS@192.168.0.39:data/batocera/bios:username=<username>,password=<password>

Montaggio delle condivisioni NFS

E le azioni NFS? La sintassi è la stessa; la differenza è che dobbiamo utilizzare il prefisso “nfs” invece di “smb” e il percorso completo della directory condivisa, invece del nome della condivisione. Supponiamo, ad esempio, che la directory condivisa sul NAS sia /srv/batocera. Per montare l'intero contenuto, scriveremmo:

sharenetwork_nfs1=SHARE@192.168.0.39:/srv/batocera

Per montare le directory separatamente, invece:

sharenetwork_nfs1=ROMS@192.168.0.39:/srv/batocera/roms
sharenetwork_nfs2=SAVES@192.168.0.39:/srv/batocera/saves
sharenetwork_nfs3=BIOS@192.168.0.39:/srv/batocera/bios

Conclusioni

In questo tutorial abbiamo imparato come creare un sistema di retrogaming portatile su chiavetta USB utilizzando Batocera. Abbiamo visto come eseguire il flashing dell'immagine utilizzando balenaEtcher e come utilizzare dd come alternativa alla riga di comando sui sistemi operativi basati su Unix. Infine, abbiamo visto come Batocera partiziona la chiavetta USB e come accedere alle risorse dalle condivisioni di rete Samba o NFS.

Articoli correlati: