Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Mar 2004 10:58:48 -0800
From:      Chris Roehrig <croehrig@house.org>
To:        freebsd-questions@freebsd.org
Subject:   Diskless PXE clients:  loader.conf.<MAC-address> ...?
Message-ID:  <9E8C857C-7AA0-11D8-A650-000A95791556@house.org>

next in thread | raw e-mail | index | archive | help
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.<MAC-address>?

Thanks,
	-- Chris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9E8C857C-7AA0-11D8-A650-000A95791556>