Solved Copying kernel+world to another machine to install "via source" fails

Instead of compiling world and kernel on two different machines with almost identical hardware and identical kernel config, I had the idea to build on the first, then copy over the contents of /usr/obj and /usr/src to the second. However, when I try to do "make installkernel KERNCONF=..." on the second (non compiler) machine, it complains the kernel doesn't exist.

I have confirmed that on the second machine the conf exists at /usr/src/sys/amd64/conf/KERNELNAME, and the compiled kernel exists in the directory /usr/obj/usr/src/amd64.amd64/sys/KERNELNAME.

Where else besides /usr/obj and (possibly) /usr/src is the kernel referenced when installing a build?

Note: both machines are underpowered (buildworld took about 2 days) and the second machine runs unusually hot, which is why I'm trying to avoid doing the compile step twice. Thanks.
 
Under normal conditions you only need to look in "/usr/src/sys/amd64/conf"
How did you copied over the contents i.e. which instructions did you used ?
( Do first an rm -vfR * .??* /usr/src /usr/obj on the destination)
What does "freebsd-version -kru" on source & destination returns ?
 
Under normal conditions you only need to look in "/usr/src/sys/amd64/conf"
Thanks to your tip I subsequently realised that the kernel conf is actually symlinked on the source. Facepalm time. Now that I have copied the actual conf file, make installkernel succeeds.
 
Back
Top