NMT:fuse: Difference between revisions

From Lundman Wiki
No edit summary
No edit summary
Line 32: Line 32:
  fuse: Unknown symbol sub_preempt_count
  fuse: Unknown symbol sub_preempt_count
  insmod: cannot insert 'fuse.ko': Success (2): Success
  insmod: cannot insert 'fuse.ko': Success (2): Success
Ahh, ok instead of picking '''malta''' board, I picked '''atlas''' and voila:
# insmod fuse3.ko
<4>fuse init (API version 7.8)
<4>fuse distribution version: 2.7.2

Revision as of 02:44, 1 January 2008

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

Ahh, ok instead of picking malta board, I picked atlas and voila:

# insmod fuse3.ko
<4>fuse init (API version 7.8)
<4>fuse distribution version: 2.7.2