The Beagle-V 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.

BeagleV # CONFIG_CMD_BOOTEFI=y
BeagleV # CONFIG_EFI_LOADER=y
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}

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.

riscv/BeagleV (last edited 2021-05-27 02:07:15 by MarkLinimon)