From owner-freebsd-questions@FreeBSD.ORG Sun Feb 22 06:05:48 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 82B1416A4CF for ; Sun, 22 Feb 2004 06:05:48 -0800 (PST) Received: from mail016.syd.optusnet.com.au (mail016.syd.optusnet.com.au [211.29.132.167]) by mx1.FreeBSD.org (Postfix) with ESMTP id 860B443D2F for ; Sun, 22 Feb 2004 06:05:47 -0800 (PST) (envelope-from tfrank@optushome.com.au) Received: from marvin.home.local (c211-28-241-189.eburwd5.vic.optusnet.com.au [211.28.241.189])i1ME5dw12284; Mon, 23 Feb 2004 01:05:40 +1100 Received: by marvin.home.local (Postfix, from userid 1001) id C789B26A; Mon, 23 Feb 2004 01:05:38 +1100 (EST) Date: Mon, 23 Feb 2004 01:05:38 +1100 From: Tony Frank To: D J Hawkey Jr Message-ID: <20040222140538.GA16873@marvin.home.local> References: <20040221160709.GA22447@sheol.localdomain> <1455334090.20040221175633@buz.ch> <20040221172328.GA22671@sheol.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040221172328.GA22671@sheol.localdomain> User-Agent: Mutt/1.4.2.1i cc: Gabriel Ambuehl cc: questions at FreeBSD Subject: Re: Clarification needed on Handbook: Tracking for Multiple Machines X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2004 14:05:48 -0000 Hi, On Sat, Feb 21, 2004 at 11:23:28AM -0600, D J Hawkey Jr wrote: > On Feb 21, at 05:56 PM, Gabriel Ambuehl wrote: > > > > DJHJ> Second, two machines are of the same architecture, but they have different > > DJHJ> CPUs: One is an Intel PIII, but the other is a PII. Will the world built > > DJHJ> on a PIII be correct for a PII? Similarly, will the kernel for the PII > > DJHJ> built on a PIII be correct for the PII, given the different variables and > > DJHJ> settings in the two kernel configuration files? > > > > Just make sure you build for 686. If that doesn't work, make it 586 (I > > think the PI qualifies as 686 but I'm not entirely sure). I think the extensions such as > > SSE etc are detected dynamically and shouldn't cause any problem. > > In all my years of messing with builds, I never run into this problem, > > so I guess it's pretty safe. > Yes, both [my] machines define I686_CPU. > > "Dynamically", as in "at runtime"? I think you're right, but I don't > know for certain, either. This is exactly what I'm wondering about; > the PII has only MMX, for instance, while the PIII has SSE and MMX2. > > I assume the world's codebase is CPU-agnostic within an architecture, > but I really don't want to assume this; I'd rather know this. I have PII, Celeron, PIII and P4 in my environment. All these use "I686_CPU" in my kernel configs (I got rid of the other I[345]_CPU types. In /etc/make.conf I include "CPUTYPE=p2" as the lowest common denominator if including a CPUTYPE flag. The resulting world & kernel run fine on all the systems. The higher flags p3 and p4 still just use -march=pentiumpro, however for SSE you will need p3 or p4 as MACHINE_CPU does not include SSE for p2 level. Check out /usr/share/mk/bsd.cpu.mk for specifics. > > DJHJ> /etc/defaults/make.conf doesn't mention KERNCONF; /usr/src/Makefile.inc1 > > DJHJ> does. Since /usr/share/mk/sys.mk sucks in /etc/make.conf, that should > > DJHJ> propogate KERNCONF to /usr/src/Makefile, right? > > You can also > > just supply it on the command line when doing your make runs. > Yes, but this means individual commands for each machine's kernel, as > opposed to one command for all machines (think "issue command and go to > bed", or even an `at` command). Are you stating definitively that what > I saw in the makefile chain isn't what is really there? To your original question, yes. Just add a KERNCONF= line to /etc/make.conf. First entry should be the local machine kernel (to install) and any subsequent entries will also be built during 'make buildkernel' eg: KERNCONF= MARVIN RAIDER RAIDERI GENERIC make buildkernel builds all four. make installkernel installs MARVIN. Good luck, Tony