Tired of swapping SDs containing different distributions? We’ve got a solution for you!
This guide provides a very easy (1-liner command) Volumio2 install process within Berryboot: you will then enjoy all great Volumio2 features (including OTA updates, etc…) + extra benefits explained below.
Background: why “berrybooting”?
Several fellow Volumio users have been asking a few times about how to run Volumio2 together with some other distribution(s) (Kodi, RetroArch, etc) independently on same SD: this is very convenient since each distribution runs mostly unmodified in its own world. User just selects which one to run at boot time through UI (or let a default one jump-start automatically).
There are several alternatives (NOOBS, PINN,…) to realize similar usecase, including Berryboot which offers the unique ability to add/change/update distributions on-the-fly without reformatting/partitioning SD card.
So, with that, it is possible to run Volumio2 while leveraging the following benefits:
- Run multiple distributions (Volumio, Kodi through LibreELEC/OpenELEC, RetroArch, Raspbian, …) independently from 1 single media
-> easy & independent maintenance for each distribution (updates,…), no complex Volumio2 interoperability setup, etc…
- Avoid SD corruption by running Volumio2 from USB disk or networked iSCSI volumes instead of SD
- Easily test different Volumio2 versions in parallel & independently without reflashing media back & forth
Prerequisite(s):* the obvious: install Berryboot on a media, and do initial setup as per this (screen & keyboard strongly recommended for setup).
- either (preferred) install Raspbian image (lite is fine) under berryboot and open shell there, or plug your previously set-up berryboot media into any Debian-based Linux machine under shell (Ubuntu & derivatives, Mint, Pixel, Debian, etc…)
Install step: simply execute the following 1-liner command from Debian linux shell, and follow instructions to produce & install Volumio2 image:
curl -Ls --output installVolumio2 https://bit.ly/InstVolumio2; chmod u+x installVolumio2; ./installVolumio2
( if you need to run again the script later, just type the last part: ./installVolumio2 )
Upon script completion, the created Volumio2 patched image will be fully operational within berryboot (including OTA updates, reset, etc…).
Just use Volumio2 UI as with Volumio2 “native” distribution install. You may refer to Volumio UserGuide for any info.
Post install notes:
- If you use I2S DAC, you may want to add dtparam=i2c_arm=on in config.txt
- As a bonus feature, installVolumio2 script is available in Volumio2 shell, so you may easily install more images from there later.
- As another bonus feature, one can disable swap altogether by creating an empty /noswap file from Volumio2 shell (PiZero mostly OK with it).
- Here are 2 other goodies for similarly installing LibreELEC (Kodi) or Lakka (Libretro-RetroArch) on the side:
curl -Ls --output installLibreELEC https://bit.ly/InstLibreELEC; chmod u+x installLibreELEC; ./installLibreELEC curl -Ls --output installLakka https://bit.ly/InstLakka; chmod u+x installLakka; ./installLakkaInstalling other image distributions (such as OpenELEC, RetroPie, etc) on the side is not covered on this Volumio forum. Some ready-to-use images are available here, and instructions/help can be found in other relevant forums.
- You may want to make sure you can live with known limitations below (worth reading, and particularly before asking questions):[spoiler]1) Volumio2 User data reset and Factory reset have same effect, and the latter does not restore a Factory image. Indeed Factory image has no real interest in berryboot context, since you may create another image as your Factory image simply, thanks to installVolumio2 script.
Volumio2 will then run under custom berryboot kernel (is a standard Linux kernel with AUFS patches).
This means a particular peripheral requiring non-standard-built-in kernel drivers (some wifi dongles, some DACs, etc), may fail or not run at all.
For instance, TL-WN725N V2 (or compatible) wifi dongle falls-back to r8188eu staging kernel driver which lacks Volumio Hotspot mode.
This is NOT a Volumio bug, and Volumio team can NOT do anything about it.
If you need such custom drivers, you will have to invest time in compiling them for berryboot kernel, or gently ask berryboot maintainer if this can be included in future release…
Noteworthy: most well-known DACs are supported by Berryboot kernel in its current versions (TauDAC is notable exception).
Although not noticed so far, there is a theoretical possibility of unexpected bugs due to eventual Volumio dependency on specific kernel version/features that might not available in berryboot kernel. Such of these may or may not incidentally pop-up/be fixed while Volumio and/or berryboot update their own kernels; in any case, supporting berryboot kernel is NOT a Volumio2 priority.
Volumio2 kernel updates are obviously discarded during update process, as berryboot needs to stick to its own kernel. You may update berryboot package (and its kernel) its own way (but mind to preserve any Volumio2 setting such as DAC overlay in config.txt). As usual, it will then be shared with all other installed images, Volumio2 or else.[/spoiler]- Image install code & patch script are available here. Issues & comments are welcome there.