From owner-freebsd-questions@FreeBSD.ORG Sat Mar 20 10:59:02 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 A324516A4CE for ; Sat, 20 Mar 2004 10:59:02 -0800 (PST) Received: from metroplex.netnation.com (metroplex.netnation.com [204.174.223.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A7E643D1D for ; Sat, 20 Mar 2004 10:59:02 -0800 (PST) (envelope-from croehrig@house.org) Received: from [64.251.74.14] (helo=[192.168.32.62]) by metroplex.netnation.com with asmtp (Exim 4.24) id 1B4lgU-0003es-Bs for freebsd-questions@freebsd.org; Sat, 20 Mar 2004 10:59:02 -0800 Mime-Version: 1.0 (Apple Message framework v612) Content-Transfer-Encoding: 7bit Message-Id: <9E8C857C-7AA0-11D8-A650-000A95791556@house.org> Content-Type: text/plain; charset=US-ASCII; format=flowed To: freebsd-questions@freebsd.org From: Chris Roehrig Date: Sat, 20 Mar 2004 10:58:48 -0800 X-Mailer: Apple Mail (2.612) Subject: Diskless PXE clients: loader.conf. ...? 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: Sat, 20 Mar 2004 18:59:02 -0000 I'm running FreeBSD 4.9_RELEASE and I'd like to share my server's root partition as the root partition for some diskless PXE clients, but I need different kernels for the server and clients. The /conf structure works great for providing different /etc environments for each machine, but I can't figure out how to boot a different kernel for my PXE clients. The only way I can think of is to have a custom /boot/loader.4th that tests the environment (e.g boot.netif.hwaddr or loaddev) and reloads a different kernel depending on the result. I've gone down this path a bit, but I think I've only learned enough Forth to be dangerous and I'm in over my head. Something like: \ need to figure out where to put this snippet... s" boot.netif.hwaddr" environment? [if] s" 00:00:24:c1:2a:64:" compare 0= [if] \ set kernel="/kernel.NET4501" : kernel s" /kernel.NET4501" ; [then] Is there an easier way to do this? Am I missing something totally obvious like a loader.conf.? Thanks, -- Chris