NMT:fuse

From Lundman Wiki
Revision as of 00:48, 1 January 2008 by Lundman (talk | contribs)

Fuse

I downloaded the latest fuse I could find, which at the time was fuse-2.7.2.

Compiling turned out to be a real hassle, the compiled kernel version string has to match that of my compiled kernel module version string.

The string we need to get is

2.6.15-sigma preempt MIPS32_R2 32BIT gcc-4.0

So, change Makefile to have EXTRAVERSION = -sigma, then turn on preemptive kernel, and MIPS R2 under CPU Architecture. I compile the kernel with:

make V=1 CROSS_COMPILE=mipsel-linux-uclibc- ARCH=mips modules

Based on my cross-compile tool chain. However, note that Linux kernel can not easily be built on platforms other than Linux. It uses HOST_CC to build some items that assume you have Linux headers.

After that, I configured fuse with:

./configure --host=mipsel-linux-uclibc --enable-kernel-module --with-kernel=/home/lundman/cross/linux-2.6.15.7/ --enable-static
cd kernel
make V=1 CROSS_COMPILE=mipsel-linux-uclibc- ARCH=mips

Which gives me a fuse.ko. This does not yet load, due to:

insmod -v fuse.ko
Using fuse.ko
fuse: Unknown symbol capable
fuse: Unknown symbol _spin_unlock
fuse: Unknown symbol add_preempt_count
fuse: Unknown symbol __might_sleep
fuse: Unknown symbol _spin_lock
fuse: Unknown symbol sub_preempt_count
insmod: cannot insert 'fuse.ko': Success (2): Success