The BeagleV has been abandoned, but future products may use the same SoC and BeagleBoard.org are still working on RISC-V boards.
The BeagleV is a new (as of April 2021) RISC-V based board from BeagleBoard. It is being manufactured by Seeed.
Applications were taken for the initial run of boards, intended for shipping in March 2021. FreeBSD developers are now getting boards as of 20210426.
Most of the documentation is available here; there is also now a Getting Started page.
Here is a very preliminary dmesg from PiotrKubaj's new board done via netboot. (note the lack of ethernet via dwc. Beagle-V is dwc, Hi-Five Unleashed and Unmatched are cgem. This is being worked on.)
Status
Device/Feature |
Status |
Owner |
Notes |
UART |
uart_snps works, needs patch |
mhorne |
|
MMC |
dwmmc working, patches required |
mhorne |
Survives basic testing, growfs may be broken |
Ethernet |
if_dwc working, needs debugging |
|
Driver attaches, can find an IP, but usually hangs after sending a few packets |
l2 cache bits |
In progress |
mhorne |
Need to flush l2 cache on JH7100 due to errata |
USB |
Needs driver |
|
cdns,usb3 compatible |
clk |
?? |
|
Current device tree describes all clocks as fixed. This may change in the future, certainly for the production version. |
mhorne's dev branch
I am able to boot the system to multi-user via SD card. Netbooting works to load the kernel, but mountroot from nfs fails.
For now, my changes are available in the beaglev branch of my GitHub repo. I will continue (force) pushing changes here before they are ready for the src tree.
Suggested setup:
Download the GENERICSD image, and dd it to your SD card. Overwrite the kernel with one built from my WIP branch. You can boot from the preinstalled u-boot with the following commands:
# fatload mmc 0:1 80200000 /EFI/BOOT/BOOTRISCV64.EFI # bootefi 80200000
I suggest growing the root filesystem on a different host, as I had a problem doing it on the beaglev.
$ sudo gpart resize -i 2 da0 $ sudo growfs /dev/da0p2
More detailed instructions to come.
linimon preliminary notes 20210509
What is provided from the manufacturer is the Fedora boot bits. Those are set up as MSDOS partitions. However, FreeBSD/RISC-V is set up to expect booting from EFI. So, you have to do some work.
From the Fedora bits, you will need to copy off hifive-unleashed-a00.dtb
Download and program an mmc with a FreeBSD RISC-V snapshot.
Mount the mmc boot partition (e.g. /dev/da0p1) on your host machine.
Copy the dtb into it under new directory /dtb/. (Unknown if need to to subdir here TBA)
- Make whatever other changes you want to the mmc.
umount the mmc.
- Insert the mmc into the Beagle-V and boot it. It gets to u-boot and then stops.
- Now it's time to type magical stuff to its u-boot:
BeagleV # load mmc 0:1 ${fdt_addr_r} dtb/hifive-unleashed-a00.dtb 1415932 bytes read in 305 ms (4.4 MiB/s) BeagleV # load mmc 0:1 ${kernel_addr_r} EFI/BOOT/bootriscv64.efi 1415932 bytes read in 305 ms (4.4 MiB/s) BeagleV # bootefi ${kernel_addr_r} ${fdt_addr_r}
- and you get the logo, and then hang:
Autoboot in 0 seconds, hit [Enter] to boot or any other key to stop Loading kernel... /boot/kernel/kernel text=0x563f94 text=0x11e384 data=0xcfb38 data=0x9cc+0x103c54 syms=[0x8+0xb5320+0x8+0xd7732] Loading configured modules... can't find '/boot/entropy' can't find '/etc/hostid' Using DTB provided by EFI at 0x87f00000. Kernel entry at 0xc100002e... Kernel args: (null)
and that's as far as I have gotten.