Build process for the Orange Pi RV2, an 8-core RISC-V development board I used to build an off-site backup NAS and mini-server. Mine came with 4GB of LPDDR4X and I paired it with 2x 2TB SATA SSDs for storage and 1x NVMe SSD for booting.
Build
The case is built around the idea of the TerraPi EVO:
I removed the fan mount, re-designed the bottom plate to accommodate the OrangePi screw holes instead, and also redesigned one of the side panels to allow for better USB clearance since the OrangePi ports face the side instead of the front. Since the original design uses the CC4 license and does not allow remixes, I will not publish my design files.
The SSDs are connected via USB 3.0 SATA to USB connectors and powered via USB. The entire SBC is powered by a 5V, 5A capable USB-C PD power brick.
Flashing the OS
Flashing the OS is very straightforward. Grab your image that you want from the main page first.
Then use Rufus/Etcher/DD or any method of your choice to write this to a microSD card. According to the manual, it seems like you need to boot from SD Card for the first boot. It also needs to write the SPI Flash bootloader to configure the initial boot. Following the steps to use
nand-sata-install tool works flawlessly for NVMe and eMMC options. Then follow the instructions here:
Note: only the back NVMe slot (the full 2280 slot) supports booting.
Software Woes
Operating System
Since the operating system I chose happens to be built by OrangePi, there are a few caveats that can be total security dealbreakers (!!) if you care about this. Their OS image is hosted on Huawei cloud and is also built by OrangePi. While you can use things like Armbian and DietPi with normal ARM-based SBCs, RISC-V supported and fully tested images for this board do not seem to exist (at the time of writing). I needed something quick and easy, so I went ahead and used the linked Ubuntu image from their website (that seems to be missing a security certificate…)
For now, my solution has just been to change the repo origins to not pull from Huawei cloud.
orangepi@orangepirv2:~$ sudo apt update ... Hit:2 https://repo.huaweicloud.com/docker-ce/linux/ubuntu noble InRelease Hit:3 http://repo.huaweicloud.com/ubuntu-ports noble InRelease Hit:4 http://repo.huaweicloud.com/ubuntu-ports noble-security InRelease Hit:5 http://repo.huaweicloud.com/ubuntu-ports noble-updates InRelease Hit:6 http://repo.huaweicloud.com/ubuntu-ports noble-backports InRelease ...
ZFS
There seems to be some problems if you decide to run ZFS with your drives.
Running the following results in errors even after installing
zfsutils-linux and zfs-dkmsorangepi@orangepirv2:~$ sudo modprobe zfs modprobe: FATAL: Module zfs not found in directory /lib/modules/6.6.63-ky
There are a few additional steps to take to get this working:
- Install the Kernel Header Files. They come with the OrangePi installations in
/opt/
cd /opt/ ls *linux-headers* sudo dpkg -i <name of header file>
- Install
zfsutils-linuxandzfs-dkms. Purge these packages if you had previously installed them. This should trigger it to recompile some packages.
- Reboot
- You should now see zfs on your default startup message and you can now run zfs commands
Welcome to Orange Pi 1.0.0 Noble with Linux 6.6.63-ky System load: 26% Up time: 0 min Local users: 3 Memory usage: 8% of 3.72G IP: CPU temp: 60°C Usage of /: 1% of 458G ZFS pool: n/a orangepi@orangepirv2:~$ lsmod | grep "zfs" zfs 26763264 0 spl 765952 1 zfs orangepi@orangepirv2:~$ zfs list no datasets available
- You can now create your pools as you wish.