Is there a linux distribution that can run on hifive1

Hello everyone,

I noticed several topic about running linux on hifive1. But is there a ready-to-use version that I can easily deploy?


Linux does not and never will run on a HiFive1.

The CPU core is more than capable enough, but not without an MMU and not with only 16 KB of RAM – there should be at least a thousand times more RAM for reasonable Linux.

Suppose an OS which doesn’t need MMU(uCLinux, for example) and has RISCV port(not now, obviously), is it possible to run on HiFive1?

I visited the uCLinux page but was unable to find the minimum RAM size requirement. And then the server said it was overloaded…

FreeRTOS has been ported to the HiFive1. Perhaps it will meet your needs?

1 Like

Thanks for reply.

Here says 8MB minimal RAM(, so 16KB seems at least impractical.

BTW, is FreeRTOS currently the only ported OS? I’m not quite familiar with it.

No, just last week the Apache foundation released a port of MyNewt.

Coming down the pipe there’s an unofficial port of Zephyr OS to the Arty board which I hope is leading to an official port to the HiFive1. I also saw a message on the RIOT OS mailing list about an effort to start a port beginning later this year.

Bear in mind that all these OSs are very different to Linux and are more akin to real-time schedulers than complete environments with userlands.

The website layout is a bit clunky but the documentation is actually very good.

So sounds like the E300 is a lightweight platform for embedded system.

Suppose one wants to develop a desktop oriented CPU, he’d better start with U500 platform on VC707 board right?

Correct me if I’m wrong.

That’s exactly right. E300 is primarily for embedded systems.

I’m not sure, but I suspect U500 could be made to run on a board somewhat cheaper than the $3500 VC707. Maybe even an Arty (especially Arty Z7-20 with three times the LUTs) or ZedBoard.

But clearly the path of least resistance is the VC707 if $3500 isn’t a big deal for you.

Do note that the U500 features our U series Coreplex which does have support for full featured Linux. So it sounds like for your use case the U family is more appropriate.

Also note that there is a ready to use RTL for the U500 which can run on an Arty. Untested, but maybe tweakable to run on the new Arty Z7 which is capable of running Xilinx Peta-Linux and is MUCH MUCH less expensive than the VC707. Maybe worth considering.

I haven’t checked the details, but I’d suspect that Peta-Linux runs on the two Cortex A9 hard cores embedded in the Zynq FPGA chip.

Peta-Linux can run on the Xilinx MicroBlaze processor IP, which resides in the FPGA fabric.

Ok, cool. I wonder why I’ve only seen it advertised for Zynq chips then, not Artix or Spartan?

I suspect that it is a matter of FPGA resources. Mircroblaze will run on the Arty, but the MicroBlaze FPGA footprint runnung Linux is probably too large for the original Arty. As you know, the Z7 FPGA has more resources, but I am not sure if they are enough for the Linux footprint. I might be true that a Kintex FPGA is the minimum requirement for the MicroBlaze Linux footprint. However, I have seen articles like this which seem to be runnung Microblaze Linux on an Artix-7 XC7A100T FPGA. I guess it comes down to either comparing the resources or just giving it a try.

1 Like

Arty Z7-10 seems to have slightly fewer FPGA resources than original Arty: 18000 LUTs vs 20000. Arty Z7-20 has three times more: 53000.

Sorry for the late replay. Can we build board-independent verilog from here, like using the U500 code for Arty? Or better, ‘free’ verilog code for VCS simulation?