SiFive HiFive Unmatched Rev B: Revisiting A Premium RISC-V Development Board
SiFive HiFive Unmatched Rev. B: Booting from NVMe, Testing & Conclusions
Ubuntu 24.04 Is A Full Server Experience
Of course, the wonderful thing about Linux is that there are limitless flavors of it available, at least on x86. On the open RISC-V ISA there's definitely a limit, but that includes one of the most popular ones: Ubuntu. Canonical maintains a pre-built Ubuntu Server 24.04 image specifically for the HiFive Unmatched.If you're familiar with other embedded platforms, including those of you that have built a MiSTer FPGA console or tinkered with a Raspberry Pi, you'll be familiar with what comes next. We downloaded the Ubuntu Server image and flashed it to a separate micro-SD card. The image itself is only about 4.5 GB in size, so you really only need an 8 GB card or bigger, but if you want to install to an SSD in the M.2 slot, you'll want at least 16 GB for working room. Our flashing software of choice is balenaEtcher, and flashing our card took only a few minutes to complete.
Once the card has been flashed, we could pop out the card that came with our unit (we didn't want to reuse the card so that we could easily revert to stock) and pop in the new one. And then we powered up the system and waited...and waited. Canonical says it can take a while for the image to boot, and that's definitely a true statement.
But when we plugged the micro USB cable into our MacBook Pro to watch what was happening we could see the familiar and comforting boot log that you'd expect from starting up a Linux box. It wasn't showing on the monitor, however, probably because drivers for our Radeon RX 590 hadn't loaded. Once it was fully booted though, the monitor sprung to life and a text-based login prompt appeared on screen.
Note that there is an installer which can be flashed to an SD card and then booted, to then install to the NVMe drive. Canonical has a separate instruction guide on its wiki, but it's not nearly as fleshed out as the guide we linked. This should work just as well for anybody who would rather roll a from-scratch server setup, but the things we chose to do later on -- like install a desktop environment -- aren't included in the server setup anyway, so with either path you wind up with a booting system that lands at the command line.
At any rate, using the pre-built image we're fully booted and logged into the OS, but there are still some things that are missing. We'd definitely prefer to boot from the NVMe drive, and we have no desktop environment.
Booting The SiFive HiFive Unmatched From NVMe Storage
Now that we've gotten Ubuntu Server booted, it's time to get it up and running on the NVMe drive. We used an ADATA Swordfish 1 TB SSD, which isn't technically on SiFive's qualified list, but worked perfectly for our needs. To be clear, leaving Ubuntu Server on the SD card is fine, but using the SiFive HiFive Unmatched Rev. B that way can be pretty slow. Booting a basic OS from an SD card works well enough; a Raspberry Pi can boot in about 45 seconds that way, but Ubuntu is a bit heavier than that.Booting from the SD card actually takes close to five minutes, and without using a USB terminal connection, there's not really any way to know how it's doing or if the boot will be successful. The M.2 slot for 2280 SSDs only has two lanes of connectivity going to it, but it should be many times faster than booting from the SD card.
While the installation guide from SiFive user and developer William Wilson that we followed on Canonical's forums is pretty old, replacing the download URL with the current image's address still works perfectly. What's mildly irritating is that the whole thing has to be done twice: flash the SD card and boot it, then flash the NVMe drive and boot that afterwards. That's because the chroot environment used in the guide will only work to boot a drive on a RISC-V computer if it's executed from one, and we need the Ubuntu server image on the SD card anyway.
What You Can Do With a RISC-V Server Running Ubuntu
Once we booted from the NVMe drive, it's time to install a desktop environment. That was all part of the same guide, and worked pretty darned well. We'll spare you the details though, since there's no reason to repeat anything and there were no caveats or gotchas involved. Once the Ubuntu Desktop was installed, we could use our Ubuntu Server as an Ubuntu desktop PC.These commands are going to be very remedial to the Linux guru, but it's always fun to document a process. Once we logged in, we ran sudo apt-get update in order to update the package catalog, and then installed a whole host of packages, but the most important ones are mutter and gnome-shell. And if you want to get on the web, don't forget epiphany-browser. Then it was time to reboot the system and disconnect the terminal so we could get to a desktop.
And hey! Here we are at the Ubuntu desktop. Pretty snazzy, all things considered. So what can we do with this setup? Pretty much anything that you can do with any other Linux server, provided the software has been ported to RISC-V. There's also the caveat that four low-power RISC-V cores is not going to provide the performance of a modern x86 box, even compared to most mini PCs in this price range. But that's not what this system is for, so let's look to the RISC-V future.
Performance RISC-V Products Coming From SiFive
While the HiFive Unmatched doesn't have the fastest CPU on the block, SiFive is far from sitting still. The company has already announced and publicly talked quite a bit about its Performance family of CPU designs. The P550 looks to be the next publicly-available CPU that SiFive will release, as the Premier P550 built around it is already listed on the company's website. There are also higher-performance P600 and P800-series designs that are available for customers to integrate into custom CPU designs for a wide variety of use cases, from mobile to the datacenter.Beyond CPUs, SiFive wants to leverage its RISC-V IP into a whole range of silicon. A CPU needs supporting purpose-built processors, and the Premier P550 development board also has onboard graphics, which will eliminate the need for a discrete graphics card. This promises to bring a big boost in performance, as the company is advertising that the P550 design has better single-threaded performance than an Arm Cortex-A75. That's not the latest core out of Arm, but the P550 isn't the top of SiFive's lineup, either. The HiFive Premier P550 will be available in a kit similar to the HiFive Unmatched with a retail price of $599, and will ship with Ubuntu pre-installed out of the box.
As we mentioned previously, SiFive isn't the only RISC-V CPU vendor out there, and that's true for custom silicon as well. Earlier this year, Tenstorrent announced its own series of CPU and AI intellectual property. The TT-Ascalon CPU design is also based on RISC-V, and its Wormhole development workstations combine its AI accelerators with x86 horsepower.
SiFive HiFive Unmatched Rev. B Conclusions And Key Take-Aways
SiFive set out to design a development board that showed off its full-featured RISC-V CPU IP in a well-equipped platform. The first revision HiFive Unmatched met that goal, and the Rev. B allowed the company to work out some kinks and bring down the price to a more affordable level. While the HiFive Unmatched launched at nearly $700, today the development hardware is available for just $299. That gets the U74 chip with four RISC-V cores, 16 GB of DDR4-1866, and a mini-ITX sized motherboard with USB 3.2 Gen 1, a PCI Express graphics slot, storage, and Wi-Fi capabilities, and an integrated USB terminal port: everything an embedded developer needsIt doesn't represent the first working RISC-V hardware SiFive released (the HiFive1 gets that honor), but the company put it into a familiar form factor while providing enough I/O for developers to easily deploy software. Its SDK is publicly available and remains updated on the company's GitHub portal. The dev kit ships with a solid Linux foundation and a surprising amount of hardware support too. Running Mesa open-source drivers good enough for Radeon graphics cards is a great start for a relatively new CPU architecture.
We hope that this represents just a start for developers diving into SiFive's general-purpose CPU (application processor, in the company's parlance) technology. There's a deep product stack of more to come, so that once devs get past the proof-of-concept stage, the company has more designs waiting to run a wide array of software. The world might currently run on x86 and Arm, but if SiFive gets its way, that ISA duopoly will see strong competition from a more open competitor. We're interested to see what happens next.