NMT:fuse: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Fuse == | == Fuse == | ||
Line 14: | Line 13: | ||
make V=1 CROSS_COMPILE=mipsel-linux-uclibc- ARCH=mips modules | make V=1 CROSS_COMPILE=mipsel-linux-uclibc- ARCH=mips modules | ||
Based on my | Based on my [[NMT:cross|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 |
Revision as of 00:48, 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