Ubuntu 20.04/21.04 64-bit RISC-V released for QEMU, HiFive boards

Ubuntu RISC-V HiFive QEMU

Let’s a lot of excitement around RISC-V open architecture, but a lot of work still needs to be done to bring the ecosystem to level with Arm or x86 architecture from the silicon to the software. Progress is made step-by-step and one of these steps is Canonical released Ubuntu 64-bit RISC-V (RISCV64) images for some of SiFive HiFive boards, as well as QEMU open-source emulator. Specifically, Canonical released an Ubuntu 20.04.2 LTS image for HiFive Unleashed & QEMU, and an Ubuntu 21.04 image for HiFive Unleashed, HiFive Unmatched, and QEMU. Note those are only server images, and there’s no desktop image yet like for Ubuntu 21.04 on Raspberry Pi 2/3/4. It’s been possible to run RISC-V Linux in QEMU for at least three years, but when I tried it was a minimal system based on Busybox, so let’s try again with Ubuntu 21.04 following the instructions provided on Discourse. I […]

QEMU 5.0 Supports Recent Armv8.x Features, Cortex-M7 CPU, Host Directory Access, and More

Qemu 5.0

QEMU (Quick EMUlator) is an open-source emulator that’s great to run programs on various architectures such as Arm, RISC-V, and many others when you don’t own proper hardware. The developers have now released QEMU 5.0.0 will plenty of new features and such as support for Armv8.1 to Armv8.4 architectures, Arm Cortex-M7 processor, various changes to MIPS, PowerPC, RISC-V, s390… architectures, support for accessing a directory on the host filesystem from the guest using virtiofsd and more. There have been over 2800+ commits from 232 developers, so the list of changes to too long to write here, but some of the highlights include: Support for passing host filesystem directory to guest via virtiofsd Support for ARMv8.1 VHE/VMID16/PAN/PMU, ARMv8.2 UAO/DCPoP/ATS1E1/TTCNP, ARMv8.3 RCPC/CCIDX,  ARMv8.4 PMU/RCPC Added ARM Cortex-M7 CPU support New Arm boards: tacoma-bmc, Netduino Plus 2, and Orange Pi PC Allwinner SoC model now wires up the USB ports TPM support for […]

Getting Started with Embedded Linux on RISC-V in QEMU

RISC-V Linux QEMU Buildroot

RISC-V is getting more and more popular, but if you want to run Linux on actual hardware it’s currently fairly expensive since you either need to rely on HiFive Unleashed SBC ($999), or expensive FPGAs. Another solution is running Linux RISC-V via QEMU emulator,  and I showed how to do this using BBL (Berkeley Boot Loader),  Linux 4.14, and busybear rootfs. If you check the comments section of that earlier post you could also try out Fedora RISC-V images in QEMU. Bootlin has now published a presentation showing how to run embedded Linux on RISC-V in QEMU with many of the same components as in the previous instructions, but with a more up-to-date Linux kernel (5.4), and using Buildroot to build everything from scratch including the toolchain, BBL, the Linux kernel, and a Busybox based root file system. They explain each step in detail in the 45-page presentation to allow […]

Pantahub Enables Seamless, Remote Linux Firmware Updates Over-the-Air

Pantahub

Let’s say you’re running Raspbian on your Raspberry Pi 4 board, but would like to check out the latest Ubuntu 19.10 for the board. What would you normally have to do? After downloading the firmware and turning off your Raspberry Pi 4, you’d normally need physical access to your Raspberry Pi 4 to remove the MicroSD card, insert it into your computer and start balenaEtcher or other utility to flash the image. Once it’s done remove the MicroSD card from your PC and insert it back into the Raspberry Pi SBC, before booting it up. That’s fine for experimentation, but time-consuming if you had to do this for multiple boards that may be placed in various locations. That’s where Pantacor’s PantaHub, PantaVisor, and PVR utility come in. Pantahub is a web dashboard used for registration, to monitor your devices, and documentation, Pantavisor is an Alpine Linux based  device init system […]

FreeRTOS Kernel Now Supports RISC-V Architecture

FreeRTOS RISC-V

FreeRTOS is one of the most popular operating systems found in embedded systems, and RISC-V open architecture is getting more and more traction, so it should come as no surprise that Amazon has now added RISC-V to their recently acquired FreeRTOS kernel. Jeff Barr, Chief Evangelist for AWS, explains both 32-bit and 64-bit RISC-V cores are supported, and several RISC-V boards are already supported out of the box: The kernel supports the RISC-V I profile (RV32I and RV64I) and can be extended to support any RISC-V microcontroller. It includes preconfigured examples for the OpenISA VEGAboard, QEMU emulator for SiFive’s HiFive board, and Antmicro’s Renode emulator for the Microchip M2GL025 Creative Board. There’s no a lot of information on Amazon announcement post, but FreeRTOS website has plenty of resources to help you get started with RISC-V. The page also lists some of the key features of the RISC-V port: Supports machine […]

QEMU 2.12 Released with Raspberry Pi 3, RISC-V Support

QEMU is open source machine emulator and virtualizer, which I used in the past at a time when Arm boards were more expensive or hard to get than today, and more recently I tested RISC-V Linux using QEMU (fork). QEMU 2.12 has now been released with some interesting new features including RISC-V support, and initial support for Raspberry Pi 3 machine model. The Changelog is rather long, but some other notable changes include: Cortex-M33 Armv8-M emulation, used by the new mps2-an505 board. Support for various AArch64 v8.1/v8.2/v8.3 extensions. Initial support for Raspberry Pi 3 machine model i.MX7 SoC and i.MX7 Sabre board emulation. Spectre/Meltdown mitigation support for x86/pseries/s390 guest Intel IOMMU support for 48-bit addresses Many SD card emulation cleanups and bugfixes. Etc.. You can get the source code and build instructions in the download page. If you are interested in running Debian on RPI 3 model, or/and want to […]

How to Run Linux on RISC-V with QEMU Emulator

RISC-V open source architecture is starting to become more and more interesting thanks the growing RISC-V hardware & software ecosystem, and with the recent release of HiFive Unleashed, we even have a board capable of running Linux. The only problem: it costs $999. But luckily, it’s possible to experiment with Linux on RISC-V without extra hardware, just using your current PC. Imperas offers a commercial solution working on both Windows and Linux that relies on busybear-linux RISC-V Linux root filesystem comprised of busybox and dropbear SSH server. The rootfs also works with QEMU, so I tried it in Ubuntu 16.04. The instructions on Github are quite easy to follow. My computer is powered by an AMD FX8350 processor coupled with 16GB RAM, and the whole process took around 2 hours, so better use the fastest computer possible. It also requires around 26 GB of storage on your build machine. First, […]

How to Run Ubuntu 16.04 Aarch64 (64-bit ARM) Cloud Images on Your Intel/AMD Linux Computer with QEMU

With the recent launch of several low cost Cortex A53 development boards, 64-bit ARM hardware is now pretty common and inexpensive, but if you want to run 64-bit ARM code on your x86 Linux computer, Riku Voipio, a software engineer working for Linaro, wrote some instructions to run Ubuntu 16.04 Aarch64 Cloud image in QEMU. Ubuntu cloud images are “the official Ubuntu images and are pre-installed disk images that have been customized by Ubuntu engineering to run on public clouds that provide Ubuntu Certified Images, Openstack, LXD, and more. ”  So the instructions are also useful if you want to easily try such packages on 64-bit ARM platform. I’ve tried those instructions myself on my Ubuntu 14.04 machine with and AMD FX8350 processor, and they worked pretty well, and the only things I had to find out by myself was to install a recent version of qemu. First, we’ll need […]