agnula logo
:: Install
:: Documents
:: Links
:: Contacts
:: Develop

Freebob in A/DeMuDi

What It Is

This is a guide to installing Freebob on A/DeMuDi 1.2.1-rc2 for testing purposes.


January 2006

Freebob, gcc, and DeMuDi? have progressed since this guide was written, and I haven't been keeping up because of school commitments. Fortunately, someone with packaging skills has debbed up freebob. See for yourself:

http://pkg-freebob.alioth.debian.org/

Good luck.


The info provided here may be incorrect and/or incomplete. Please bring any corrections and suggestions to users@lists.agnula.org. Contributions are welcome. Also, wiki formatting is new to me. There may be some impractical layout ahead.

What is Freebob? Freebob is a generic open-source driver used to connect Bebob-based firewire devices in Linux. It currently depends on a customized version of jackd which is included in the source package, and a patched verion of liblo, which is available on the freebob homepage.

Freebob is currently in a prealpha state, but it has been reported to function. Getting it compiled under A/DeMuDi requires some preparation. Please note, that I do not yet have it making/taking sounds. This is not necessarily a guide to get it working, but you will learn what you need to start testing Freebob using A/DeMuDi.

Getting Started

Have these links at hand and read all you can:

If you're going to the trouble of trying all this, I presume you have an x86 computer and a bebob-based firewire sound card. For the curious, my system runs an Asus A7N8X-Deluxe motherboard, and I'm using an Edirol FA-101 firewire soundcard/box for testing. The A7N8X-Deluxe has an nVidia onboard firewire controller. I don't particularly recommend any of the hardware I use; It's just what I have right now. In fact, you may be interested to know which manufacturers have offered support to the freebob project.

BridgeCo, the company that writes the BeBob firmware, strongly recommends a Texas Instruments(TI) firewire controller. I don't yet have the details on which controller card manufacturers use TI controllers.

Installing Freebob on A/DeMuDi requires the following:

Note that ieee1394 is already configured in DeMuDi's kernel, but I'm sure it's not rev1286. This may require a reconfigured kernel.

Install A/DeMuDi. I read in the Jack docs that you have to jump through some hoops if the "/var/lib/jack/tmp" directory isn't on an ext2 filesystem, so I just made all my partitions ext2 before installing (except for a fat32 scratch partition). I'm not sure if this is really necessary.

Since this is all about testing, you may want to have your /home directory mounted on a separate partition. That way you'll keep most of your files and settings between reinstalls. I tend to assume that the system may get trashed, and keeping /home separate saves me some work (not to mention files!) if it does.

Add your sources to /etc/apt/sources.list. I use these:

deb http://demudi.agnula.org/packages/demudi testing main
deb ftp://ftp.us.debian.org/debian sarge main

Run "apt-get update", followed by "apt-get -f install". The second command fixes some broken packages that occur after a default install of A/DeMuDi 1.2.1 rc-2.

You'll need these packages:

  • automake (1.9)
  • autoconf (2.59a-3)
  • libtool
  • libxml2-dev
  • libcap-dev
  • gcc (3.3)
  • g++

The following package(s) is (are) not needed for compiling, but may help in testing:

  • gscanbus

Make sure you get the correct versions of autoconf and automake. You will be able to compile with other versions, but not without problems.

When obtaining sources for libraw1394 and libiec61883 from the web based svc/cvs, the names of the tarballs are both "trunk.tar.gz". Keep them separate in separate directories, eg. "libraw1394/trunk.tar.gz"

We'll compile the libs in this order (libiec and libavc compile without libraw): libraw1394 libiec61883 libavc1394

Unpack your sources, and 'cd' into the libraw source directory.

tar -xzvf trunk.tar.gz
cd trunk

read the README. The cvs libs tend not to have configure scripts included, so we need to generate one using autoreconf. Once generated, we execute the configure script with a prefix of /usr, since we're running a Debian system that locates libs in /usr/lib (otherwise, our libraries will install to /usr/local/lib and we'll have a lot of problems). Finally, we can compile and install.

autoreconf -f -i -s
./configure --prefix=/usr
make
install

Check out our Frappr! Valid XHTML 1.0! Valid CSS!