FreeBSD Desktop for PineBook Pro

Anyone here still using RK3399? I have working external display via usb-c, as a not yet shared proof of concept, also I did a dtbo overlay to stop the screen flickering on boot for the Pinebook Pro. the usb-c dp works both on rockpro64 and Pinebook Pro. (with some caveats and license issues for now)
 
i don't have a board but somehow not quite offtopic
i have rk_iommu working on rk356x for the framebuffer part (move rk_gem out of gem_cma stuff)
now to do the panfrost part
 
  • Thanks
Reactions: jsm
Hi. I recently bought a Pinebook Pro. I have installed TowBoot on the SPI. Can anyone advise what is the best FreeBSD IMG to install to the MMC?

I used the IMG given here: https://freebsdfoundation.org/wp-content/uploads/2022/04/FreeBSD-on-the-Pinebook-Pro.pdf - which boots fine but there were many issues with incorrect libraries e.g. libssl.so.30 - pkg was completely broken.

Thanks.
I can't seem to get FreeBSD 15 to boot with TowBoot using the ROCKPRO64 img on SD card. I get a scrambled display.
 
Creating a Device Tree Overlay for VOP Clock

On the github webpage referenced above download the raw text to a file named:
rk3399-vopclock.dtso

Save this file on your target ARM device under the directory:
/boot/dtb/overlay/

Then move to the directory:
cd /boot/dtb/overlays

Compile the downloaded file:
dtc -@ -b0 -O dtb -I dts -o rk3399-vopclock.dtbo rk3399-vopclock.dtso

Now add this line to your /boot/loader.conf file:
fdt_overlays="rk3399-vopclock.dtbo"

You then need to reboot for changes to take effect.

On bootup (very early on) you will see dmesg text for status of OVERLAY and if it applied cleanly.
You may need to hit "Scroll Lock" very early on to catch it. It is just before <BOOT>
 
Strike that. It wont compile because it has #INCLUDE

Code:
@P1-PRO:/boot/dtb/overlays # dtc -@ -b0 -O dtb -I dts -o vop.dtb vop.dts
Error at vop.dts:10:37: Expected numbers in array of cells
                        <0x00000008  PLL_GPLL>, <0x00000008 PLL_CPLL>,
                                     ^
Error at vop.dts:10:37: Expected ; at end of property
                        <0x00000008  PLL_GPLL>, <0x00000008 PLL_CPLL>,
                                     ^
Failed to parse tree.
 
Any Overlay that has #INCLUDE needs to have the source tree installed to compile.

Using the same source OVERLAY file but compiled differently:

cd /usr/src/sys/contrib/device-tree

cpp -I /sys/contrib/device-tree/include/ -x assembler-with-cpp /boot/dtb/overlays/rk3399-vopclock.dtso | dtc -I dts -O dtb -o /boot/dtb/overlays/rk3399-vopclock.dtbo

Code:
Loading DTB overlays: 'rk3399-vopclock.dtbo'
/boot/dtb/overlays/rk3399-vopclock.dtbo size=0x1e0
Loading splash ok
applying DTB overlay '/boot/dtb/overlays/rk3399-vopclock.dtbo'
---<<BOOT>>---
 
  • Thanks
Reactions: jsm
Back
Top