BeagleV is a low-cost RISC-V 64-bit based platform. The beta revision of the board uses the Starfive JH7100 SoC.
$ SHELL=/bin/bash kas-container build ./meta-riscv/beaglev.yml
The kas-container
script can be obtained from
kas repository.
- core-image-minimal-beaglev-starlight-jh7100.wic.gz
- core-image-minimal-beaglev-starlight-jh7100.wic.bmap
- fw_payload.bin
- fw_payload.elf
- extlinux.conf
- Image
- starfive_vic7100_beagle_v.dtb
- u-boot.bin
Flash core-image-minimal-beaglev-starlight-jh7100.wic.gz
onto uSD card:
$ sudo bmaptool copy --bmap core-image-minimal-beaglev-starlight-jh7100.wic.bmap core-image-minimal-beaglev-starlight-jh7100.wic.gz /dev/sdx
Generally you shouldn't need to change u-boot or OpenSBI, but if you do need to you can update it with the Xmodem protocol. Below are steps to do this with Linux and screen.
First prepare the image with
$ perl -e 'print pack("l", (stat @ARGV[0])[7])' fw_payload.bin > fw_payload.bin.out
$ cat fw_payload.bin >> fw_payload.bin.out
and install the lrzsz
package.
Then connect to the UART console
screen /dev/ttyUSB0 115200
Press the RST
button on the board and then press a key to interrupt the
boot process. You should then see
*************** FLASH PROGRAMMING *****************
After that press 0
to update the bootloader. Then press Ctrl
+ A
then :
.
In screen run:
exec !! sx fw_payload.bin.out
You can now watch the bootloader update. After it is complete you can reboot the board and watch it boot.
More details can be found here.