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:

  1. ( 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

arm64/Rock960 (last edited 2020-10-25 04:33:32 by SashaVigole)