RISC-V

Revision 2 as of 2020-11-25 18:46:06

Clear message

RISC-V

Ubuntu provides riscv64 architecture for the RISC-V platform since Focal release.

One can boot it on any system with qemu-system, or on bare-metal board such as those built by SiFive.

Booting with qemu

  • Machine type virt aka -machine virt

  • Bios is OpenSBI (apt install opensbi) -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf

  • "kernel" is qemu smode uboot (apt install u-boot-qemu) -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf

  • And just the cloud image from http://cloud-images.ubuntu.com/

Working example with all the options is:

` qemu-system-riscv64 \ -machine virt -m 2048 -smp 4 \ -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \ -device virtio-blk-device,drive=vda -drive file=livecd.ubuntu-cpc.img,id=vda -device virtio-net-device,netdev=eth0 -netdev user,id=eth0 `

Adjust to taste as needed. The image has a fallback cloud-init datasource that configures sudo user ubuntu with password ubuntu. Alternatively, you can provide a config drive (or tweak the first partitions /var/lib/cloud/seed/nocloud/* files) to setup anything else using cloud-init. For example ssh keys, disabling interactive login, and so on. See https://cloudinit.readthedocs.io/en/latest