Can't get pxegrub / DHCP to search for "menu.lst" in a subdir of /tftpboot ...

Can't get pxegrub / DHCP to search for "menu.lst" in a subdir of /tftpboot ...

Post by Noel Milto » Thu, 27 Jul 2006 07:13:54


Repost...
Hello:

I configured ISC's DHCP server on Solaris 10 SXCR (snv40) for X86.
With it, I am able to successfully PXE boot x86.miniroot to single user

mode on the network client, but only if the relevant "menu.lst.01MAC"
file is directly in "/tftpboot". But when I put that file in its own
host/MAC-specific subdirectory to keep things clean
(like /tftpboot/01SomeMAC/menu.lst) then, no matter what I try in the
"dhcpd.conf" file, the network client cannot find it.


In fact, as verified by tcpdump and running the dhcpd daemon in debug
mode, as far as I can tell, it only ever looks for the file
"/tftpboot/menu.lst.01MAC"
(at that location, and by that name, and nowhere else). It doesn't even

secondarily refer to my "option grubmenu "01000C294C5C64/menu.lst"
path, even after not finding the file in default file location
(/tftpboot).

This, depite my make sure to include and use the "option 150" directive

in dhcpd.conf.

Below is my dhcpd.conf file. Any ideas? With much thanks in advance.

#####################################################
ddns-update-style none;
authoritative;
option searchlist code 119 = string;
option grubmenu code 150 = text;

#Static IP Allocations
host galaxy11
{
hardware ethernet 00:0C:29:4C:5C:64;
fixed-address 192.168.1.8;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
default-lease-time 51000;
max-lease-time 51000;
next-server 192.168.1.9;

# ===============================
# in /tftpboot/01000C294C5C64
# ===============================
filename "01000C294C5C64/pxegrub";
option grubmenu "01000C294C5C64/menu.lst";
#option grubmenu "/01000C294C5C64/menu.lst";
#option grubmenu "tftpboot/01000C294C5C64/menu.lst";
#option grubmenu "/tftpboot/01000C294C5C64/menu.lst";
}


# Dynamic IP Allocations
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
range 192.168.1.200 192.168.1.210;
default-lease-time 51000;
max-lease-time 51000;
}
#########################################################

Noel Milton Vega
 
 
 

Can't get pxegrub / DHCP to search for "menu.lst" in a subdir of /tftpboot ...

Post by Noel Milto » Fri, 28 Jul 2006 01:36:43


I guess that's my question. But I would think it should (if it doesn't)
because the ability to specify a "menu.lst" file in a client specific
subdirectory within /tftpboot is advantageous (it is scalable -- versus
putting
every file for every client in the root of /tftpboot).

That said, I seem to have run acroos Solaris Blogs that indicate
successfully
looking for this file in a subdir - so that's what makes me think it
does look at
it.

Does any know if it does (before I start looking at the sources)?

Thanks Again!

 
 
 

Can't get pxegrub / DHCP to search for "menu.lst" in a subdir of /tftpboot ...

Post by Casper H.S » Fri, 28 Jul 2006 17:47:41

"Noel Milton Vega" < XXXX@XXXXX.COM > writes:


Well, I don't see much difference in a "one file per client" and
a "one directory per client" approach.

Why do you have so many different menu.lst files, though?



I have not seen it documented that it does.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
 
 
 

Can't get pxegrub / DHCP to search for "menu.lst" in a subdir of /tftpboot ...

Post by Noel Milto » Sat, 29 Jul 2006 05:03:26


This is true if the per-client directory only contained the file
'menu.lst'.
But in my case, it will also contain the version of pxegrub
to use (via a symlink). Per-cleint, Im trying to keep the pxegrub
and x86.miniroot versions the same (i.e. off the same O/S build
version).
Yes... It shouldn't matter which pxegrub each client uses, since
pxegrub
should be x86.miniroot version agnostic, but symlink in the design
avoids the problem altogether (just in case). So that's where I
decided to put it all in its own sub-dir.

I guess if option 150 is not supported, I will abandon the subdirectory
approach for now. Thank you for validating what I saw (or in this case
didn't see) in the tcpdumps.

Regards.