🛠 Tina Linux : l'OpenWrt vendor d'Allwinner pour le Lichee RV, installation et sysconfig
Objectifs
Deux mondes pour le D1 : l'écosystème vendor (Tina Linux, distribution OpenWrt 14.07 d'Allwinner fournie avec le BSP SDK Sipeed) et l'écosystème mainline (device tree de la carte fusionné dans le noyau pour v6.3, images Ubuntu 24.04/Buildroot). Ce tutoriel installe Tina Linux sur microSD, découvre son shell façon OpenWrt (UCI, sysconfig) et explique quand choisir l'un ou l'autre : Tina apporte la doc Sipeed et l'étage multimédia Cedar ; le mainline apporte noyau récent, correctifs d'errata T-Head et paquets modernes. À la fin, vous flashez les deux et basculez en échangeant la microSD.
Matériel
- Lichee RV Dock + module, câble USB-A vers USB-C, console série 115200
- microSD vierge 8 Go+ et lecteur sur PC Linux
- Archive image vendor du wiki Sipeed (page Lichee RV, section téléchargement ; les images Debian sont sur un miroir mega.nz listé par le wiki)
Code complet
# 1) Récupérer l'image vendor (Tina ou Debian) depuis le wiki Sipeed, décompresser,
# puis écrire sur microSD (VÉRIFIER sdX avec lsblk !) :
sudo dd if=tina-lichee-rv-dock.img of=/dev/sdX bs=4M status=progress conv=fsync
sync
# 2) Boot sur série 115200 : BROM -> U-Boot -> Tina (invite root sans mot de passe).
# Inventaire façon OpenWrt :
cat /etc/openwrt_version 2>/dev/null ; cat /etc/tinaversion 2>/dev/null
uci show network 2>/dev/null | head
sysconfig 2>/dev/null | less # menu de config vendor (board, dts, features)
# 3) Ce que dit la carte de sa chaîne de boot :
dmesg | grep -iE 'opensbi|machine'
cat /sys/firmware/devicetree/base/compatible # allwinner,sun20i-d1 (vendor)
# 4) Retour au mainline : éteindre, écrire l'image Ubuntu/Buildroot sur une AUTRE
# microSD, rebrancher — le BROM boote la carte insérée. Pas de dual boot
# logiciel : c'est la carte physique qui choisit l'image.
Vérification attendue
Sous Tina, l'invite root@(none):/# façon OpenWrt apparaît sur la série et cat /etc/openwrt_version répond (base 14.07). Les outils vendor (sysconfig) existent, absents des images mainline. En redémarrant sur l'autre carte, /proc/device-tree/compatible affiche sipeed,lichee-rv-dock (device tree amont) au lieu du nom vendor — la preuve que le noyau mainline reconnaît la carte. Le passage Tina ↔ mainline se fait en échangeant simplement la microSD.
Erreurs fréquentes
- Chercher Tina sur openwrt.org : OpenWrt amont n'a PAS de target RISC-V sunxi (le target sunxi y est
ARCH:=arm, sous-targets ARM uniquement) ; seule la voie vendor Sipeed/Allwinner fournit Tina pour le D1. - Écrire une archive vendor brute sans lire le flash tutorial Sipeed : certaines distributions vendor passent par PhoenixCard/xfel plutôt qu'un simple dd.
- Attendre un opkg riche et à jour : les feeds vendor sont anciens, parfois éteints ; pour un paquet moderne, mieux vaut l'image mainline ou le BSP SDK.
- Mélanger rootfs mainline et kernel vendor (ou l'inverse) : modules introuvables, réseau muet ; garder des cartes séparées et étiquetées.
- Oublier le câble A-vers-C à chaque manipulation (piège CC du module).
Autres tutoriels pour cette carte
- Premier boot du Lichee RV Dock avec Ubuntu 24.04 RISC-V
- 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
- 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