Issue with kernel building

Michael Powell nightrecon at
Sun Aug 19 23:42:51 UTC 2012

antonin tessier wrote:

> Hi,
> I have a problem when I try to build my own kernel. I had never got such a
> one; here is my kernel configuration file and the building errors that it
> makes.
> "# make kernel KERNCONF=GOLLUM
>  MAKE=make sh /usr/src/sys/conf/ GOLLUM
> Stop in /usr/obj/usr/src/sys/GOLLUM. "

I have snipped out content for brevity; rather let's focus on evidence of 
incorrect procedure on your part. While there still exists 2 ways of 
accomplishing this, the so-called "new" method is standard.

An example of how to do this can be found contained within a commented out 
section in the beginning of /usr/src/Makefile.  While this information is on 
how to completely rebuild/update the entire system from source, the commands 
to build and install a new kernel are present.

Please note the following:

make buildkernel KERNCONF=somekernelfilename
make installkernel KERNCONF=somekernelfilename

You are on almost the right track but you are referencing above incorrect 
paths to this kernel config process. For an i386 box/install your kernel 
config file would be located in /usr/src/sys/i386/conf and for a 64-bit 
amd64 install this location is /usr/src/sys/amd64/conf.

The best way to begin with customising a kernel is to simply copy the 
GENERIC config you will find in the conf directory mentioned (whichever is 
your box - i386 or amd64) to something like, for example, GOLLUM. Then cd to 
/usr/src and perform the above described commands.

Prior to attempting to rebuild again cd to /usr/obj and delete anything 
under /usr/obj. There will exist here content left over from the previous 
failed attempt. 

Keep in mind whenever you install a new kernel your present kernel (and its 
matching modules) get moved to kernel.old. What this means is that the 
GENERIC you have with a base install will be moved to kernel.old and can be 
used in the event the new kernel won't boot. Realize this: after the next 
rebuild process this kernel.old will be replaced _again_. In which case  you 
might now have 2 broken kernels with not an easy way to recover.

This is just some generic stuff to try and get you back on track. I would 
recommend an extended reading of the Handbook, as all of these instructions 
are present there. Hope this halps.   :-)


More information about the freebsd-questions mailing list