Rendez-vous sur Arrakiss
Le 08/10/2019 à 15:14 dans /Logiciel-libre/OpenBSD/

Installation d'OpenBSD sur une carte ROCK64

Voici un petit guide sans prétentions pour installer OpenBSD sur une carte rock64.

Comme indiqué dans le guide d'installation officiel , l'installation sur arm64 nécessite de faire quelques manipulations en plus pour permettre le démarrage d'OpenBSD sur la carte SD ou via USB.

Assemblage

Carte rock64 et son emballage

Il y a des vis, de la pâte thermique, ça s'installe bien et c'est robuste. Commencez par visser les petits supports jaunes au boîtier sur lesquels on visse la carte dans un deuxième temps. D'un côté on met une grande vis, de l'autre une petite. On colle un peu de pâte thermique sur le couvercle pour assurer un bon refroidissement de la ROCK64 passif).

Carte rock64 et des vis

Assemblage de la rock64 dans son boîtier Assemblage de la rock64 dans son boîtier

Il reste des vis (une petite et une grande).

N'oubliez pas de glisser le petit bout de plastique qui conduit la lumière des leds.

Assemblage de la rock64 avec conducteur led Assemblage de la rock64 avec conducteur led

Préparer la console série

Malheureusement, l'installation avec un écran branché en HDMI ne fonctionne pas pour l'instant. Il faut passer par le petit module “port série -> USB” pour accéder à votre ROCK64 depuis votre ordinateur. C'était nouveau pour moi, alors j'ai cherché un peu. Super, c'est du matériel libre, c'est bien documenté :).

Voici comment brancher les différents fils :

Repérez la ligne numéro “2” (la plus proche du bord de la carte).

On n'utilise pas les 2 premiers pins, mais les 3 suivantes : 6, 8 et 10. Dans l'ordre, c'est “GND”, “TXD”, “RTX”. Reliez chacune à la borne correspondante sur le module USB.

                       +-----------------+
                       |+---------------+|
                       ||+-------------+||
      +-----+          |||      +------|||------------------+
      |     5V         |||      |   2..vvv...............   |
      |     3V3        |||      |   1....................   |
      | USB TXD+-------+||      |                           |
      |     RTX+--------+|      |    . ...........          |
      |     GND+---------+      |    . ...........          |
      +-----+                   |                           |
                                |                           |
                                |                  ROCK64   |
                                |                           |
                                +---------------------------+

Une petite photo pour être sûrs ?

Carte rock64 et son emballage Carte rock64 et son emballage

On pluggue sur un port USB puis on allume l'alimentation de la ROCK64.

Entrez ensuite la commande suivante pour accéder à la console :

cu -s 1500000 -l /dev/cuaU0

Par défaut, seul root peut accéder au driver cua. Ajoutez votre utilisateur au groupe “dialer” pour ne plus avoir besoin des privilèges superutilisateurs

doas usermod -G dialer $(whoami)

Vous devrez peut-être remplacer “cuaU0” par une autre valeur. Pour trouver, usbdevs -v est bien pratique ;). Dans le pire des cas, ça ne marchera pas si ce n'est pas le bon, il vous faut alors les essayer tous un par un (mais on n'utilise pas de port série si souvent, donc ce n'est pas dur à trouver, c'est les premiers :) ).

Je trouve ça même très avantageux par rapport à un écran : on met 3 fils, on branche en USB sur un ordi portable et on peut dépanner/mettre à jour son serveur sans à le déplacer ou sortir un écran du grenier.

Flash du SPI avec le bootloader

Cette étape ne sera peut-être plus nécessaire dans les futures versions d'OpenBSD (c'est peut-être déjà le cas sous -current). Il faut flasher la mémoire SPI pour y installer le bootloader opensource uboot permettant le démarrage sur carte SD, mais aussi port USB. J'aurais dû tester de booter sur carte SD avant de suivre cette étape pour vérifier…

Il y a un autre moyen pour forcer le démarrage sur carte SD (relier le PIN 21 au PIN 9 GND et le retirer au bon moment pour qu'il puisse lire la SD…), mais peu pratique.

Arrêtez la ROCK64 lorsque vous avez vu :

Scanning mmc 1:2...
Found U-Boot script /boot.scr
reading /boot.scr
832 bytes read in 2 ms (406.3 KiB/s)
## Executing script at 005SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
reading rksd_loader.img
1073076 bytes read in 49 ms (20.9 MiB/s)
SF: 4161536 bytes @ 0x8000 Erased: OK
device 0 offset 0x8000, size 0x105fb4
SF: 1073076 bytes @ 0x8000 Written: OK

Préparation du support d'installation

Le support d'installation peut-être la carte SD ou même une clé USB classique.

On récupère une image d'installation “fs” d'architecture arm64 :

ftp https://cdn.openbsd.org/pub/OpenBSD/6.4/arm64/miniroot64.fs

On vérifie que c'est bien le fichier complet sans altération :

ftp https://cdn.openbsd.org/pub/OpenBSD/6.4/arm64/SHA256.sig
signify -Cp /etc/signify/openbsd-64-base.pub -x SHA256.sig miniroot*.fs

Vous devez lire :

Signature Verified
miniroot64.fs: OK

On copie ensuite avec la commande dd l'image sur le support d'installation :

# dd if=/miniroot*.fs of=/dev/rsd2c bs=1m 

Installez les paquets u-boot-aarch64 et dtb.

Ensuite, montez le support d'installation pour y ajouter le fichier dtb correspondant au ROCK64 :

mount /dev/sdXi /mnt
mkdir /mnt/rockchip
cp /usr/local/share/dtb/arm64/rockchip/rk3328-rock64.dtb /mnt/rockchip/
umount /mnt

On insère le support d'installation dans la ROCK64 et on l'allume.

L'installation d'OpenBSD est classique. Pour ma part, j'ai choisi d'installer le système sur la carte SD, de diviser la mémoire emmc en 2 : une moitié pour /var et une autre pour les sauvegardes journalières (altroot).

ATTENTION : ne supprimez pas la partition “i” (de type “MSDOS” qui contient le nécessaire pour le démarrage.

Voir aussi