For first, I want to tell you that I tryed almost all other software solutions based on Raspberry PI and NUC platforms, like DietPI, RoooPie, Volumio, and so on. But after testing the following configuration, I can tell this is the faster, minimal, and best sounding solution for Roon Bridge.
My goal was to use the minimal possible Linux distro, and loading only necessary libraries. This way I was expected the best results in terms of loading speed, optimization and sound quality.
Initially I was using piCorePlayer, but I saw many libraries and modules present in it and they aren’t necessary, so I decide to use the distribution whom piCorePlayer is based, and start everything from scratch.
The only issue left is that Roon Bridge it cannot auto-update from Roon User Interface, and the update must be doing manually.
You will need a SSH client, and some patience.
So, let’s start!
Install Tiny Core Linux (by Cosmin Batica)
-
Download image file from:
http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip -
From your PC, put downloaded image file on a blank microSD with a single FAT32 partition, using balenaEtcher for example.
-
Put the microSD card into RPI slot, connect a LAN cable to RPI, and power on the RPI.
After the first run (by Tiny Core readme file)
Execute ‘filetool.sh -b’ shell command after the first boot to save
generated unique SSH keys which will be used during next boots. It will
speed up boot and eliminate to bother new keys in SSH client.
SD card partitioning (by Tiny Core readme file)
First partition, mmcblk0p1 is VFAT type; it contains the basic piCore
system and the Raspberry Pi boot loader, firmware and other support
files. Partition is unmounted during operation, system is not using it
after boot and never writes.
Second partition, mmcblk0p2 is a Linux ext4 partion which contains
preinstalled extensions, openssh and mc (Midnight Commander) and
configuration files. It is a small partion with no free space, you must
expand its size to have enough room for additional extensions, updates
and backups. It can be done on the running system locally or remote
via SSH following these steps:
-
Start fdisk partitioning tool as root:
sudo fdisk -u /dev/mmcblk0
Now list partitions with ‘p’ command and write down the starting and
ending sectors of the second partition. -
Delete second partition with ‘d’ than recreate it with ‘n’ command.
Use the same starting sector as deleted had and provide end
sectore or size greater than deleted had having enough free space
for Mounted Mode. When finished, exit fdisk with ‘w’ command. Now
partition size increased but file system size is not yet changed. -
Reboot piCore. It is necessary to make Kernel aware of changes.
-
After reboot expand file system to the new partition boundaries with
typing the following command as root:sudo rebootresize2fs /dev/mmcblk0p2
Now you are ready to use the bigger partition.
Installing necessary Applications and do the Configurations (by Cosmin Batica)
-
Download the armv8 version of Roon Bridge from here, and save it locally to your PC:
https://download.roonlabs.net/builds/RoonBridge_linuxarmv8.tar.bz2 -
Copy the downloaded file RoonBridge_linuxarmv8.tar.bz2 to rpi folder /opt
-
Edit the file /opt/bootsync.sh and add the following line at the end, as a new line:
/opt/RoonBridge/start.sh -
Run the following commands in terminal, one by one:
tce-load -wi nano.tcz
tce-load -wi alsa.tcz
tce-load -wi ffmpeg.tcz
tce-load -wi firmware-rpi-wifi.tcz
tce-load -wi wifi.tcz
tce-load -wi wpa_supplicant.tcz
tce-load -wi wireless_tools.tcz
tar xf RoonBridge_linuxarmv8.tar.bz2
rm -f /opt/RoonBridge_linuxarmv8.tar.bz2
-
Now run in terminal the following command anf then follow the on-screen messages (choose the desired wireless network, then the WiFi password if it’s protected):
sudo wifi.sh -
Run the following commands in terminal, one by one:
filetool.sh -b
sudo reboot
Now wait for rpi to reboot and search for rpi roon bridge in Roon Remote interface.
Enjoy!