Update to FreeBSD 9.2 from 9.1 with module issues

Greetings,

Just recently I have tried to upgrade my FreeBSD system from 9.1 to 9.2 via freebsd-update. The catch to this update is I have a custom kernel and thus after the update it switches to the Generic kernel. I then proceeded to build a new custom kernel so it matches what I had before. However for some reason during the rebuild it tries to include some kernel modules that I never configured in my configuration file, and then the build fails. How can I exclude those modules and only build it to how I have my configuration file set?

Thank you!
Dana
 
The important question here is how you set up your kernel configuration? Did you copy the GENERIC file to a new one and then modified this or did you use another approach?

Because in that case the best way to update is to use this process again. So copying the new GENERIC file and then re-applying your changes again.

Another possibility: did you clean out /usr/obj before working on your new kernel? If not then it is possible that your build process has used some "left overs" from the previous run, which theoretically could have caused some problems.

Still, my bet is on the way you set up your configuration.
 
Ok, what I did was I edited the GENERIC file to my liking and saved it with a different name. I never did clean up the /usr/obj files so that is something I can look into.

Thanks,
Dana
 
Then it's highly advisable to do the copying and editing step again. The problem is that there are several things which changed between 9.1 and 9.2. So options which were commented out are now active and options which were present in 9.1 are now gone in 9.2.

This may be a useful tip for you.

Instead of copying the file and then changing it, try creating a new file, include the GENERIC configuration and perform all changes in your own file.

For example, if you need to add a few options (I'll use nullfs as example) then you only need something like this:

Code:
include GENERIC
ident   MYKERNEL

options NULLFS

This will include everything in the GENERIC configuration and then merely add support for the nullfs filesystem. The advantage here is that you can continue to use this configuration file across different versions. Because no matter how much GENERIC changes over time all you're doing is adding to it.

Another option, but this takes more time, is to remove options which are defined in GENERIC. You can do so by using entries such as nomakeoptions, nooptions and nodevice. These will negate their counterparts (which don't have the no in front of them).

Hope this can give you some ideas as well.
 
Back
Top