Debian for Orange Pi RV2

I couldn't find any existing ready-made bootable image of Debian for the Orange Pi RV2, so I made one myself.

It is a very minimal command-line only system, no GUI. Should be possible to install one if you need it.

Headless operation is possible, after boot-up it grabs an IP on Ethernet using DHCP (check your router logs or UI for which IP it got), then you can login by SSH.

Username is root, password is orangepi.

On the HDMI console, auto-login is enabled by default as regular user. Not something I chose (some defaults from the build scripts), might look into disabling that.

How it was made

Inspired by and based on this comment by misterhsp.

Had to “add Trixie support” into their build scripts, basically adding “trixie” everywhere “bookworm” is mentioned, or cloning entries and copying folders for bookworm and naming them trixie: orangepi-build-trixie.patch

This was built on an amd64 Trixie system. The build scripts install some dependencies automatically (and hence want 'root'), and some need to be installed manually:

apt-get install build-essential linux-base lz4 git imagemagick qemu-user-static binfmt-support uuid-runtime acl psmisc sudo

With all dependencies installed and having the patched scripts, it is possible to run:

export NO_HOST_RELEASE_CHECK=yes
LANG=C ./build.sh  BOARD=orangepirv2 BRANCH=current BUILD_OPT=image RELEASE=trixie BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_CONFIGURE=no

Kernel

This image currently uses the vendor 6.6.63 kernel. Diffing that to the vanilla 6.6.63 yields a 140 MB patch. Tried bumping the version of vanilla somewhat and checking if patch still cleanly applies, was successful up to 6.6.75 inclusive, until the first conflict. Might be something to explore, if nothing else, it should be possible to get the latest 6.6 series here (6.6.102 as of now).

There is also a 6.15 (at least) kernel, supporting Orange Pi RV2.

CPU frequency scaling

The performance frequency governor is used by default. You can do:

echo ondemand > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

to enable the dynamic frequency scaling depending on load, which makes it idle at 614 MHz instead of full 1600, and brings idle temperature down from 50C to 45C for me (no fan, no heatsink).

cpufrequtils package is not available for whatever reason to properly configure this, so one solution is to put that into /etc/rc.local.

Performance

One random observation, running an OpenSSL ChaCha20 benchmark (openssl speed -evp chacha20) gets around 10 times higher performance compared to what I got on the vendor Ubuntu image. OpenSSL in Trixie is somewhat newer and now prints a list of RISC-V extensions during the test, supposedly it did not use any of those in Ubuntu.

Given the nascent nature of RISC-V, any update to newer software or distro might bring huge leaps in performance, sometimes simply because exactly the same software was built by a newer compiler.

Contact me

If you have any questions or suggestions, you can reach me by E-Mail, or in Reddit comments.


rv-debian.txt · Last modified: 2025-08-17 18:55 UTC by rm