David E
Contributor
- Joined
- Nov 1, 2013
- Messages
- 119
Hi all-
I'm working on building VMware's vmxnet3 for FreeNAS 9.2 (the supplied version in tools no longer works). I integrated it into FreeNAS's build, and it even was auto packaged up into the install ISO. However I have a few questions for the release engineering experts:
-Is there some easy way to build just a kernel module for FreeNAS, without having to build the entire system? Specifically, how do I get all the paths/flags set up properly to point to FreeNAS's kernel/system headers.
-When I build the system, (make release), the kernel name turned out to be 9.2-RELEASE-p3, whereas the actual released kernel name is 9.2-RELEASE, I believe this is preventing me from kldloading my built module into a standard 9.2 release install. How can I change this name?
-When I run kldload vmxnet3, I get:
link_elf_obj: symbol __mtx_assert undefined
linker_load_File: Unsupported file type
kldload: can't load vmxnet3: Exec format error
I took a look through the sources, and __mtx_assert definitely exists in the kernel source code, and I didn't see any obvious reasons it would be being stripped during build or not included, any suggestions on how to proceed to diagnose this? Is there some naming strip/rewrite that is not properly being performed on vmxnet3? vmxnet3 compiled fine during the build.
Thanks!
ps before anyone says 'you shouldn't run FreeNAS virtualized', I am physically passing through a LSI-hba to the VM that has all the drives it uses directly connected to it, and it has 16GB of RAM, so I think it is a legit use :)
I'm working on building VMware's vmxnet3 for FreeNAS 9.2 (the supplied version in tools no longer works). I integrated it into FreeNAS's build, and it even was auto packaged up into the install ISO. However I have a few questions for the release engineering experts:
-Is there some easy way to build just a kernel module for FreeNAS, without having to build the entire system? Specifically, how do I get all the paths/flags set up properly to point to FreeNAS's kernel/system headers.
-When I build the system, (make release), the kernel name turned out to be 9.2-RELEASE-p3, whereas the actual released kernel name is 9.2-RELEASE, I believe this is preventing me from kldloading my built module into a standard 9.2 release install. How can I change this name?
-When I run kldload vmxnet3, I get:
link_elf_obj: symbol __mtx_assert undefined
linker_load_File: Unsupported file type
kldload: can't load vmxnet3: Exec format error
I took a look through the sources, and __mtx_assert definitely exists in the kernel source code, and I didn't see any obvious reasons it would be being stripped during build or not included, any suggestions on how to proceed to diagnose this? Is there some naming strip/rewrite that is not properly being performed on vmxnet3? vmxnet3 compiled fine during the build.
Thanks!
ps before anyone says 'you shouldn't run FreeNAS virtualized', I am physically passing through a LSI-hba to the VM that has all the drives it uses directly connected to it, and it has 16GB of RAM, so I think it is a legit use :)