[OpenAFS] kernel module build problems with 1.4.1, kernel 2.6.14

Dan Pritts danno@internet2.edu
Wed, 17 May 2006 12:23:52 -0400


Hi all - 

I've got a centos 4 system with a kernel.org 2.6.14 kernel.

  [root@nt650 src]# uname -a
  Linux nt650.asyourattorney.org 2.6.14nt650-1danno1 #2 Wed Nov 9 23:15:53 EST 2005 i686 i686 i386 GNU/Linux

Trying to install openafs 1.4.1 client.  I downloaded & installed the
RHEL4 rpms and went to build the kernel module.  I had a successful build
and once i figured out where to put it i figured everything would be fine.

But, it didn't insert correctly.  I get the following in dmesg:

	openafs: disagrees about version of symbol filemap_fdatawrite
	openafs: Unknown symbol filemap_fdatawrite
	openafs: disagrees about version of symbol generic_file_read
	openafs: Unknown symbol generic_file_read
	openafs: disagrees about version of symbol generic_file_write
	openafs: Unknown symbol generic_file_write
	openafs: disagrees about version of symbol sock_create
	openafs: Unknown symbol sock_create
	openafs: disagrees about version of symbol wake_up_process
	openafs: Unknown symbol wake_up_process
	openafs: disagrees about version of symbol generic_file_mmap
	openafs: Unknown symbol generic_file_mmap
	openafs: disagrees about version of symbol generic_file_sendfile
	openafs: Unknown symbol generic_file_sendfile
	openafs: disagrees about version of symbol unlock_page
	openafs: Unknown symbol unlock_page
	openafs: disagrees about version of symbol sock_sendmsg
	openafs: Unknown symbol sock_sendmsg
	openafs: disagrees about version of symbol sock_recvmsg
	openafs: Unknown symbol sock_recvmsg
	openafs: disagrees about version of symbol sock_release
	openafs: Unknown symbol sock_release
	openafs: disagrees about version of symbol kill_anon_super
	openafs: Unknown symbol kill_anon_super
	openafs: disagrees about version of symbol filemap_fdatawait
	openafs: Unknown symbol filemap_fdatawait
	openafs: disagrees about version of symbol get_sb_nodev
	openafs: Unknown symbol get_sb_nodev

As I inspect these some of them look pretty generic (sock_sendmsg i
can't believe is really optional) but I'm guessing that there is some
required kernel option that I didn't build into my kernel.   Hints?

One other thing I should mention is that this system is a via C3 with
an older "ezra" core.  This core did not implement the "optional" CMOV
instruction from the i686 instruction set but identifies itself as an i686
(apparently this is legal according to whatever spec there is for i686).

Unfortunately, gcc assumes that an i686 has CMOV.  I didn't see anything
obvious in the Makefile that was referring to the cpu arch but any
hints appreciated.

This is one big reason i built my own kernel, as the kernel sources have
at least some optimizations for this particular chip and the thing is not
fast to start with.  what it *is* is cheap, and the whole motherboard +
CPU maxes out at about 10 watts.

danno
--
dan pritts - systems administrator - internet2
734/352-4953 office        734/834-7224 mobile