Boris Kochergin
2010-Feb-18 17:14 UTC
Can't load NFS server module with a custom 8.0 kernel
Ahoy. I didn't get any replies to this on -net, so I thought I'd try here. I have an 8.0-RELEASE-p2/amd64 machine running a custom kernel (configuration file at http://acm.poly.edu/~spawk/ACM) and I am unable to use the NFS server module on it. After loading the nfssvc module, attempting to load the nfsserver module fails and the following appears in dmesg: Feb 3 19:35:54 acm kernel: link_elf_obj: symbol svcpool_create undefined Feb 3 19:35:54 acm kernel: linker_load_file: Unsupported file type I see a reference to the problem at http://lists.freebsd.org/pipermail/svn-src-all/2008-November/001025.html. Am I missing something or has it never gotten resolved? Thanks. -Boris
On Thu, 18 Feb 2010, Boris Kochergin wrote:> Ahoy. I didn't get any replies to this on -net, so I thought I'd try here. I > have an 8.0-RELEASE-p2/amd64 machine running a custom kernel (configuration > file at http://acm.poly.edu/~spawk/ACM) and I am unable to use the NFS server > module on it. After loading the nfssvc module, attempting to load the > nfsserver module fails and the following appears in dmesg: > > Feb 3 19:35:54 acm kernel: link_elf_obj: symbol svcpool_create undefined > Feb 3 19:35:54 acm kernel: linker_load_file: Unsupported file type > > I see a reference to the problem at > http://lists.freebsd.org/pipermail/svn-src-all/2008-November/001025.html. Am > I missing something or has it never gotten resolved? Thanks. >I don't know diddly about the module loading stuff, but you could try this patch. (svcpool_create() is a part of the krpc, which is listed as a module that nfsserver depends on) rick --- untested patch for nfs_srvsubs.c --- --- nfsserver/nfs_srvsubs.c.sav 2010-02-18 14:41:52.000000000 -0500 +++ nfsserver/nfs_srvsubs.c 2010-02-18 14:42:12.000000000 -0500 @@ -554,7 +554,7 @@ nfsrv_modevent, NULL, }; -DECLARE_MODULE(nfsserver, nfsserver_mod, SI_SUB_VFS, SI_ORDER_ANY); +DECLARE_MODULE(nfsserver, nfsserver_mod, SI_SUB_VFS, SI_ORDER_FIRST); /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_VERSION(nfsserver, 1);