From owner-freebsd-current@freebsd.org Wed Oct 21 05:20:10 2015 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5410A1A4D5 for ; Wed, 21 Oct 2015 05:20:09 +0000 (UTC) (envelope-from null@pozo.com) Received: from pozo.com (pozo.com [50.197.129.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "pozo.com", Issuer "pozo.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C97296F for ; Wed, 21 Oct 2015 05:20:09 +0000 (UTC) (envelope-from null@pozo.com) Received: from octo.pozo.com (octo.pozo.com [192.168.0.2]) (authenticated bits=128) by pozo.com (8.15.2/8.15.2) with ESMTPA id t9L55mNk075074; Tue, 20 Oct 2015 22:05:48 -0700 (PDT) (envelope-from null@pozo.com) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.0 \(3094\)) Subject: Re: is building kernel in /sys/amd64/conf depreciated in 11 ? From: Manfred Antar In-Reply-To: Date: Tue, 20 Oct 2015 22:05:47 -0700 Cc: freebsd-current@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: <4ECDB52A-618B-450B-B12F-51B282425050@pozo.com> References: <20151020164013.GA43495@potato.growveg.org> To: Benjamin Kaduk X-Mailer: Apple Mail (2.3094) X-Spam-Status: No, score=-102.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED, USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.1, No X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on pozo.com X-pozocom-MailScanner-Information: Please contact the ISP for more information X-pozocom-MailScanner-ID: t9L55mNk075074 X-pozocom-MailScanner: Found to be clean X-pozocom-MailScanner-From: null@pozo.com X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2015 05:20:10 -0000 > On Oct 20, 2015, at 8:55 PM, Benjamin Kaduk wrote: > > On Tue, 20 Oct 2015, John wrote: > >> Hi, >> >> as subject - is building kernel in /sys/amd64/conf depreciated? >> >> I can get a modified kernel to build and install in /usr/src but not >> in /sys/amd64/conf. I always used to be able to do this in there, then >> again I either used -RELEASE or -STABLE. I used to do it like this: >> >> 1. cd /sys/amd64/conf >> 2. cp GENERIC MYKERNEL >> 3. [make changes to MYKERNEL and save] >> 4. config MYKERNEL >> 5. cd ../compile/MYKERNEL >> 6. make cleandepend && make depend && make >> >> This fails *every time* during make. It fails at this point: >> >> Make[1]: "/storage/usr/ports/Mk/bsd.port.mk" line 1204: UNAME_r > > Why is your kernel build pulling in bsd.port.mk? Please post src.conf and > make.conf. > >> (11.0-CURRENT) and OSVERSION () do not agree on major version number. >> *** [all] Error code 1 >> make: stopped in /storage/usr/src/sys/amd64/compile/PUMPKIN >> The error still happens if I refresh all my sources, build a new world >> with a generic kernel and reboot and then try the old method again. >> >> I *can* build a custom kernel if I cd into /usr/src and do >> >> 1. make buildkernel KERNCONF=MYKERNEL >> 2. make installkernel KERNCONF=MYKERNEL >> >> Basically I'm asking is this change of behaviour documented and/or am >> I doing it wrong? > > This is not exactly an answer to your question, but buildkernel has been > the preferred way to build a kernel for at least four major releases. The > manual-config method has limped along because enough of the old-guard of > committers has it in finger memory, but manual-config has been excised > from the handbook for quite some time. I Still do it the old way on current amd64: 1. cd /sys/amd64/conf 2. cp GENERIC MYKERNEL 3. [make changes to MYKERNEL and save] 4. config MYKERNEL 5. cd ../compile/MYKERNEL 6. make cleandepend && make depend && make Although i have a script that does all of the above. Works fine here. Must be something in you src.conf, make.conf or MYKERNEL Here is the script that works for me: #!/bin/sh cd /usr/src/usr.sbin/config make obj make clean cleandepend make obj make depend all install date > /tmp/date.txt doclean=true autoinstall=true kernelname=pozo for arg; do case $arg in -n*) doclean=false;; -i*) autoinstall=true;; -*) usage;; *) kernelname=$arg;; esac done if [ -z "$kernelname" ]; then kernelname=`hostname -s | tr a-z A-Z` fi cd /sys/`uname -m`/conf if [ ! -e $kernelname ]; then echo "$0: kernel configuration file $kernelname does not exist" echo -n 'Create one from GENERIC [n]?' if read ans && expr $ans : 'y*' >/dev/null; then sed '/^#SED0/,$d' < GENERIC > $kernelname lsdev -c >> $kernelname echo '#SED0' >> $kernelname sed '1,/^#SED0/d' < GENERIC >> $kernelname else exit 1 fi fi set -e rm -rf /sys/amd64/compile/pozo config $kernelname cd /sys/amd64/compile/$kernelname if $doclean; then make clean fi make depend make -j8 all if $autoinstall; then make install fi date >> /tmp/date.txt cat /tmp/date.txt rm /tmp/date.txt exit 0