FreeBSD Core Server

Do you have any plans to support FreeBSD/Intel as the core? I am running FreeNAS as my media server and would love to be able to integrate Roon onto it rather than buying a new box. I don’t know how different FreeBSD is from the kernel in OS-X but they are both branches from the original BSD as far as I know.

7 Likes

If there’s enough demand, we’ll look into it. We have no concrete plans at the moment.

1 Like

I also use Freenas and the jails for Plex. It would be great to test running Roon headless in a jail. I see that in FN 10 there is a new virtualization technology being used. Peter, does the “Watching for files in realtime” work for you?

2 Likes

I’m currently testing it with DNLA. I just brought my FreeNAS server up. Plex is the next step which I hope to get to this weekend. I am currently running Plex on OS-X with no issues but have seen some weirdness on the Synology box I am phasing out.

the new virtualization platform on Freenas 10 will support linux OS jails. As long as there is a headless Linux Roon Server, I think we are good to go.

1 Like

Not really, I am going to schedule a daily update to work around the issue

Another request for this as I run a FreeNAS server with Plex Media server Jail. Having Roon on the NAS would be fantastic and my ideal scenario.

2 Likes

I can confirm, that roon server somehow runs on FreeNAS inside a VirtualBox VM (Ubuntu) on a low end Atom NUC (DE3815TYBE) - BUT - with a huge cpu load (80-90%) for Tidal lossless and drop outs. So not really a solution.

The FreeNAS GUI shows that most CPU time is spent for “system” so I guess its because of some I/O or the network bridge for the virtualization which means that a native FreeNAS plugin would require much less hardware resources (less power consumption, less heat, less cost for hardware).

While this is just a proof-of-concept and I’ll plan to update the NAS hardware, a native FreeNAS plugin would be great for no overhead through the virtualization and easier installation/setup.

Would you be able to post your installation steps? I was looking at a Debian jail but hadn’t got around to trying it yet.

Sure! They dropped linux jails and even with them you only get 32bit jails, so VirtualBox is the way to go.

Steps as far as I remember:

FreeNAS GUI:

  • System -> Tunables -> Add -> ng_ether_load = YES (rc.conf) for network bridge
  • Jails -> add Jail -> advanced mode -> virtualbox template -> check dhcp

Then you have VirtualBox headless on the jail ip and you can access it with your browser http://jail_ip

Get some Linux ISO (Ubuntu) and copy it with scp/ssh/putty into the jail. In my case it was something like /mnt/disk/jails/vmjail/tmp/

Use the VirtualBox Web Interface to create a new VM. I used bridge for network, 2GB RAM and 50GB disk. Nothing special. When asked for a bootable disk, select the iso you copied before and start it.

The guest (Ubuntu) in my case is accessable via VNC on jail_ip:9000. Default installation, just selected OpenSSH server.

Then you have an Ubuntu running, you can ssh into it and install roon server like described here in the Linux section.

What hardware do you use? Would be interesting to get some usage stats!

There is a new level 2 hypervisor (hosted) in FreeBsd called bhyve - it was introduced in FreeNas 9.10 and I think will be the default hypervisor in FreeNas 10. It is command line driven, and I will test running Roon Linux server on it (and posting the steps).

Brilliant! Thanks, you saved a couple of hours of reading. I will be installing on an i3-4170 3.7GHz with 8GB RAM. I suspect I will need to lift the RAM to 16GB. I’ll post results when i get it done.

@mjt5282 bhyve is great news. Right now I’m reading about it. One could have a seperate ssd zfs pool for the roon guest, lots of ram and should get close to native performance?

@pwright92 You’re welcome! Thinking about getting an i3 too :wink:

Could not resist and just tried bhyve on FreeNAS 9.10 and it works fine :slight_smile: Tidal lossless running now at 20% cpu on an Atom E3815 instead of 80-90% and no dropouts yet. Control from an MBP is much more responsive.

Followed basically the steps from:


for arch linux.

Then I used the Arch Tutorial from this forum but with grub as a bootloader.

1 Like

Any updates or hints on bhyve? I am going to take a run at using it this weekend.

Got my i3 (Intel NUC5i3RYH) + 16GB RAM yesterday, 128GB SSD will hopefully arrive today and will put it together asap.
Plan is to install FreeNAS on a usb3 stick, then make 2 zfs pools, SSD für bhyve/arch/roon and HDD for music/data. If you like I can post detailed steps here (if everything works as expected).

That would be great! :wink:

FreeNAS + Roon

Hardware Setup:

Intel NUC (NUC5i3RYH with i3)
16MB RAM (zfs already requires 8GB)
128GB SSD (Transcend MTS400 M.2) for Roon
1TB HDD for data/music
64 GB USB3 for FreeNAS

FreeNAS Setup:

Install on USB3
Setup SSD as volume “ssd”
Setup HDD as volume “disk”
Enable SSH service and permit root login with password
Add to System->Tunables (rc.conf):

iohyve_enable=“YES”
iohyve_flags=“kmod=1 net=em0”

###Create Virtual Machine (with bhyve):
Login with ssh to FreeNAS as root.

Setup pool “ssd” for virtual machine:

iohyve setup pool=ssd

Setup network bridge (check your interfaces with ifconfig):

iohyve setup net=em0

Load kernel modules:

iohyve setup kmod=1

Fetch Arch Linux ISO:

iohyve fetchiso http://mirror.23media.de/archlinux/iso/2016.05.01/archlinux-2016.05.01-dual.iso

Create Arch Linux Guest:

iohyve create archguest 50GB

Set options:

iohyve set archguest ram=4GB
iohyve set archguest cpu=2
iohyve set archguest loader=grub-bhyve
iohyve set archguest os=arch
iohyve set archguest boot=1 (starts Arch with FreeNAS)

Start installation (boot the ISO):

iohyve install archguest archlinux-2016.05.01-dual.iso

Connect to virtual serial console (login root, no pw, exit the console with ~~. ):

iohyve console archguest

Now follow the usual Arch Linux installation e.g. the instructions from this forum. Just skip the bootloader stuff and do:

pacman -S grub
grub-install --target=i386-pc /dev/sdX
grub-mkconfig -o /boot/grub/grub.cfg
exit
umount /mnt
reboot (this will shut down the guest)

And test with:

iohyve start archlinux

SSH into the Arch Linux (check your router to see the IP Arch got via DHCP).
Follow the official instructions for Roon Server

Export your own music library on FreeNAS via Windows share and point Roon to the URL. Didnt find an easier way to mount the music directely from the host into the virtual machine.

Results:

  • SSD Benchmark from inside the virtual machine with bonnie++: ~80MB/s write, ~430MB/s read
  • The VM/bhyve uses ~2-5% CPU for Tidal Lossless playing. No drop outs, instant play/stop. Even with background indexing. Perfect :slight_smile:
  • Power consumption 10-12Watt, no matter if streaming or idle.

References:


https://wiki.archlinux.org/index.php/GRUB

1 Like

Thanks! I’ll give it a try this weekend.

Just did some spot performance testing, on the NAS with Debian in bhyve I can stream to two Roon endpoints, run a 1080p movie in Plex and hammer a share with a backup from my Mac easily. I have not yet seen the CPU crest 20% and no hiccups anywhere. I am running on an i3-4170 3.7GHz CPU with 8GB of RAM. I’ll pop in another 8GB SIMM to bring my total to 16GB as my memory utilization gets close to 100%.