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**