Hi.
I've been playing around for the last few days to boot FreeBSD on this SBC. In the end, the process was quite easy, but getting to that point required some learning
Maybe this will help someone
1. Get FreeBSD base image, I've used
and dd it into SD
2. Get latest u-boot for this board (use Linux box or WSL)
Two files you want from ".root/usr/lib/u-boot/rock-3c" are "idbloader.img" and "u-boot.itb"
3. Overwrite u-boot, either on image or SD card, then write image to SD card (adjust freebsd.img to image of your choice or SD directly)
4. Now the fun part, DTS, I've used DTS from https://github.com/radxa/kernel/pull/133/files, clone the repo with those changes, checkout the current branch and you should be able to do something like
For this step use Linux box or WSL.
5. Now mount the SD card and copy "rk3566-rock-3c.dtb" to /boot/dtb/rockchip/
6. Add those lines to /boot/loader.conf also
first line is adding FDT to disable bogus device
second one is adding serial output while booting kernel
7. Create file /boot/dtb/overlays/rk3566-rock-3c-tsadc.dtso with content:
Compile it with command "dtc -I dts -O dtb -o rk3566-rock-3c-tsadc.dtbo rk3566-rock-3c-tsadc.dtso"
alternative way is to run command "fdt rm /tsadc@fe710000" at loader, before booting kernel - this device is causing board to reset while booting kernel
same goes with "set hw.fdt.console=/serial@fe660000"
8. Insert SD into board, connect serial (speed 1500000) and boot
9. It should boot, blue LED should also light up, there will be no "login console" on serial - haven't looked up for that yet
10. Connect ethernet cable, it should get IP from DHCP server in your network - check your router for IP and ssh into the box (freebsd / freebsd)
11. There are some errors with USB, but one port (the bottom one on the right side) should be working.
Hope this helps someone
Attached binary files if you just want to boot it up.
I've been playing around for the last few days to boot FreeBSD on this SBC. In the end, the process was quite easy, but getting to that point required some learning

Maybe this will help someone
1. Get FreeBSD base image, I've used
Code:
FreeBSD-14.0-CURRENT-arm64-aarch64-PINE64-20230608-653738e895ba-263444.img
2. Get latest u-boot for this board (use Linux box or WSL)
Code:
git clone https://github.com/radxa-repo/bsp
cd bsp
./bsp u-boot latest
...
3. Overwrite u-boot, either on image or SD card, then write image to SD card (adjust freebsd.img to image of your choice or SD directly)
Code:
dd if=idbloader.img of=freebsd.img seek=64 conv=notrunc
dd if=u-boot.itb of=freebsd.img seek=16384 conv=notrunc
4. Now the fun part, DTS, I've used DTS from https://github.com/radxa/kernel/pull/133/files, clone the repo with those changes, checkout the current branch and you should be able to do something like
Code:
ARCH=arm64 make rockchip_linux_defconfig
ARCH=arm64 make dtbs
find . -name rk3566-rock-3c.dtb
5. Now mount the SD card and copy "rk3566-rock-3c.dtb" to /boot/dtb/rockchip/
6. Add those lines to /boot/loader.conf also
Code:
fdt_overlays="rk3566-rock-3c-tsadc"
hw.fdt.console="/serial@fe660000"
second one is adding serial output while booting kernel
7. Create file /boot/dtb/overlays/rk3566-rock-3c-tsadc.dtso with content:
Code:
/dts-v1/;
/plugin/;
/ {
compatible = "radxa,rock-3c", "rockchip,rk3566";
};
&{/tsadc@fe710000} {
compatible = "rockchip,rk3568-tsadc";
status = "disabled";
};
alternative way is to run command "fdt rm /tsadc@fe710000" at loader, before booting kernel - this device is causing board to reset while booting kernel
same goes with "set hw.fdt.console=/serial@fe660000"
8. Insert SD into board, connect serial (speed 1500000) and boot
9. It should boot, blue LED should also light up, there will be no "login console" on serial - haven't looked up for that yet
10. Connect ethernet cable, it should get IP from DHCP server in your network - check your router for IP and ssh into the box (freebsd / freebsd)
11. There are some errors with USB, but one port (the bottom one on the right side) should be working.
Code:
root@generic:~ # uname -a
FreeBSD generic 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n263444-653738e895ba: Thu Jun 8 11:08:03 UTC 2023 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
Hope this helps someone

Attached binary files if you just want to boot it up.
Attachments
Last edited: