Contents
- INDEX
- Linux Index
- Solaris
- HP-UX Index
- Other Unix types
- General Unix
- Unix Networking
- Unix Scripts
- Unix Databases
Associated Information
- none
Useful Links
- HOWTOs, FAQs, etc
- Linux Documentation Project
- Linux Search Engine
- GNU free software sight
- Freshmeat software sight
- Linux Weekly News
- Linux Gazzette
- Caldera Openlinux knowledge d/base
- Corel Linux knowledge d/base
- Debian documentation
- Mandrake documentation
- Redhat Online Manuals
- Slackware FAQs
- SUSE support database
|
Adding a binary module to an existing build
Occassionaly vendors (lacking in vision) provide driver modules for hardware in binary format only.
This can cause problems when trying to incorporate the modules into an existing builds. In the linux
world, the idea of binary only modules has been given the big thumbs down, (Linus Torvalds has
specfically condemned the idea). Because of this, it has been almost impossible to get any information
on how to incorporate binary modules. However, like it or not, sometimes we need to use hardware for
which only the binary driver exists. I spent some time trying to find out how best to do this and
found out the following:
- Binary modules are only guaranteed to work with the kernel the were compiled for.
- If you have a different kernel version the safest option to to change your kernel to the version
the binary was compiled against
- In this case copy the module to /lib/modules/version/category and try loading
it with insmod module . If this seems OK, the module can be included
in the dependencies table by executing depmod -a . The module can
then be loaded using modprobe module.
- If you can't or don't want to change your kernel version, copy the module into
/lib/modules/version/category and use insmod -f
to force the module to load. You'll most likely get some unresolved symbols messages, however, the
module may work anyway. What this means is that not all the functions of the module will work as
designed but you may be lucky and the main functionality works.
- That's your choices. If anyone knows otherwise, please let
me know.
|