RE: Simplified Steps for Building a Loadable module on -CURRENT
- From: "David Christensen" <davidch@xxxxxxxxxxxx>
- Date: Wed, 30 Aug 2006 16:36:45 -0700
I've been able to successfully build drivers in the past as
loadable modules but I'm getting some kernel panics with -CURRENT
when installing a module using kldload now where things used to
work before.
You did nuke /usr/obj, performed a full kernel build (cd /usr/src;
make buildkernel installkernel), and the module in question that was
installed alongside your new kernel is *not* panicking the system?
Yes
Then what's the panic message, and how exactly are you building your
module?
The message wasn't readable on the serial console. The text was jumbled
and I could only make out bits and pieces of it.
Assume I'm a complete FreeBSD noob for a moment
(which really isn't that far from the truth) and I want to build
a driver as a loadable module for testing. After moving to
the appropriate directory in the source tree (/usr/src/sys/dev/XXX),
what steps do I need to follow to build the driver as a module?
That would be /usr/src/sys/modules/<modulename>
So far, just running make there has worked for me just fine.
Ah, there's the simple piece I was missing! I had previously
created my own Makefile and placed it in the /usr/src/sys/dev/XXX
directory.
Assume for the moment that I have already commented the driver out
of my kernel configuration file
(/usr/src/sys/<architecture>/conf/GENERIC)
and rebuilt and installed that kernel.
If the driver has been compiled into the kernel, kldload will error
out with EEXISTS. If the system panics, you should provide specifics.
So I should do the following:
1) Comment out the driver I want to test in the kernel configuration
file.
For example, modify /usr/src/sys/amd64/conf/MYCONFIG.
2) Rebuild and install the kernel (cd /usr/src; make kernel
KERNCONF=MYCONFIG)
3) Reboot the system to start using the new kernel
4) Edit the driver in /usr/src/sys/dev/XXX as necessary
5) Build the kernel module (cd /usr/src/sys/modules/XXX; make)
6) Load the kernel module (kldload ./if_XXX) and cross my fingers.
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: Simplified Steps for Building a Loadable module on -CURRENT
- From: Stefan Bethke
- Re: Simplified Steps for Building a Loadable module on -CURRENT
- References:
- Re: Simplified Steps for Building a Loadable module on -CURRENT
- From: Stefan Bethke
- Re: Simplified Steps for Building a Loadable module on -CURRENT
- Prev by Date: upgrading fromo current of 11/05 to today
- Next by Date: Re: RFC: FreeBSD I/OAT driver
- Previous by thread: Re: Simplified Steps for Building a Loadable module on -CURRENT
- Next by thread: Re: Simplified Steps for Building a Loadable module on -CURRENT
- Index(es):
Relevant Pages
|
|