Today, I managed to get Neb2 upgraded to the latest version of the OS and Csound
for most users, this is not that interesting (yet) , but the implications are:
a) we can potentially create a new sdcard image with latest OS, and with new tools that are very difficult to provide on current OS
b) for development purposes, we can upgrade Neb2 to get some newer dev tools to ease the testing/dev process
(this was my primary aim for today !)
the rest, is really a kind of 'log' (not a complete guide!) of how I achieve this, and learnt as i went along,
mainly as 'documentation' so it can be repeated by myself or others in the future.
if your not a developer, you can probably stop here....
warning: do not enter any of the following commands, unless you know linux - you WILL make your Neb 2 un-bootable.
background: Neb2 uses Arch Linux as a distro, which is pretty cool.
but has one painful part.. only the most current software is available, including dependancies meaning you can't 'partially' upgrade a system, its all or nothing :(
so today, I wanted to install a vncserver (tigervnc), but to do so means updating all software on Neb2 to the latest version available on arch linux.
(there are some very painful workarounds to avoid this, but Im not going to go into that... as I wanted to see if I could upgrade Neb2 anyway)
so the basic plan was, upgrade Neb2 (via pacman -Syu), install tignervnc , get neb to launch pd in graphics mode for debugging etc.
of course, its never quite that simple...
so here is what you actually need to do
(this assumes you already have it connected to network, and the internet)
pacman upgrade will fail first because the SD card is not big enough to download all the new packages!
transfer image to a larger sdcard (i used 16gb)
boot neb2 with new sdcard,
use fdisk and resize2fs to resize root partition to max size (e.g. 16gb)
mount /boot as rw
start upgrade with pacman -Syu (select all defaults options)
its about 560MB of packages, took me about 30 mins to download
you might need to run a few times if the packages download times out.
I got an error about python-setup tools, so before main upgrade would work, I had to force that to be upgraded, then I could redo the upgrade
upgrade worked, and then i could reboot...
yay - success checkpoint # 1 - nice fresh software, latest kernel
(this took about one hour to this point)
however, nebulae.py fails to start,
this is because numpy has been upgrade and doesn't like the old csound python interface ctcsound.py
so we need to upgrade csound... but why was it not upgraded ? because csound and pd were not installed via pacman !
my first thought was to install csound via pacman, but the one on pacman distro has a build issue so cannot be used.
so instead I downloaded csound source (latest release = 6.14) and built it, and installed it
(this takes a while, but main thing is to make sure you enable NEON, as per rPI build instructions, and also disable JAVA interface which failed to build for me)
then copied ctcsound.py from csound6.14 to QB_Nebuale/Code/Nebulae/nebulae/ctcsound.py
yay - success checkpoint # 2 - nebulae software working ... but all on latest software.
next to the whole point of this task, getting vnc working so I can start PD as a graphics display for dev and testing
plain sailing from here, as everything is nice and new... so no surprises
install jwm (simple window manager)
install xterm and xhost
install fonts (xorg-fonts-75dpi)
edit .vnc/xstartup, to launch jwm
yay - success checkpoint # 3 - we have vnc and X working, and PD can be used graphical
final step, is actually using these new features to actually be able to develop/test on the nebulae.
so we need to get nebulae.py, to launch pd as guy,
so for 'testing' purposes, weo edit nebulae.py, and remove -nogui from pd options
the launch nebulae.py manually (ie. stop service and use python2 nebulae.py)
viola, we have our Pure Data patch running in graphics mode so we can do real time editing and debugging.