Though gpxe works fine with static networking information, problem is with linux destributions.
I have modified all linux distributions to use udhcpc
for getting networking configuration by using DHCP
.
So in current setup, the linux will boot, but it will never get networking configuration for static network and hence, it will never progress.
Ask user to enter the networking configuration. But this is very lame way of doing it.
As gpxe is have properly working networking configuration, we can reuse it. The problem in this is that,
pxelinux.0
?Linux kernel can take parameter which will have network configuration info.
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
Refer to Documentation/filesystems/nfsroot.txt for more details on these parameters
The unknown factor here is that, if information is with pxelinux.0
, and parameters are taken from config file.
So, I need a way by which configuration file can inform pxelinux.0
to fill in the <client-ip>, <gw-ip>, <netmask> with values it is having.
I would also like to pass on the DNS ip which is not an option above. I may add one more parameter, or reuse <server-ip> as <dns-ip>
I don't have any clue about this part. This part may prove to be tricky. Following are the parameters that I need to pass on.
Again, I need to pass the values of these variables, I hope that gpxe is capable of doing this.
IPAPPEND
worked for me without any problems. Honestly, I do not understand how it works, but I am using IPAPPEND 3
(because I have been told to use this option).
Unfortunately, the documentation related to IPAPPEND is quite hard to find. Any pointers on how exactly IPAPPEND works will be helpful.
Small drawback of this solution is that, the DNS entry is not passed. So, I won't be able to use URL's and I have to stick to IP only.