Building zynthian image now works with docker

Preferred you give all the log, you can snap parts but it would give the best picture of what is going on

For moment compilation is not finished, only error is on where we need to add apt install 2to3

Compilation is finished.
I put the bluid.log on ZynthianOs issue

Hi! Congratulations @lguyome45,

Please, send a testing report when you have tested your Buster Image :wink:

BTW, we already have a new Buster image in our Nightly Builds dir:

I can’t test here because i’m in a Masia (rural house) and my bandwidth is quite limited now, so please, let me know if someone test this image.


1 Like

Hello, Zynthian boots up ok on my V2 kit adapted for RPi4, b̶u̶t̶ ̶c̶o̶n̶t̶r̶o̶l̶ ̶k̶n̶o̶b̶s̶ ̶d̶o̶ ̶n̶o̶t̶ ̶w̶o̶r̶k̶. First test results of Pianoteq (using touch screen, which works) are good. No crackling, but both cores fully loaded. I will give it more time later.

Good work!

With my image compiled yesterday, I have this result :

  • ZynthianOs boots ok.
  • The control knobs works
  • Wifi seems to not working, I try to add my networks, wbconf interface did not show any SSID
  • Pianoteq stage 6.5.3 works without xrun a 22.1khz, at 44khz xruns comes. I don’t play many notes but I have the score of 17 in Pianoteq panel

Instruments Zynaddsubfx, Fluidsynth, setBfree, Calf monosynth, Helm, MDA DX10, JX10, E.piano, Nekobi, Noize Mak3r, Obxd, Roffo synth, Triceraptops, Vex, Wolpertinger, padthv1, synthv1, aeolus, all fluid instrument work

Mod-UI and pure data work. I will try later with Mod-UI, lv2 plugins

  • Linuxsampler does not show any preset
    Edit: I miss that there is no soundfont, I add one sfz(Salamander piano) but no sound, I have this message in the CLI:
    ERROR:root:sfz (ERR 0)

  • Dexed does not work

That’s all for moment, will try to run zynthian from CLI to have debug information


I can confirm what you said…on a v2 pi3plus

1 Like

The SFZ soundfont collection is not downloaded when building the image, but copied from a local directory, so your fresh-build image don’t have any SFZ for Linuxsampler.

Also, copying an SFZ to the directory doesn’t work., You have to create some bank directory, like “pianos”, and put your SFZ inside. Please, confirm that this work for you …


I erased my build and put the nightly which works, so until I make a new build I can’t test.
On the nightly build, work as expected, I will try to add some soundfont on nightly.

The big problematic for me is the missing wifi, I try the command ifup wlan0, the raspberry tell me that there is no wlan0

I will work on it ASAP.

I try to understand all modification made when running the installation process.
setup_system for buster make a firmware downgrade, I try to upgrade the firmware and after a reboot Wifi works :wink:

I make an issue


Checkout today and I’m trying to build but I get this:

$ docker exec -it zynthianos-build /CustomPiOS/nightly_build_scripts/custompios_nightly_build

+ set -e
+ whoami
+ export DIST_PATH=/distro
+ DIST_PATH=/distro
+ export CUSTOM_PI_OS_PATH=/CustomPiOS
+ '[' 0 -gt 0 ']'
+ '[' default '!=' default ']'
++ awk '{print $2}'
++ lsof /distro/workspace/mount
lsof: status error on /distro/workspace/mount: No such file or directory
lsof 4.91
 latest revision:
 latest FAQ:
 latest man page:
 usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
 [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the ``-h'' option to get more help information.
+ rm '/distro/workspace/*.img'
rm: cannot remove '/distro/workspace/*.img': No such file or directory
+ true
+ true
+ rm '/distro/workspace/*.raw'
rm: cannot remove '/distro/workspace/*.raw': No such file or directory
+ rm '/distro/workspace/*.zip'
rm: cannot remove '/distro/workspace/*.zip': No such file or directory
+ true
+ pushd /distro
/distro /
+ umount /distro/workspace/mount/boot
umount: /distro/workspace/mount/boot: no mount point specified.
+ true
+ umount /distro/workspace/mount/dev/pts
umount: /distro/workspace/mount/dev/pts: no mount point specified.
+ true
+ umount /distro/workspace/mount
umount: /distro/workspace/mount: no mount point specified.
+ true
+ /CustomPiOS/build_custom_os
+ echo 'Distro path: /distro'
Distro path: /distro
+ echo 'CustomPiOS path: /CustomPiOS'
CustomPiOS path: /CustomPiOS
+ echo ================================================================
+++ dirname /CustomPiOS/build_custom_os
++ cd /CustomPiOS
++ pwd
+ DIR=/CustomPiOS
+ /CustomPiOS/build
+ '[' -n '' ']'
+ LOG=build.log
+ define SCRIPT
+ IFS='\n'
+ read -r -d '' SCRIPT
+ true
+ '[' build.log '!=' no ']'
+ touch build.log
+ chmod 666 build.log
+ tee build.log
+ eval 'BUILD_SCRIPT_PATH=$(dirname $(realpath -s $BASH_SOURCE))

CUSTOM_OS_PATH=$(dirname $(realpath -s $0))
  export OCTOPI_COMMIT=`git rev-parse HEAD`

source ${CUSTOM_PI_OS_PATH}/config ${@}

[ "$CONFIG_ONLY" == "yes" ] || source ${CUSTOM_OS_PATH}/custompios
++++ realpath -s /CustomPiOS/build
+++ dirname /CustomPiOS/build
++ source /CustomPiOS/
++ install_cleanup_trap
++ set -e
++ trap cleanup SIGINT SIGTERM
++++ realpath -s /CustomPiOS/build
+++ dirname /CustomPiOS/build
++ pushd /CustomPiOS
/CustomPiOS /distro
+++ git rev-parse HEAD
fatal: not a git repository (or any of the parent directories): .git
++ export OCTOPI_COMMIT=
++ popd
++ source /CustomPiOS/config
+++++ realpath -s /CustomPiOS/config
++++ dirname /CustomPiOS/config
+++ CONFIG_DIR=/CustomPiOS
+++ export BUILD_VARIANT=default
+++ BUILD_VARIANT=default
+++ BUILD_FLAVOR=default
+++ '[' 0 -gt 0 ']'
+++ '[' 0 -gt 1 ']'
+++ echo -e '--> Building VARIANT default, FLAVOR default'
--> Building VARIANT default, FLAVOR default
+++ '[' -f /CustomPiOS/config.local ']'
+++ source /distro/config
/CustomPiOS/config: line 24: /distro/config: No such file or directory
+ exit 1

what did I miss ?

I just make a try and don’t have the problem.
I make it on Linux Mint 19.2

I do this step:

1 sudo apt-get install docker docker-compose
2 git clone
3 cd ZynthianOS/src
4 wget
5 wget --directory-prefix=./image -c --trust-server-names ‘
6 echo “DISTRO_NAME=zynthianos” > .env
7 sudo docker-compose up -d
I’ve got an error :
ERROR: Version in “./docker-compose.yml” is unsupported. You might be seeing this error because you’re using the wrong Compose file version. Either specify a supported version (e.g “2.2” or “3.3”) and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
I put 3.3 instead of 3.6 in docker-compose.yml
8 sudo docker exec -it zynthianos-build /CustomPiOS/nightly_build_scripts/custompios_nightly_build

What does the file docker-compose.yml on your disk contain? It seems like its an invalid format (the version is contained in the file).

If it is the right file, try changing 3.6 to 3, perhaps you have an older version of docker-compose.

I have the file from your github
The docker-compose on linux mint is version 1.17.1
I change the version number by 3.3 and on my computer the compilation works

Allright, so it failed for me in my windows box, so I started a fresh ubuntu 18 box and tried the magic commands, and it failed also, log file (17.0 KB)

Also one point to mention, is the step 4, we do a wget to get another docker-compose.yml, but this command as is will not overwrite the already checkouted docker-compose.yml file but will make a new file with number 1 suffix, so if one does not rename or replace the file then the compose up command will process the wrong one, so one should do this instead if one wants to replace the file:

wget -q -O docker-compose.yml

Looks like you have issues with failed to setup loop device for device.

It is reporting a free loopback device at: /dev/loop8.

What is the output of:
sudo losetup?

We can try figure out what is going on, but also using vagrant build method is a workaround.

thanks for looking, so sudo losetup inside the container you mean, right ?

root@52388e741f5b:/# sudo losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                          DIO LOG-SEC
/dev/loop1         0      0         1  1 /var/lib/snapd/snaps/gnome-logs_61.snap              0     512
/dev/loop6         0      0         1  1 /var/lib/snapd/snaps/gnome-characters_296.snap       0     512
/dev/loop4         0      0         1  1 /var/lib/snapd/snaps/gnome-calculator_406.snap       0     512
/dev/loop2         0      0         1  1 /var/lib/snapd/snaps/core18_1066.snap                0     512
/dev/loop0         0      0         1  1 /var/lib/snapd/snaps/gnome-3-28-1804_67.snap         0     512
/dev/loop7         0      0         1  1 /var/lib/snapd/snaps/core_7270.snap                  0     512
/dev/loop5         0      0         1  1 /var/lib/snapd/snaps/gtk-common-themes_1313.snap     0     512
/dev/loop3         0      0         1  1 /var/lib/snapd/snaps/gnome-system-monitor_100.snap   0     512

Both would work. You can also try to stop-start docker.