- System Version: Buildroot
- Source Code Link: Buildroot Download
- As of the time of writing, the latest stable/LTS version of Buildroot is: buildroot-2024.02.1
- Reference Installation Document: VisionFive Buildroot Documentation
- Build Machine OS: Arch Linux x86_64
- StarFive VisionFive (v1)
- Power Adapter
- A USB A to C or C to C Cable
- A microSD Card
- A USB to UART Debugger
Since VisionFive’s Buildroot support is upstreamed, you can directly fetch the source code from Buildroot to build the functional image.
sudo pacman -S which sed make binutils diffutils gcc bash patch gzip bzip2 perl tar cpio unzip rsync file bc findutils wget
# Or using package form AUR
# paru -S buildroot-meta
If you are not using Arch Linux, refer to the official documentation to install the necessary dependencies (note that the names of the packages might differ).
wget https://buildroot.org/downloads/buildroot-2024.02.1.tar.gz
tar xvf buildroot-2024.02.1.tar.gz
cd buildroot-2024.02.1/
make visionfive_defconfig
make -j$(nproc)
Note: Ensure you have a stable internet connection; dependencies will be downloaded automatically during the compilation.
After the build, an sdcard.img
image will be created in the output/images
directory.
Use dd
to write the image to the microSD card.
Here, we assume the storage card is located at /dev/sdc
.
sudo wipefs -af /dev/sdc
sudo dd if=~/buildroot-2024.02.1/output/images/sdcard.img of=/dev/sdc bs=1M status=progress oflag=direct
Logging into the system via the serial port.
Default username: root
Default password: none, login is automatic after entering the username.
The system should boot normally and allow login through the onboard serial port.
The system booted successfully and login through the onboard serial port was also successful.
Welcome to Buildroot
buildroot login: root
# uname -a
Linux buildroot 6.0.0-visionfive #1 SMP Wed Mar 27 20:54:25 CST 2024 riscv64 GNU/Linux
# starfive-drm soc:display-subsystem: [drm] Cannot find any crtc or sizes
# cat /etc/os-release
NAME=Buildroot
VERSION=2024.02.1
ID=buildroot
VERSION_ID=2024.02.1
PRETTY_NAME="Buildroot 2024.02.1"
#
Screen recording (from flashing the image to logging into the system):
Successful: The actual result matches the expected result.
Failed: The actual result does not match the expected result.
Test successful.