← Lab
VJML / LAB
2026.10 ACTIVE

RISC-V as a real system

Architectures

Context

RISC-V becomes particularly interesting when it stops being an architecture capable of compiling examples and starts behaving as a complete Linux system.

The lab uses real RISC-V hardware to explore exactly that point: booting the system, building packages, running software and discovering which assumptions stop working once we leave the usual x86 path.

One of the platforms used for these experiments is an Orange Pi RV2.

Goal

Use RISC-V as a real working environment rather than simply as a compilation target.

This makes it possible to investigate problems across different layers of the system:

Hardware
   ↓
Kernel
   ↓
Toolchain
   ↓
Base system
   ↓
Packages
   ↓
Services
   ↓
Applications

An apparently simple application failure can reveal a decision made several layers below.

Native builds

Building software directly on RISC-V provides a way to test how far projects actually support the architecture.

Not every problem appears as an explicit "RISC-V unsupported" error.

Sometimes code builds successfully until it reaches an optimized implementation, a piece of assembly or a build-system decision that assumes a different architecture.

These failures are particularly useful because they expose where implicit hardware dependencies still exist.

Toolchains

The compiler is also part of the experiment.

Target architecture, ABI, assembler, linker and options automatically detected by build systems must all agree in order to produce a coherent system.

Source
   ↓
Compiler
   ↓
Assembler
   ↓
Linker
   ↓
RISC-V binary

When one of these stages makes the wrong decision, the failure may surface much later and somewhere that initially appears unrelated.

CI

Architecture is also part of our integration testing.

Running builds on different hardware exposes problems that can remain completely hidden when development and CI are performed exclusively on x86-64.

The goal is not to treat RISC-V as an exception in the process, but as another architecture capable of participating in it.

Beyond booting

Getting Linux to boot is only the beginning.

The interesting part starts when the system is actually used:

  • building packages
  • resolving dependencies
  • running services
  • testing toolchains
  • using graphical environments
  • integrating the node with the rest of the infrastructure

That is when an architecture stops being a demonstration and becomes a system.

Status

Active.

RISC-V remains part of the lab as a platform for testing software, toolchains and infrastructure outside the usual x86 environment.