make release custom kernel conf not found

Rob Farmer rfarmer at predatorlabs.net
Mon Jan 30 03:45:02 UTC 2012


On Sun, Jan 29, 2012 at 9:03 AM, Rick Miller <vmiller at hostileadmin.com> wrote:
> Hi All,
>
> I am performing a `make release` to build a new release with a custom
> kernel.  The `make release` fails with the following error:
>
> cd /usr/src/release/..;  make TARGET_ARCH=amd64 TARGET=amd64
> KERNCONF=MYKERNEL kernel  DESTDIR=/R/stage/kernels KODIR=/MYKERNEL
> ERROR: Missing kernel configuration file(s) (MYKERNEL).
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src/release.
> + umount /dev
> *** Error code 1
>
> Stop in /usr/src/release.
>
> I have the kernel config at /root/kernels/MYKERNEL and
> /usr/src/sys/amd64/conf/MYKERNEL is a symlink to the kernel config.
> The applicable environment variables are set in my .profile as
> follows:
>
> BUILDNAME=8.2-RELEASE-MYKERNEL-1.1
> CHROOTDIR=/app/release
> CVSROOT=/home/cvs
> EXTPORTSDIR=/usr/ports
> EXTSRCDIR=/usr/src
> KERNELS="GENERIC MYKERNEL"
> MAKE_DVD=YES
> NODOC=YES
> NO_FLOPPIES=YES
>
> I am unsure how to get `make release` to realize the location of the
> kernel config.  Also, I notice that in the command to make the kernel,
> DESTDIR is set to /R/stage/kernels while the CHROOTDIR (and the
> location where I want the release to be built) is /app/release.
>
> I am wondering if someone knows how I may resolve the issue so I can
> get the release built.  I appreciate any advice and feedback.  Thanks.
>

The kernel is built inside the chroot, so all paths are really
/app/release/<whatever>. Your symlink points to
/app/release/root/kernels/MYKERNEL. It will be easiest to get rid of
the symlink and copy the actual file into your EXTSRCDIR before
starting the make release; alternately you could use the LOCAL_PATCHES
or LOCAL_SCRIPT variables to import it.

-- 
Rob Farmer


More information about the freebsd-questions mailing list