what is interesting with this board?
simple answer : it's small(like the RPI),
has an RK3399 6-core and an 32GB emmc(non-removable) onboard,
mine has 4GB RAM ; Rock960-V1.2
So here're the installation-instructions for new supported board Rock960 :
prerequisites:
- ( download Rock960 u-boot-version) :
https://sourceforge.net/projects/all-bsd-u-boot2020-01-rock960/
2. grab your FreeBSD-.xz:
It's very important to get rid of all vendor-preinstalled-uboot, so we begin with brutally erasing the one which is preinstalled on the builtin(non removable) emmc:
We need an USB-C-To-USB-cable connected to USB-C on the Rock960-side and USB on the machine Where you execute rkdeveloptool.. instructions for rkdeveloptool:
https://www.96boards.org/documentation/consumer/rock/installation/linux-mac-rkdeveloptool.md.html
https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip
hint: if you see the rkdeveloptool NOT responding , press CTRL-T in the shell and you'll see something like : 'load: 1.27 cmd: rkdeveloptool 33605 waiting 0.00u 0.00˜ , this tells us that the connection is aborted. So please RECONNECT to MASKROM-mode (https://www.96boards.org/documentation/consumer/rock/installation/linux-mac-rkdeveloptool.md.html) and try as long as you finally got output : !! `Erasing flash complete.` & 'Write LBA from file (100%)` !!
I did it on a Mac :
kls@Klauss-MBP ~ % rkdeveloptool db rk3399_loader_v1.12.112.bin Downloading bootloader succeeded. - kls@Klauss-MBP ~ % rkdeveloptool EF Erasing flash complete. -it`s very important that we now write the OperatingSystem-image as first!!---- kls@Klauss-MBP ~ % rkdeveloptool wl 0 yourdownloadedFreeBSDImage.img Write LBA from file (100%) - now the u-boot:--- kls@Klauss-MBP ~ % rkdeveloptool wl 0x40 idbloader.img Write LBA from file (100%) - kls@Klauss-MBP ~ % rkdeveloptool wl 0x4000 u-boot.itb Write LBA from file (100%) -
You should now be able to boot into u-boot directly from the emmc -just \ try out, e.g. :
root@generic:~ # picocom -b 115200 -r -l /dev/ttyU0
The baud rate is set from 1500000 to 115200, this was necessary because we would hang on last boot stage with 1500000 .
while it is absolutely necessary to get rid of the vendor-preinstalled u-boot , after erasing the emmc-flash we can always additionally boot from the SD-card :
please interrupt the autoboot and goto u-boot-prompt :
....... U-Boot 2020.01-dirty (Feb 23 2020 - 21:30:33 -0500) Model: 96boards Rock960 DRAM: 3.9 GiB PMIC: RK808 MMC: dwmmc@fe310000: 2, dwmmc@fe320000: 1, sdhci@fe330000: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: 96boards Rock960 rockchip_dnl_key_pressed: adc_channel_single_shot fail! Net: No ethernet found. Hit any key to stop autoboot: 0 rock960 => mmc list dwmmc@fe310000: 2 dwmmc@fe320000: 1 (SD) sdhci@fe330000: 0 rock960 => setenv devnum 1 rock960 => run mmc_boot .............. FreeBSD/arm64 EFI loader, Revision 1.1 (Thu Feb 27 06:36:58 UTC 2020 root@releng1.nyi.freebsd.org)
so the 1st recommended workflow for testing for you: just erase the emmc-flash, then do the SD-card-installation by following steps :
extract your downloaded u-boot ... :
dd your FreeBSD-image as first(VERY IMPORTANT!!) to your SD-card (or use a tool like https://www.balena.io/etcher/ ) then kls@Klauss-MBP ~ % sudo dd if=idbloader.img of=/dev/disk2 seek=64 bs=512 conv=sync Password: 290+1 records in 291+0 records out 148992 bytes transferred in 0.076973 secs (1935641 bytes/sec) then kls@Klauss-MBP ~ % sudo dd if=u-boot.itb of=/dev/disk2 seek=16384 bs=512 conv=sync 1601+1 records in 1602+0 records out 820224 bytes transferred in 0.474047 secs (1730259 bytes/sec)
this board doesn't have RJ45 but an WIFI-chip onboard from the company we all love most
the next we'll do is to implement the driver for this chip in FreeBSD .. it will work ( we have done that in openbsd and it runs on 2,4G&5G very very good.
I didn't pay much attention to HDMI because I`m connected via UART (at first view HDMI doesn't work for now, but this shouldn't be a difficult thing to fix)
to begin with networking you can just plug in e.g. an urtwn0 - stick or so (USB(3.0) works fine) which will be detected by FreeBSD until we have implmeneted the brcm-hw-driver and have set up the firmware. you will hear from me with the necessary steps but that has to go to Phabricator first .
thanks to u-boot & specially to openbsd.org for yours incredible support