Diskless PXE clients: loader.conf.<MAC-address> ...?

Chris Roehrig croehrig at house.org
Sat Mar 20 10:59:02 PST 2004


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



More information about the freebsd-questions mailing list