FreeBoB on Dynebolic
From FreeBoB
This is a HowTo which can be used to install FreeBob on an existing Dynebolic 2.1 system and burn the result to a new, Freebob-Enabled ISO.
It requires Dynebolic to be 'docked', which can be easily accomplished by copying the 'dyne' directory on the Dynebolic CD-ROM to the root directory of a hard drive partition, preferably the principal one. It will first explain how to make Dynebolic modifiable, then proceed to remove conflicting libraries, after which freebob's low-level dependencies will be satisfied. Then Freebob itself may be installed. FreeBob requires a rather recent version of jack to function properly, which will be installed towards the end of this guide. Finally, in order to bring some ease of use to Jack, QJackCtl will also be updated to its latest Freebob-enabled version.
Although it has been said that updating jack requires a recompilation of all jack-based software, this has proven not to be the case under these specific circumstances; specifically, Dynebolic's native ardour works just fine with the updated jack version.
In order to be able to make permanent modifications to the system, I created a dynebolic SDK. Doing this renders the /usr tree writable.
dynesdk mksdk cp /mnt/cdrom/* /mnt/hd1/1/dyne/SDK/cdrom -R
Dynebolic software modules are bundles of software and reside in the /opt tree. They can be individually set writable using the 'dynesdk devel' command and saved with 'dynesdk squash'. In Dynebolic 2.1, there is a module called 'video', which contains older versions of libraries that are no longer compatible with current versions of freebob. They need to be removed before installing, which is what the following commands do:
dynesdk devel video rm -R /opt/video/lib/libraw1394* rm /opt/video/lib/pkgconfig/libraw1394.pc rm -R /opt/video/include/libraw1394* rm -R /opt/video/lib/libiec61883* rm /opt/video/lib/pkgconfig/libiec61883.pc rm -R /opt/video/include/libiec61883* dynesdk squash video
There is also an outdated library in the /usr tree which can be removed with the following commands:
rm -R /usr/lib/libavc1394* rm /usr/lib/pkgconfig/libavc1394.pc rm -R /usr/libavc1394*
Now Dynebolic is ready for actual installation of freebob's dependencies. All dependencies can be satisfied with actual releases, accessing development versions through subversion or CVS is no longer necessary.
libraw1394 version 1.2.1 can be downloaded from http://www.linux1394.org/. The following code can be used to download and install it.
wget http://www.linux1394.org/dl/libraw1394-1.2.1.tar.gz tar -xvzf libraw1394-1.2.1.tar.gz cd libraw1394-1.2.1 ./configure --prefix=/usr make make install make dev cd ..
Another dependency is the 1.1.0 release of libiec61883 from http://www.linux1394.org.
http://www.linux1394.org/dl/libiec61883-1.1.0.tar.gz cd libiec61883-1.1.0 ./configure --prefix=/usr make make install cd ..
The final dependency is libavc1394 from http://sourceforge.net/projects/libavc1394/.
wget http://belnet.dl.sourceforge.net/sourceforge/libavc1394/libavc1394-0.5.3.tar.gz tar -xvzf libavc1394-0.5.3.tar.gz cd libavc1394-0.5.3 ./configure --prefix=/usr make make install cd ..
Freebob itself may be downloaded from http://freebob.sourceforge.net/index.php/Building_and_Installing.
wget http://puzzle.dl.sourceforge.net/sourceforge/freebob/libfreebob-1.0.0.tar.bz2 tar -xvjf libfreebob-1.0.0.tar.bz2 cd libfreebob-1.0.0/ ./configure --prefix=/usr make make install cd ..
Your Freebob-Enabled device should now be functional. You may test it by entering:
tests/test-freebob discover
If your device is recognized properly, you will see several pages information related to your device.
If it does work, a good next step is updating Jack from http://jackaudio.org.
wget http://puzzle.dl.sourceforge.net/sourceforge/jackit/jack-audio-connection-kit-0.102.20.tar.gz tar -xvzf jack-audio-connection-kit-0.102.20.tar.gz cd jack-audio-connection-kit-0.102.20 ./configure --prefix=/usr --with-default-tmpdir=/tmp make make install cd ..
You may test your installation with the following command:
jackd -d freebob
Jack staying running is a good indicator of success.
The final step of downloading QJackCtl from qjackctl.sourfeforge.net can be accomplished this way:
wget http://puzzle.dl.sourceforge.net/sourceforge/qjackctl/qjackctl-0.2.21.tar.gz tar -xvzf qjackctl-0.2.21.tar.gz cd qjackctl-0.2.21 ./configure --prefix=/usr make make install cd ..
Now Freebob can be configured. Some experimentation may be required in order to determine the lowest possible latency with no (or almost no) audio dropouts (Xruns; displayed in red print in the QJackCtl window).
In any case, the number of channels must be set correctly. They may be counted based on the output of these commands:
jackd -d freebob & jack_lsp
Now that everything is working, the modified dyne system may be saved back to your dock with these commands.
dynesdk mkusr dynesdk mkinitrd
A burnable CD image may be created this way:
dynesdk mkiso
Of course, a similar procedure can be used to install any software in Dynebolic.
Carlo
