🛠 Construire une image mainline complète avec Buildroot (defconfig officiel du Dock)

Sipeed Lichee RV Dock (Allwinner D1 / T-Head XuanTie C906) · avance · Schéma : IMG-sipeed-lichee-rv-dock-avance-3-licheerv-buildroot-mainline.svg — chaîne de build Buildroot pour le Lichee RV Dock : croisée riscv64, OpenSBI 1.2 (M-mode), U-Boot lichee_rv_dock (S-mode), kernel avec sun20i-d1-lichee-rv-dock.dtb, rootfs ext4 et image sdcard.img à écrire sur la microSD sous le module

Objetivos

Buildroot contiene un soporte OFICIAL in-tree para esta placa: la defconfig sipeed_lichee_rv_dock (board/sipeed/lichee_rv_dock) que ensambla una imagen mainline completa — OpenSBI 1.2 genérico, U-Boot lichee_rv_dock (árbol sunxi/d1 de Samuel Holland), kernel con defconfig nezha y el device tree allwinner/sun20i-d1-lichee-rv-dock.dtb, además de los paquetes RTL8723DS Wi-Fi/BT, wpa_supplicant y bluez. Este tutorial avanzado cubre: compilación completa desde un PC x86, escritura de sdcard.img, y personalización (paquetes, rootfs en overlay). Es EL método reproducible para un producto basado en D1.

Hardware

Código completo

# 1) Sources Buildroot (master ou branche stable)
git clone https://gitlab.com/buildroot.org/buildroot.git
cd buildroot

# 2) Defconfig officielle de la carte
make sipeed_lichee_rv_dock_defconfig
make menuconfig      # optionnel : paquetals (dropbear, nginx, python...), kernel local

# 3) Build complet (long à la première exécution)
make -j"$(nproc)"

# 4) Image SD bootable (layout genimage : vfat /boot + ext4 racine)
ls -lh output/images/    # sdcard.img, fw_jump.bin/fw_dynamic.bin (OpenSBI),
                         # u-boot.bin, Image, sun20i-d1-lichee-rv-dock.dtb
lsblk   # puis écrire sur la BONNE carte :
sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=4M status=progress conv=fsync

# 5) Boot : microSD sous le module, câble A-vers-C, série 115200 -> invite root.
#    Vérifier la chaîne :
dmesg | grep -iE 'machine|opensbi'
ls /proc/device-tree/ | head
cat /proc/config.gz > /dev/null 2>&1 || zcat /proc/config.gz | grep THEAD

Verificación esperada

output/images/sdcard.img se produce sin errores; al arrancar por serie, OpenSBI anuncia RISC-V SBI, U-Boot inicia, el kernel carga y monta la raíz ext4; aparece el prompt # de Buildroot. uname -m devuelve riscv64, ls /sys/class/leds muestra los LED del device tree upstream, y ip link revela wlan0 (paquete RTL8723DS incluido). El dtb utilizado es efectivamente sun20i-d1-lichee-rv-dock (visible en el log de U-Boot « Flattened Device Tree »).

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales