🛠 Premier boot du Lichee RV Dock avec Ubuntu 24.04 RISC-V
Objectifs
Faire démarrer pour la première fois la Sipeed Lichee RV Dock (module Lichee RV + carte fille Dock, SoC Allwinner D1 RISC-V) avec l'image officielle Ubuntu 24.04 Server pour cette carte — l'une des premières images RISC-V publiées par Canonical. Vous apprendrez à écrire l'image sur microSD, à alimenter la carte correctement (le piège du câble USB-C est documenté par Sipeed lui-même) et à suivre le boot sur la console série. À la fin, vous avez une invite de commande et vous savez lire les informations de la carte.
Matériel
- Kit Lichee RV Dock : module Lichee RV (Allwinner D1, 512 MB DDR3) + carte fille Dock (65 × 40 mm)
- Câble USB-A vers USB-C : les câbles C-vers-C NE FONCTIONNENT PAS par défaut — le port Type-C du module utilise la broche CC pour l'ID OTG automatique (notice officielle du wiki Sipeed) ; il faut un adaptateur A-vers-C, ou souder des résistances 5,1 kΩ sur R30/R31 et retirer les diodes D3/D4
- Carte microSD (le slot est sous le module, pas sur le Dock)
- Adaptateur USB-UART 3,3 V pour la console série sur UART0 (broches PB8/PB9 du connecteur 2×20), 115200 8N1
- Alimentation 5 V/1 A minimum sur le port USB-C du module (le Dock n'a pas de prise DC)
Code complet
# 1) Télécharger l'image Ubuntu 24.04 Server pour Sipeed LicheeRV Dock
# (liste des images officielles Canonical ; alternative : images Debian du
# wiki Sipeed, ou image ArchLinux communautaire root/archriscv)
# Décompresser puis écrire sur la microSD (VÉRIFIER le périphérique !) :
unxz -c ubuntu-24.04-preinstalled-server-riscv64+lichee-rv-dock.img.xz \
| sudo dd of=/dev/sdX bs=4M status=progress conv=fsync # sdX = votre carte !
# 2) Brancher l'adaptateur série : TX->RX, RX->TX, GND->GND (ne pas câbler le VCC)
# sur les broches UART0 (PB8 TX / PB9 RX) du connecteur 2x20
picocom -b 115200 /dev/ttyUSB0 # ou: sudo minicom -b 115200 -D /dev/ttyUSB0
# 3) Insérer la microSD sous le module, alimenter en USB-C (câble A-vers-C)
# -> U-Boot puis kernel Linux défilent sur la série
# 4) Après le prompt de login (ubuntu/ubuntu au premier boot), vérifier la carte :
uname -a # riscv64 + version du noyau
head -1 /proc/cpuinfo
free -h # 512 MB de RAM (DDR3 in-package du D1)
cat /proc/device-tree/compatible # sipeed,lichee-rv-dock + allwinner,sun20i-d1
Vérification attendue
Sur la console série à 115200 8N1, vous voyez U-Boot puis le noyau démarrer, puis une invite ubuntu login:. uname -a affiche riscv64, free -h montre environ 460-500 Mo utilisables sur les 512 MB, et /proc/device-tree/compatible contient sipeed,lichee-rv-dock. L'HDMI (jusqu'à 4Kp30) n'affiche rien sous Server : c'est normal, l'image est sans interface graphique (Canonical précise que le support graphique RISC-V n'est pas abouti).
Erreurs fréquentes
- Câble USB-C vers USB-C : rien ne s'allime, le Dock reste éteint — cause n°1 de « carte morte » ; utiliser un câble USB-A vers USB-C (limite matérielle documentée par Sipeed, contournable par rework R30/R31 + D3/D4).
- Chercher le port microSD sur le Dock : il est SOUS le module Lichee RV.
- Mauvais débit série : la console est à 115200 (pas 1 500 000 comme sur certaines cartes Rockchip) ; TX/RX inversés = écran noir.
- Écrire l'image sur la mauvaise clé USB avec dd : toujours vérifier avec
lsblkavant ; la microSD doit être de qualité (les cartes bas de gamme provoquent des ext4 corrompus). - Attendre du Wi-Fi sans module : seul le SKU avec option RTL8723DS a le Wi-Fi/BT ; le Dock nu n'a ni réseau filaire ni sans-fil.
Autres tutoriels pour cette carte
- LEDs du Lichee RV Dock : LED verte et RGB WS2812 pilotée par le LEDC du D1
- Audio sur le Dock : enregistrer au micro numérique et jouer sur le haut-parleur 3 W
- Wi-Fi et Bluetooth du module RTL8723DS sur le Lichee RV Dock
- GPIO, touche utilisateur ADC et PWM sur le connecteur 2×20 du Lichee RV
- Tina Linux : l'OpenWrt vendor d'Allwinner pour le Lichee RV, installation et sysconfig
- Construire une image mainline complète avec Buildroot (defconfig officiel du Dock)
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash