# Cant "make buildkernel" custom kernel



## rtwingfield (Mar 10, 2017)

The current installed kernel (/boot/kernel) dates to DEC 31, 2001
(Yes, the OS is v10.1 . . .running 24/7 more or less since then . . .would upgrade but new server platform cannot _speak_ to the Ethernet via the NIC.)

I have downloaded a fresh driver from Intel (https://downloadcenter.intel.com/do...igabit-Base-Driver-for-FreeBSD-?product=71307) but I cannot compile and load it because of conflict with the old kernel module(s).  I am trying to compile a fresh kernel sans all NIC modules, after which I will add as required to /boot/loader.conf.

In addition to simply trying to execute from the symbolically linked file (pointer),
/usr/src/sys/i386/conf/ALPHAI3

`make buildkernel KERNCONF=ALPHAI3`

. . .I have also tried the actual non-linked path as follows - the syntax, straight out of the Handbook, fails:

`cd /usr/src
make buildkernel KERNCONF=/root/kernels/ALPHAI3
ERROR: Missing kernel configuration files(s) (/root/kernels/ALPHAI3).`

. . .also, I've hacked around and managed to compile GENERIC and was generated in
/usr/obj/usr/src/sys/GENERIC.
. . .moving on with the _hacking_ experiment, following the `make installkernel` command, the /boot/kernel and /boot/kernel.old were generated, but the installed /boot/kernel with today's March 10 date, is based on GENERIC.  The `KERNCONF=/root/kernels/ALPHAI3` command was interpreted as "_could not find_" error.  The path to ALPHAI3 is simply ignored (not found).

`make installkernel KERNCONF=/root/kernels/ALPHAI3
ERROR: No kernel “ALPHAI3" to install.`

This is very frustrating.  Am I overlooking something?


----------



## freebuser (Mar 10, 2017)

can you check the alaphai3 file is there?
and post the contents tail -50 /usr/src..../ALPHAI3


----------



## rtwingfield (Mar 10, 2017)

freebuser said:


> can you check the alaphai3 file is there?
> and post the contents tail -50 /usr/src..../ALPHAI3


First, thanks for your interest in this puzzle!

Well, I can assure you that the file does exist . . .I created it by copying the
/usr/src/sys/i386/conf/GENERIC to /root/kernels/ALPHAI3, symbolically linked it to /usr/src/sys/i386/conf/ALPHAI3, and then edited it.  So far, it is identical to the GENERIC file sans the PCIe NIC module specs that I'm wanting to eliminate.  Posting the tailend of the file wouldn't help solve anything.  Problem is that the `make buildkernel` _command processing program_ is not finding anything in the path (or following the path) to the file.  Apparently something is "hosed" with the `make buildkernel` command (on my _alpha_ system?).  The file should be found if it had anything in it . . .like the lyrics to "_Kumbaya_" (for example); at least then a different _build_ error rather than a _file-not-found_ error would be issued.


----------



## freebuser (Mar 11, 2017)

the reason I asked for the tail end is to see whether it is linked properly. Sometimes you never know, so always best to eliminate all doubts.


----------



## rtwingfield (Mar 11, 2017)

freebuser said:


> the reason I asked for the tail end is to see whether it is linked properly. Sometimes you never know, so always best to eliminate all doubts.


Note:  It doesn't necessarily need to be symbolically linked to another physical location . . .it's just a convenience (to protect the source code saved in a different location other than /user/src/sys/i386/conf/ALPHAI3).  Actually I've tested both scenarios asking the `make buildkernel KERNCONF=ALPHAI3` and the `make buildkernel KERNCONF=/root/kernels/ALPHAI3` to look for both.  The former references the symbolic link pointer, and the latter the actual physical object.

I've got two other servers, beta and gamma, running FreeBSD v10.3.  I think tomorrow I'll try the module and kernel build on beta.  It'll be a bit of a hassle because I don't have a working ssh login or ftp access to alpha (because it can't access the network).  I'll have to mount a USB _stick_, etc., copy and move components back and forth . . .just to see what will and will not work.


----------



## SirDice (Mar 13, 2017)

My first guess would be that the system is actually AMD64, not i386. So the kernel config should be in /usr/src/sys/amd64/conf/.


----------

