🛠 Premier boot du Lichee RV Dock avec Ubuntu 24.04 RISC-V
Objectives
Boot the Sipeed Lichee RV Dock (Lichee RV module + Dock carrier board, Allwinner D1 RISC-V SoC) for the first time using the official Ubuntu 24.04 Server image for this board — one of the first RISC-V images published by Canonical. You will learn how to write the image to a microSD card, how to power the board correctly (the USB-C cable pitfall is documented by Sipeed themselves), and how to monitor the boot process on the serial console. By the end, you will have a command prompt and know how to read the board's information.
Hardware
- Lichee RV Dock kit: Lichee RV module (Allwinner D1, 512 MB DDR3) + Dock carrier board (65 × 40 mm)
- USB-A to USB-C cable: C-to-C cables DO NOT WORK by default — the module's Type-C port uses the CC pin for automatic OTG ID (official Sipeed wiki notice); you need an A-to-C adapter, or solder 5.1 kΩ resistors on R30/R31 and remove diodes D3/D4
- microSD card (the slot is under the module, not on the Dock)
- 3.3 V USB-UART adapter for the serial console on UART0 (pins PB8/PB9 of the 2×20 connector), 115200 8N1
- 5 V/1 A minimum power supply on the module's USB-C port (the Dock has no DC jack)
Complete Code
# 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
Expected Verification
On the serial console at 115200 8N1, you see U-Boot then the kernel starting, followed by an ubuntu login: prompt. uname -a displays riscv64, free -h shows approximately 460-500 MB usable out of 512 MB, and /proc/device-tree/compatible contains sipeed,lichee-rv-dock. The HDMI (up to 4Kp30) displays nothing under Server: this is normal, as the image has no graphical interface (Canonical states that RISC-V graphical support is not complete).
Common Errors
- USB-C to USB-C cable: nothing powers on, the Dock remains off — the #1 cause of "dead board"; use a USB-A to USB-C cable (hardware limitation documented by Sipeed, bypassable by reworking R30/R31 + D3/D4).
- Looking for the microSD port on the Dock: it is UNDER the Lichee RV module.
- Wrong serial baud rate: the console is at 115200 (not 1,500,000 like on some Rockchip boards); swapped TX/RX = black screen.
- Writing the image to the wrong USB drive with dd: always check with
lsblkfirst; the microSD card must be high quality (low-end cards cause corrupted ext4 filesystems). - Expecting Wi-Fi without a module: only the SKU with the RTL8723DS option has Wi-Fi/BT; the bare Dock has neither wired nor wireless networking.
Other tutorials for this board
- 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)
Code examples for this board
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash