Installing Volumio in a Proxmox Virtual Machine

LinuxMedia CenterProxmox

Written by:

Volumio is a really cool open source audio player project, meant for high quality playback and easy use with cheap devices. Basically, a plug-and-play network music appliance. I have a few already around the house – a Pi Zero W in the kitchen for streaming radio, a Pi 3 with nice DAC hooked up to the stereo for lossless file playing. At it’s base it is controllable by the standard mpd server, which allows it to be integrated into other audio solutions or controlled by software like Home Assistant.

I wanted to add a network controllable speaker to my NUC server, and it made sense to stick with Volumio. Here’s the steps for installing in a Proxmox virtual machine.

 

THE PROBLEM

One annoying thing I have run into is that Proxmox only allows ISOs to be used as installation media. But for some projects meant for embedded devices – like OpenWRT or Volumio – only an IMG file is provided.

So even though Volumio supports Intel x86 devices, I couldn’t figure out a way to install it’s IMG file with Proxmox until I found Giles Orr’s netcat method. Many thanks to him for detailing this previously unknown to me Linux tool.


THE SOLUTION

CREATE THE VM

In Proxmox I created a standard Linux VM with 1.5GB of RAM and an 8GB disk. Be sure to choose “IDE” as the disk type, I could not get a SCSI disk to boot with Volumio. On my NUC, passing through the on-board audio wasn’t an option (or at least, my tests along these lines didn’t work) so I simply used a cheap USB audio dongle and passed that through.

For installation media, boot a Knoppix Live CD ISO.

Proxmox VM Settings

Proxmox VM Settings

INSTALL VOLUMIO

Boot up your VM and you’ll see Knoppix start up on your console, go to the shell.

Knoppix Live CD

Knoppix Live CD

Use the lsblk command to verify that your destination disk is at /dev/sda, and ifconfig to see your IP address.

RELATED >>  Self Hosting: Complete Guide to Deploying Your Own Private NextCloud with Docker Compose

Now, using netcat we are going to listen on this machine, and send the Volumio IMG file to it through another on the network. The file will be written directly to the disk.

On the VM, listen with netcat on port 1234 and write the incoming file to the disk at /dev/sda

nc -l -p 1234 > /dev/sda

On a different machine on the network, send the IMG file to your listening VM with:

nc -w 3 192.168.0.xxx 1234 < volumio-2.387-2018-03-23-x86.img

There’s no progress bar or indication it’s working, just wait for it to finish sending.

Reboot the VM and Volumio will start right up, accessible on the console or at it’s IP address in a web browser.

Volumio Initial Start Up

Volumio Initial Start Up

Now I just run through the installer and select the USB dongle as the audio output.

RESOURCES


9 Replies to “Installing Volumio in a Proxmox Virtual Machine”

  1. Soeren says:

    Hi,

    i found this article and it was too complicated after a few minutes of thinking i just DDed the image file into the proxmox logical volume

    – create VM
    – do not start
    – go to proxmox CLI
    – download volumio image file and unzip
    – dd if=volumio-2.861-2020-12-22-x86.img of=/dev/pve/vm-102-disk-0 bs=1M

    and off you go

    cheers
    soeren

    • kieth says:

      Perfect. Easier. (Though, thanks for the original exploration, too!)

    • qbaq84 says:

      You can aslo import and attach .img

      qm create 107 –memory 1024 –net0 virtio,bridge=vmbr0
      qm importdisk 107 /home/bin/volumio-2.909-2021-09-08-x86.img local-lvm
      qm set 107 –ide0 local-lvm:vm-107-disk-0

      Set in vm options to boot from IDE

    • dante says:

      Dear Soeren, can you explain me where i need to put the unzip image, i have tryed to copy as image in a pve container but with the command ” dd if=volumio-xxxxxx.img of=/dev/pve/vm-10xXX-disk-0 bs=1M i have an error failed to open ‘volumio86.img’: No such file or directory”
      best regards

  2. JOhn says:

    🙁 its doesnt work anymore.. are there workarounds?

    • Dean says:

      Same here, im getting UUID errors when booting.

      Did you find a solution?

    • Unkis says:

      I tried these methods as well and was unsuccessful. However I am a ProxMox newb and only know a little Linux from when I used Slackware in the 90s.

      My solution, which is only “a solution” was to DL the IMG from Volumio website, burn it to USB using Etcher (Windows) (I DLed Volumio 3.435 for reference)

      Then in ProxMox create a VM, under “OS” select “Do Not use media.” Under “Disk” make sure “Bus/Device” is “IDE”.

      Physically insert Volumio USB drive in server.

      Once the VM is created then edit the hardware and add “USB Device” (USB device should be visible for correct port selection)

      Boot VM, press “ESC” to enter ProxMox BIOS, select USB Device

      Boot Volumio, use VNC or IP address and web to login to Volumio interface.

      Select 3 horizontal bars in upper left-hand corner. Select “System.” About Half way down is “Install to Disk.” Should show something like “Install to Disk QEMU_XXX”

      Complete setup. Shutdown Volumio VM.
      Remove “USB Device” in Hardware of Volumio VM.
      Take Snapshot, call it “base install”
      Maybe run a backup like I did.

      Then someone smarter than me, somehow upload the backup or qcow file somewhere so no-one has to do this again.

      post a link! (mega-upload or somewhere like that?)

      Hope this helps someone somewhere.

  3. bada says:

    its doesnt work anymore, any help please.

Leave a Reply

Your email address will not be published. Required fields are marked *