Recently I've been playing around with the Radxa ROCK 5B+. Turns out installing Gentoo on it is a rather involved process, especially if you want a bcachefs rootfs. For those of you wondering why on earth someone would want to do that: this post is not about the why, but about the how. I have my reasons.

The ROCK 5B+ supports loading U-Boot from its SPI NOR flash chip. However, that chip is empty when the board leaves the factory. It can also load U-Boot from a microSD card. So you could write Radxa OS to a microSD card, and continue from there, but I prefer using what I know. As I'm an OpenWrt developer, and I know that OpenWrt supports various Rockchip based boards, that's where I started. Checking the rockchip target in OpenWrt, I quickly learned it supports the ROCK 5B. Not the same board, but it's very similar. So let's build an OpenWrt image for the ROCK 5B, flash it to a microSD card, and see if it boots.

It does, but unfortunately I hit a bunch of problems along the way.

Load Google Coral USB firmware with udev

2025-01-22 stintel  3 minute read

After running Frigate NVR with CPU inference for way too long, I decided it was finally time to start using an accelerator, and ordered a Google Coral USB Accelerator. When plugging in the device, it appeared in lsusb like this:

Bus 002 Device 003: ID 1a6e:089a Global Unichip Corp.

The Frigate docs mention that it needs to initialize the Coral USB first, before it can use it. Frigate will try to initialize the device, but doing so will change the USB ID. This is problematic if you are running Frigate in a VM, and need to passthrough the device using the USB ID. After initialization, the device appears like this in lsusb:

Bus 002 Device 004: ID 18d1:9302 Google Inc.

© 2007 - 2025 Stijn Tintel