FreeBoB on Debian GNU/Linux

From FreeBoB

Table of contents

Concepts

   * ‘BeBoB’ means the BridgeCo (http://www.bridgeco.net/) enhanced breakout box firmware.
   * BeBoB devices are audio breakout boxes running this firmware.
   * BeBoB devices are attached with IEEE1394, a.k.a FireWire(tm) or i.Link(tm), a high performance
     serial bus.
   * FreeBoB is a a generic Linux driver for BeBoB devices.
   * Debian GNU/Linux (http://www.debian.org/) is a free operating system for computers. Debian GNU/Linux uses the Linux kernel
     the operating system core), but most of the basic OS tools come from the GNU project; hence the
     name GNU/Linux.
   * FreeBoB on Debian GNU/Linux (http://pkg-freebob.alioth.debian.org/) is a FreeBoB port to Debian GNU/Linux.


Linux Kernel Questions

Linux kernel raw1394 support (built-in or module) is mandatory. Following commands can help you discover your actual config. Run, as root:

   # zgrep IEEE1394 /proc/config.gz
   # grep IEEE1394 /boot/config-`uname -r`

You look for these lines:

   * CONFIG_IEEE1394=y
   * CONFIG_IEEE1394_RAWIO=y

Or, alternatively, they can be built as modules and the lines would be as follows. Either is acceptable.

   * CONFIG_IEEE1394=m
   * CONFIG_IEEE1394_RAWIO=m

=y means built-in suppport; =m means modular support. If raw1394 kernel support is not installed, you must recompile your kernel (How?) (http://www.debian.org/doc/manuals/reference/ch-kernel.en.html) with this setup or install kernel image packaged. Linux Kernel version 2.6.15 or later is recommendable but not mandatory. Run, as root:

   # apt-get install linux-image-2.6

and then choose an adequate linux-image for install and install it.

Official Debian kernel packages have raw1394 support modular (not built-in). If you are using one (if you don't know then probably you are using one), it may be necessary to load the 'raw1394' module (you will need to do this if you had 'CONFIG_IEEE1394_RAWIO=m' above):

   # modprobe raw1394

If you will often (or always) need access to the raw1394 driver, load the module at bootup:

   # modconf

If that command did not work (resulting in output of 'modconf: command not found'), then install modconf first:

   # apt-get install modconf
   # modconf

look for the line:

kernel/drivers/ieee1394

Press enter to select this submenu and then install raw1394. The module will now be loaded immediately and will also be loaded each time the machine boots.

Installing

Today, Mar 11 2007, FreeBoB run as jackd driver. So, all you need is love and install jackd.

FreeBoB is not yet released (stable) into Debian GNU/Linux. So, for use FreeBoB, you must run unstable and experimental (just for jack-related packages) Debian GNU/Linux. If you don't know what that means, be careful and read the Debian docs before continuing.

Add, if necessary, official unstable and experimental lines to /etc/apt/sources.list:

* deb http://ftp.debian.org/debian unstable main contrib non-free
* deb http://ftp.debian.org/debian experimental main contrib non-free

Run, as root:

# apt-get update && apt-get install -t experimental jackd

Now, you are ready to run jackd. Run, as normal user:

$ jackd -d freebob

and cross yours fingers. Sometimes this can help ;). Press Ctrl+C to terminate execution of jackd and return to the command prompt. It is more likely than not that beyond installing, freebob you want use freebob :). So your next step is to review the Using hints.

Packages development

We have a Subversion repository (thanks to debian alioth admins/maintainers)

   * svn://marciotex-guest@svn.debian.org/svn/pkg-freebob

For build packages, there is 2 options: i) from subversion repository; ii) from apt repository. First option is more "experimental" and requires more skills. Second option is more stable (things should be works) and more easy. Try these if first don't works.

Building Debian Source Packages From Subversion Repository

Install svn-buildpackage:

   # apt-get install svn-buildpackage

First time, checkout wanted modules. For example, libfreebob:

   $ cd /some/dir
   $ svn co svn://marciotex-guest@svn.debian.org/svn/pkg-freebob/libfreebob
   $ cd libfreebob/trunk
   $ svn-buildpackage -rfakeroot -us -uc
   < coffee is good; drink >
   $ cd /some/dir/libfreebob/build-area
   $ ls -lah

Packages should be there. If not, something got wrong. Let me know. Other times, substitues first three commands by

   $ cd /some/dir/libfreebob
   $ svn up

Building Debian Source Packages From Apt Repository

libfreebob can be built from apt repository. To build binaries, run, as root,

   # apt-get build-dep libfreebob

And then, as normal user:

   $ cd /some/dir/whatever
   $ apt-get source libfreebob
   $ cd libfreebob
   $ dpkg-buildpackage -rfakeroot -us -uc
   $ cd /some/dir/whatever
   $ ls -lah

To install packages with dpkg, in case you don't remember, run (as root):

   # dpkg --install package.deb

Social Area

Problems? Solutions? Patches? (hummm...) Please, if Debian-specific, send to mailing list pkg-freebob-devel (http://lists.alioth.debian.org/mailman/listinfo/pkg-freebob-devel).

If not, use Freebob-devel mailing list (https://lists.sourceforge.net/lists/listinfo/freebob-devel).