PiMusicBox on ReadOnly filesystem GStreamer error (v0.5.2)

I have PiMusicBox working including the (Adafruit) PiTFT screen and PMB-pitft script.

Next step is to make the filesystem ReadOnly.

I had that working without the PiTFT screen.
Due to the constant annoyance of corrupt filesystems on the SD card I like to run with a RO filesystem.

I’m using unionfs-fuse which has the ability to overlay a writable part over some of the read only directories (for instance on /var).

Playing playlists from Spotify works great (so I do have music)!

But now I get the following error when trying to play a (Tunin) stream:

,663 - INFO Starting new HTTP connection (1): listen.jazzradio.com
,218 - WARNING Setting GStreamer state to GST_STATE_PLAYING failed
,223 - ERROR Your GStreamer installation is missing a plug-in. Debug message: gsturidecodebin.c(1285): gen_source_element (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin12
,229 - WARNING Track is not playable: tunein:station:s109602

I have adapted the two extra lines in ui.py:

# OS enviroment variables for pitft
os.environ["SDL_FBDEV"] = "/dev/fb1"
os.environ["SDL_MOUSEDEV"] = "/dev/input/touchscreen"
os.environ["SDL_MOUSEDRV"] = "TSLIB"

# Zorg dat pygame niet de USB audio driver vast houdt!!
os.environ["SDL_AUDIODRIVER"] = "disk"
os.environ["SDL_PATH_DSP"] = "/dev/null"

… but even if ui.py is disabled (not running) I get the same error message … so it seems not to be related to the PMB-PITFT script.

What I think is that GStreamer tries to write something which is a problem on a RO filesystem :wink: .
If so, does anyone know where to configure GStreamer so it will write to a writable part of the filesystem?
Any other help is appreciated!

Is this for all streams? Is there any chance that " Your GStreamer
installation is missing a plug-in." is actually the case?

I did some more research …
Seems, during the setup of the RO filesystem I removed package “dbus” …
Could that be the problem?

Ii tried some streams. Not sure if there where other than Tunin streams.

If dbus could be the problem I will start over with a new image…

Don’t believe dbus is a dependency of gstreamer. The individual actual
streams that tunein catalogues are all different formats.

Hi kingosticks, thanks again for your patience and reply,

The strange thing is,

  • I have a working image of v0.5.2 with a RO filesystem but without the PiTFT touchscreen
  • I have a working image of v0.5.2. with the PiTFT touchscreen, but without the RO filesystem.

The only thing I’m not sure of is the removal of the package dbus

Tomorrow I will examine the packages on the first one and compare them with the packages on second one.

Then I will try to make sense out of that :frowning:

See: http://blog.gegg.us/2014/03/a-raspbian-read-only-root-fs-howto/
and: http://blog.pi3g.com/2014/04/make-raspbian-system-read-only/

I’d try reboot into read/write mode and see if that fixes it

Assuming you have two fstabs, one read only version and one read-write.

If you don’t, then you should do (you need a bind to bind the ‘etc_orig’ and ‘var_orig’ paths into the right places and to lose all the fuse stuff in the rw version. It’s possible to make it remount without rebooting but a nightmare pain.

Hi jmarshall,
Thanks for your reply.
I’m using the rwchroot.sh script to temporarly change to a RW filesystem. Works great (also, I would’nt know how to use two fstab files…)

I’m trying to rebuild again from the v0.5.2 PiMusicBox with the PiTFT touchscreen and see where it stops working…

Keep you all posted