Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm trying to compile a single kernel module in a clean kernel source tree and just can't seem to get it right.
After compiling the kernel (2.6.10) I cleaned the source tree with make mrproper.
Now I'm trying to add just one fs driver module (ntfs.ko), so I copy the saved .config file into the source tree and do a make menuconfig.
I select ntfs support as M and save the changes.
The path to the kernel sources is ~/projects/linux-2.6.10 and I'm working in the source root directory.
make help shows a make dir target and this is what I use.
Here's the output from the command:
SPLIT include/linux/autoconf.h -> include/config/*
SYMLINK include/asm -> include/asm-i386
CC [M] fs/ntfs/aops.o
CC [M] fs/ntfs/attrib.o
CC [M] fs/ntfs/collate.o
CC [M] fs/ntfs/compress.o
CC [M] fs/ntfs/debug.o
CC [M] fs/ntfs/dir.o
CC [M] fs/ntfs/file.o
CC [M] fs/ntfs/index.o
CC [M] fs/ntfs/inode.o
CC [M] fs/ntfs/mft.o
CC [M] fs/ntfs/mst.o
CC [M] fs/ntfs/namei.o
CC [M] fs/ntfs/runlist.o
CC [M] fs/ntfs/super.o
CC [M] fs/ntfs/sysctl.o
CC [M] fs/ntfs/unistr.o
CC [M] fs/ntfs/upcase.o
CC [M] fs/ntfs/bitmap.o
CC [M] fs/ntfs/lcnalloc.o
CC [M] fs/ntfs/logfile.o
CC [M] fs/ntfs/quota.o
LD [M] fs/ntfs/ntfs.o
/bin/sh: .tmp_versions/ntfs.mod: No such file or directory
A look inside the fs/ntfs directory shows the .tmp_versions dir as well as the ntfs.mod file in it is there.
Unfortunately the kernel makefile is still indistinguishable from magic to me.
The SUBDIRS variable is for backwards compatibility with the 2.4 kernel according to comments in the makefile.
I tried make modules SUBDIRS=fs/ntfs though but get a lot of errors because of include files etc not available.
As can be seen from the output of make fs/ntfs, it takes care of building and satisfying dependancies where make modules SUBDIRS=fs/ntfs does not.
I think the .tmp_versions directory and ntfs.mod file are generated by the build process as it's not in the source tree when you extract it from the archive but it doesn't get cleaned by make mrproper or make distclean.