Volumio port on Odroid-X2

Yesterday I started a Volumio install on an Odroid-X2 dev board (Samsung Exynos 4412 SoC).
The install is based on Hardkernels official Ubuntu LTS 14.04 image.
I will try to complete this and keep you posted in this thread.

A PoC was already successful. While I’m writing this, a .dsf file is playing (reported by Volumio) at 352.8Khz using a FIIO E18 perfectly.
I’m sure that with help from this forum, a complete port will be possible.

Edit 08.03.2015: to be more precise: 352.8 while downsampling, no hickups, playing fluently.


I used this link for the first part: http://typingoutloud.org/raspberry-pi-installing-volumio-pibang/
Continued today with minidlna after failing to find an Ubuntu 14.04 package yesterday.
Also added WEBRADIO and shairport, have not tried uPnP or RAMPLAY

First issues: I seem to loose my DNS entries everytime I reboot the odroid-x2.
‘Something’ keeps deleting it from “/etc/resolv.conf” during startup.
Anyone any idea???

Not sure if this is due to volumio handling network settings, did not get wireless working either.
I need to investigate these networking problems first. Backup the lot and start with a fresh Ubuntu image.

Regards - Gé

This happens because resolv.conf is dinamically generated. See here: manpages.ubuntu.com/manpages/luc … onf.8.html

So, depending on the system configuration, you can edit this file to generate your custom dns entry:

(or other file, depending on the specific conf adopted by ubuntu).

However, there’s a simpler way to port Volumio on other platforms. I will write a guide on how to do it (now I’m away).
You can donwload a generic image (UDOO will work for example). And replace kernel (uImage), modules (/lib/modules) and firmware (/lib/firmware). Then write the uboot for odroid. linux-exynos.org/wiki/ODROID/u-boot (you don’t need to build it, just dowload the binary and build it).

Hope that helps. Let me know

Hi Michelangelo,

thanks for your quick reply.
Meanwhile I located the problem for the '/etc/resolv.conf ’ in the NetworkManager configuration.
The [ifupdown] section contained line ‘managed=false’ so basically my DNS configuration was ignored by NetworkManager.
After correcting this, ‘nameserver’ was inserted as expected for dnsmasq.
Obviously this is already incorrect in the official Hardkernel image.

I will finish this port first as it nearly does everyting I intended to use it for, plus it helps me understand the contents of volumio better.
Certainly I will try using the shortcut you suggested, have not used it that way before.
Support at Hardkernel’s forum is excellent, so I’m certain it will work eventually.

Regards and best wishes for 2015!

So, abandoned the Ubuntu 14.04 setup, because most of it works :laughing:
I will keep it though and use it for a while because the Hardkernel image came with a number of interesting pre-installed packages.

Today I followed Michaelangelo’s suggestion and built an SD cardimage from scratch, using the rootfs from the Volumio repo.
For everything else I followed an interesting topic at Odroid’s Support Forum ( http://forum.odroid.com/viewtopic.php?f=52&t=3662
which helped me with the basic parts:

  • downloading pre-built bootloaders
  • downloading kernel sources
  • checking if my Ubuntu 14.04 i386 has the toolchain for crosscompiling/building
  • downloading the Volumio rootfs instead of the guides’s Linaro
  • getting the U-Boot tools
  • setting up a fresh SD Card with a boot and a rootfs partition (init, install bootloaders, create partitions, format etc.)
  • copying the Volumio rootfs to the SD card rootfs partition
  • crosscompiling kernel
  • installing kernel and modules
  • creating the initial boot script

Inserted the SD card in the X2 and it booted!!! :astonished:

Logged in via ssh and made some amendments to /etc/fstab and rebooted.
WebGUI comes up, configuration changes to static ip address ok.
Linked Volumio to my NAS and updated the library (very fast!!!) .
All OK? No, when I tried to play something, there was no sound :unamused:

After I connected a simple Breeze Audio USB DAC, re-configured mpd and rebooted, sound appeared.
Sofar so good, no idea yet, why the onboard card doesn’t work, to be investigated.

I believe, there is some (if not a lot) tuning to be done.
Because of the rootfs copy (and perhaps I did not do this correctly) there are permissions, users and groups to be corrected.
But in principle it works.

To be continued…

Regards - Gé

Communication with Odroid forum in this thread
Corrections on users was not so bad, obviously it was only mpd showing up as UID 111.

RAMPLAY and USB have not been tested, lower prio.

Currrent status “unstable”, only due to onboard audio issue, but fully functional.
For some reason, the switch to the Debian rootfs causes the onboard audio out of the X2 (MAX98090) not to work.
Must be a configuration/ driver issue. No problem though, the Odroid-X2 was meant to work with an external USB DAC anyway.
I’m currently using it daily with an XMOS 32bit 384K DAC, really impressive.

With an X2 you can play anything currently avaiblable, I tested up to 358.2K and even downsampled that for a simple PCM2706 DAC.
The X2 can handle that with “fastest sinc interpolar”, with an RPi totally impossible.