OPi5 NVME

Des transferts plus rapides avec un NVME

Les SBC ont essentiellement utilisées des cartes SD depuis le début de leur proliférations. Le support a acquis une sale réputation, en grande partie usurpée : il convient d'alimenter correctement les SBCs et d'éviter de les débrancher brutalement, mais dans l'ensemble le support est fiable, à condition de ne pas avoir une carte "fake", une fausse carte de marque. Il se trouve que les SBCs sont de plus en plus rapides. Pourquoi continuer à se traîner les cards SD ? Des solutions sont apparues au fil du temps, la Raspberry boote depuis quelques années sur le port USB, de la mémoire embarquée emmc ou, cerise sur le gâteau, un port nvme. C'est ce que propose la Orange Pi 5 : un port nvme !

Après avoir branché un disque NVME 2280 (donc de 8 centimètres de long) et vérifié qu'il était reconnu sous ubuntu, je me suis dit : "pourquoi ne pas installer un NVME ?". Mon 2280 est trop long pour ne pas déborder de la carte, mais un 2230 ou un 2242 trouve sa place sur la OPi5.

Sur la boutique en ligne chinoise, on peut trouver un nvme M2 2242pour environ 12€. Il existe aussi des produit en 2230 de marque Hynix ou Kiokia, qui sont de très bonnes marques. Si vous voulez tenter, recherchez sur Aliexpress, mais surtout ne dépensez pas des fortunes : 13€ pour 128Go c'est bien, 20€ ça va, mais ne mettez pas plus cher...

En effet, la documentation utilisateur disponible en suivant ce lien est claire à ce sujet.

Au passage, merci Xunlong de proposer une documentation déjà bien fournie, au contraire de la Pi800 qui n'a que ses yeux pour pleurer.

Comme l'indique la documentation de la OPi5, la cartounette n'a qu'une ligne PCIe2 de câblée et les performances max sont de 500MB/s : inutile de prendre un nvme rapide, ça ne sert à rien !

Installer le système sur le nvme

Le documentation explique les étapes :

  1. il faut commencer par installer un système sur la carte SD pour booter,

  2. booter sur la carte SD,

  3. puis transférer le système à installer sur le nvme

Pour ma part, j'ai choisi de travailler avec le système Debian et la version sans interface graphique. Une fois que la carte a démarré, je me connecte dessus et je la connecte à mon NAS (qui est une Orange Pi Zero 2) :

# install the samba library

sudo apt install smbclient

## install cifs

sudo apt install cifs-utils


#create the mnt dir

sudo mkdir /mnt/opz2


## mount - psw is Renaud1965*

sudo mount -t cifs -o username=renaud //192.168.1.120/opz2share /mnt/opz2/

Ensuite je me trompe un peu, mais j'arrive à lancer la commande de copie de l'image, que j'avais à disposition sur mon NAS, vers le dossier /home/oragepi/ de la carte. Sincèrement si vous avez une clé USB, laissez tomber la connection au NAS, utilisez la clé !

Ceci dit, on a besoin de l'image sur la OPi5 et on vient de la copier dans le dossier /home/orangepi...

Taper la commande sudo nand-sata-install

Esuite,

  • sélectionner bootloader on SPI Flash,

  • patienter quelques minutes...

  • lorsque le flash de la mémoire SPI est terminé, un petit "Done" est affiché en bas à gauche.



Avant de tout foirer, on confirme que le nvme est vu par la carte : sudo fdisk -l | grep "nvme0n1"

La commande lspci permet de confirmer que nous avons un périphérique sur le bus pci.

La commande suivante permet de copier l'image sur le disque :

sudo dd bs=1M if=Orangepi5_1.0.2_debian_bullseye_server_linux5.10.110.img of=/dev/nvme0n1 count=2000 status=progress

le paramètre if indique le nom de l'image : à moins d'être déjà dans le dossier où se trouve l'image, il est impératif d'indiquer le chemin complet.

Il est temps de redémarrer le système... sudo reboot et on peut enlever la carte du lecteur de carte, plus besoin.