RoonBridgeOS with Buildroot

tl;dr: I’ve build my own tiny Linux that just runs RoonBridge for an Intel Atom NUC.

Buildroot is a set of scripts to build your own customized linux for a wide
range of architectures.

https://www.buildroot.org

I used pc_x86_64_bios_defconfig as a starting point and

  • removed all packages not needed
  • changed uClibc to glibc (setup.sh wants it)
  • removed all unnecessary drivers from the kernel
  • added RT patches for realtime
  • added configs for network, boot and starting RoonBridge
  • extracted RoonBridge into the final image

This gives me an image of ~100MB including RoonBridge but added some extra space
for updates. The image is flashed to the onboard emmc.

Boots in a few seconds, sounds great, cpuload is ~0 and power consumption ~5W
with an iFi Power.

For anyone interested, I pushed the changes to:

2 Likes

This is awesome. Each time I think I’m going to sit down and work something out I discover it’s already done! I was just looking for this to get around the embarrassingly bloated HiFiBerry image. Not to mention the image not in ‘community spirit’ (locked down). Will check yours out, thanks for posting!

You’re welcome! Feel free to pm me if you have questions.

Hi,
bought one of these boards last week, any chance of a copy of the image so I can give this a go? :slight_smile:

I’d be very interested in the list of stuff you took out (packages, drivers etc) and also what is mandatory plus how to integrate roon

cheers

Have to check, but I could send you an image, just dont know if its ok for Roonlabs that I “forward” their software. You also should note that network settings are fixed (IP, gateway and DNS) and it only boots from the internal eMMC. But Its also not so difficult to build it on your own if you know some linux.

For packages, basically only alsa-utils is left. In the kernel I removed all usb stuff except usb-audio, all powersaving, all sata drivers and all graphic drivers.

Roon is just unzipped to /opt with:
tar jxvf ../RoonBridge_linuxx64.tar.bz2 -C ${TARGET_DIR}/opt/

And a start script added to /etc/init.d/

Just check boards/pc/ on the github link in this thread.

Thanks for replying. I have rudimentary Linux skills but no real knowledge of how to manipulate it beyond the usual install and configuration of an OS. I do use a Beaglebone Black and Green so I have some experience of flashing to on board memory and I purchased the NUC board with that in mind but for novices like myself we are dependant on the more knowledgeable to light our way! I am sure Roon wouldn’t mind but as I want to try the device as a HQPlayer NAA as well, I would be more than happy with the basic OS minus the Roon element if that helps.

Cheers Claus that’s the info I need

I’ll build one myself and see how I get on

Many many thanks

Neill

I’ve made an image without RoonBridge. Just flash it to mmcblk0.

Thanks very much Claus. I will give this a go over the weekend.
Henry.