# Install Roon Bridge on Tiny Core Linux

**URL:** <https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067>\
**Category:** Linux\
**Created:** [December 9, 2022, 1:59pm UTC](https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067 "2022-12-09T13:59:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cosmin\_Batica](https://community.roonlabs.com/letter_avatar/cosmin_batica/32/5_5575768a8748004e209b776fc1b2916d.png) [@Cosmin\_Batica](https://community.roonlabs.com/u/Cosmin_Batica)\
**Post date:** [December 9, 2022, 1:59pm UTC](https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067/1 "2022-12-09T13:59:04Z")

</div>

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)

1. Download image file from:  
[http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip](http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip)

2. From your PC, put downloaded image file on a blank microSD with a single FAT32 partition, using balenaEtcher for example.

3. 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:

1. Start fdisk partitioning tool as root:

2. 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.

3. Reboot piCore. It is necessary to make Kernel aware of changes.

4. After reboot expand file system to the new partition boundaries with  
typing the following command as root:sudo reboot

Now you are ready to use the bigger partition.

# Installing necessary Applications and do the Configurations (by Cosmin Batica)

1. 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](https://download.roonlabs.net/builds/RoonBridge_linuxarmv8.tar.bz2)

2. Copy the downloaded file RoonBridge\_linuxarmv8.tar.bz2 to rpi folder /opt

3. Edit the file /opt/bootsync.sh and add the following line at the end, as a new line:  
/opt/RoonBridge/start.sh

4. 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

1. 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

2. 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!

---

<div class="post-metadata">

**Author:** ![Cosmin\_Batica](https://community.roonlabs.com/letter_avatar/cosmin_batica/32/5_5575768a8748004e209b776fc1b2916d.png) [@Cosmin\_Batica](https://community.roonlabs.com/u/Cosmin_Batica)\
**Post date:** [December 13, 2022, 5:34pm UTC](https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067/2 "2022-12-13T17:34:07Z")

</div>

Updated procedure

Ver. 1.1

- Resolve issue with access denied for Roon Bridge update command from Roon control interface;
- Resolve some issues who appears after reboot:
  - not keeping the last audio interface settings made;
  - Roon Interface not keeping the last audio interface selected;

- Load only necessary TCE libraries.

Ver. 1.0  
Initial version

# A. Install Tiny Core Linux (by Cosmin Batica)

1. Download image file from:  
[http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip](http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip)

2. From your PC, put downloaded image file on a blank microSD with a single FAT32 partition, using balenaEtcher for example.

3. Put the microSD card into RPI slot, connect a LAN cable to RPI, and power on the RPI.

# B. 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.

# C. 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:

1. Start fdisk partitioning tool as root:

2. 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.

3. Reboot piCore. It is necessary to make Kernel aware of changes.

4. After reboot expand file system to the new partition boundaries with  
typing the following command as root:sudo reboot

Now you are ready to use the bigger partition.

# D. Installing necessary Applications and do the Configurations (by Cosmin Batica)

1. 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](https://download.roonlabs.net/builds/RoonBridge_linuxarmv8.tar.bz2)

2. Copy the downloaded file RoonBridge\_linuxarmv8.tar.bz2 to rpi folder /opt

3. Edit the file /opt/bootsync.sh and add the following new line at the end:  
/opt/RoonBridge/start.sh

Edit the file /opt/bootlocal.sh and add the following new line at the end:  
/usr/local/bin/wifi.sh -a 2\>&1 \> /tmp/wifi.log

Edit the file /opt/.filetools and add the following new lines at the end:  
.RAATServer  
.RoonBridge

1. Run the following commands in terminal, one by one:

tce-load -wi nano.tcz  
tce-load -wi alsa.tcz  
tce-load -wi rpi-vc.tcz  
tce-load -wi firmware-rpi-wifi.tcz  
tce-load -wi wifi.tcz  
tce-load -wi ffmpeg.tcz

cd /opt  
tar xf RoonBridge\_linuxarmv8.tar.bz2  
rm -f /opt/RoonBridge\_linuxarmv8.tar.bz2

filetool.sh -b

sudo reboot

1. Now run in terminal the following command and then follow the on-screen messages (choose the desired wireless network, then the WiFi password if it’s password protected):  
sudo wifi.sh

2. Run the following commands in terminal, one by one:

filetool.sh -b

sudo reboot

1. Now wait for rpi to reboot and search for rpi roon bridge in Roon Remote interface.

2. Remember, after each configuration changes you’ll made, it’s necessary to run the following backup command, before reboot/shutdown the RPI:  
filetool.sh -b

Enjoy!

---

<div class="post-metadata">

**Author:** ![Cosmin\_Batica](https://community.roonlabs.com/letter_avatar/cosmin_batica/32/5_5575768a8748004e209b776fc1b2916d.png) [@Cosmin\_Batica](https://community.roonlabs.com/u/Cosmin_Batica)\
**Post date:** [December 17, 2022, 10:54pm UTC](https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067/3 "2022-12-17T22:54:36Z")

</div>

Update

Ver. 1.2

- disable on-board audio
- disable HDMI
- disable leds

Ver. 1.1

- Resolve issue with access denied for Roon Bridge update command from Roon control interface;
- Resolve some issues who appears after reboot:
  - not keeping the last audio interface settings made;
  - Roon Interface not keeping the last audio interface selected;

- Load only necessary TCE libraries.

Ver. 1.0  
Initial version

# A. Install Tiny Core Linux (by Cosmin Batica)

1. Download image file from:  
[http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip](http://www.tinycorelinux.net/13.x/aarch64/releases/RPi/piCore64-13.1.zip)

2. From your PC, put downloaded image file on a blank microSD with a single FAT32 partition, using balenaEtcher for example.

3. Put the microSD card into RPI slot, connect a LAN cable to RPI, and power on the RPI.

# B. 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.

# C. 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:

1. Start fdisk partitioning tool as root:

2. 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.

3. Reboot piCore. It is necessary to make Kernel aware of changes.

4. After reboot expand file system to the new partition boundaries with  
typing the following command as root:sudo reboot

Now you are ready to use the bigger partition.

# D. Installing necessary Applications and do the Configurations (by Cosmin Batica)

1. 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](https://download.roonlabs.net/builds/RoonBridge_linuxarmv8.tar.bz2)

2. Copy the downloaded file RoonBridge\_linuxarmv8.tar.bz2 to rpi folder /opt

3. Edit the file /opt/bootsync.sh and add the following new lines at the end:  
tvservice -o  
/opt/RoonBridge/start.sh

Edit the file /opt/bootlocal.sh and add the following new line at the end:  
/usr/local/bin/wifi.sh -a 2\>&1 \> /tmp/wifi.log

Edit the file /opt/.filetool and add the following new lines at the end:  
.RAATServer  
.RoonBridge

1. Run the following commands in terminal, one by one:

tce-load -wi nano.tcz  
tce-load -wi alsa.tcz  
tce-load -wi rpi-vc.tcz  
tce-load -wi firmware-rpi-wifi.tcz  
tce-load -wi wifi.tcz  
tce-load -wi ffmpeg.tcz

cd /opt  
tar xf RoonBridge\_linuxarmv8.tar.bz2  
rm -f /opt/RoonBridge\_linuxarmv8.tar.bz2

filetool.sh -b

sudo reboot

1. Now run in terminal the following command and then follow the on-screen messages (choose the desired wireless network, then the WiFi password if it’s password protected):  
sudo wifi.sh

2. Run the following command in terminal:

mount /mnt/mmcblk0p1/

1. Edit the file /mnt/mmcblk0p1/config.txt:  
7.1. comment with # the following lines:  
#dtparam=audio=on  
#dtoverlay=vc4-kms-v3d-pi4  
#max\_framebuffers=2  
7.2. add the following lines at the end:

# disable leds

dtparam=act\_led\_trigger=none  
dtparam=act\_led\_activelow=off  
dtparam=pwr\_led\_trigger=none  
dtparam=pwr\_led\_activelow=off

1. Run the following commands in terminal, one by one:

filetool.sh -b

sudo reboot

1. Now wait for rpi to reboot and search for rpi roon bridge in Roon Remote interface.

2. Remember, after each configuration changes you’ll made, it’s necessary to run the following backup command, before reboot/shutdown the RPI:  
filetool.sh -b

Enjoy!

---

<div class="post-metadata">

**Author:** ![Alex\_Malyshev](https://community.roonlabs.com/user_avatar/community.roonlabs.com/alex_malyshev/32/350635_2.png) [@Alex\_Malyshev](https://community.roonlabs.com/u/Alex_Malyshev)\
**Post date:** [October 1, 2025, 3:57pm UTC](https://community.roonlabs.com/t/install-roon-bridge-on-tiny-core-linux/226067/4 "2025-10-01T15:57:46Z")

</div>

I have try to use this instruction but have some issue - my setup is totally headless. Physically my RPi currently can’t be connected via HDMI to any monitor to enable / disable ssh

I found way to do this action by imaging with RPi imager but didn’t succeed. As I can see no changes made by imager - ssh is always return answer on port 22 but never accept password.

I’m confused to understand the tiny linux have no way to set up ssh using config file without keyboard and monitor. 🙂  
I still hope I just miss something. Could someone please inform me how I can do remote access to tiny core linux?

Thanks
