Build an Image for the Sipeed Lichee RV
Automatic building of a Debian image for the Sipeed Lichee RV Risc-V single board computer. This project uses Docker for the heavy lifting. This means that bootable disk images can be created on any kind of OS (windows, mac or Linux).
Author: Tim Molteno ([email protected])
These can be downloaded from here, and installed using any standard disk imaging utility (dd on linux).
Username, Password and WiFi
The username is rv, with password lichee. The root password is licheerv. In these images you can use nmcli or nmtui command line tools to set up a wifi connection
sudo nmcli dev wifi connect "MyWifi" password "my-password"
This will connect to a notwork called "MyWifi", with password "my-password"
How to build your own image
This is intended to be used on a debian system with docker, and docker-compose installed. Modify the parameters of the build in the file docker-compose.yml such as kernel version and board target. Then issue.
docker-compose build docker-compose up
The build stage does a lot of the work (compiling kernels e.t.c and takes quite a bit of time). Once this is done it will be cached by Docker, so should run faster. The execution stage (docker-compose up) runs a script that does more of the image building using a series of scripts (build.sh, create_image.sh).
This should produce a disk image in the directory ./lichee_rv_dock/ located in the same folder as the repository.
There is a Makefile that automates this, and you can just type
And the image will be built. This image can be transferred to an SD card using dd (on Linux)
sudo dd if=licheerv.img of=/dev/sdX bs=4M
where /dev/sdX is the name of the sdcard device (check dmesg output).
docker-compose build --no-cache
And everything will be rebulid (new kernel download e.t.c.). This is very slow (on my laptop)
- Do NOT fix the GPT if you resize the root partition (second partition). This will cause boot errors.
- WiFi on the RV 86 Panel does not work as the xr829 driver is missing. Issue here (#7)
- The tiny LCD screen is not going yet. (#8)
- Use a device tree which speficies the hardware
- Compile uboot & friends
- Then compile the kernel using the same device tree (kernel defconfig)
The device tree is first found in the U-boot compile, and the Kernel compile should use this same device tree. In our case there are two of interest. These are found in uboot/configs/xxx
These are for the RV 86 Panel (with built-in screen) and the dock/board respectively.