HP Elitebook 840 G7
-
@joyboy11111 In the picture it looks like you put the downloaded iPXE files in
/var/www/html/fog/service/ipxe/
but that place is for kernels and inits but not for the iPXE files! Put those in/tftpboot/
(default when you use the FOG installer). -
I am very sorry it has taken me this long to get back. Several other issues came up that I needed to address.
If I am in the correct place the dhcp config file is empty. I am very sorry I am so reliant on you for step by step instructions.
is Sebastian correct in his post below also?
-
@joyboy11111 No that is not the config file for the dhcp server, that is like the startup options file.
I had to look it up because centos 6 is so long ago. But it looks like the config file is
/etc/dhcp/dhcpd.conf
ref: https://www.server-world.info/en/note?os=CentOS_6&p=dhcp
I am a bit surprised that FOG 1.5.x installs on centos 6. But if it works, go with it.
-
@george1421
What line would I make the change from ipxe to snponly. -
@joyboy11111 I’m going to guess, and no judgement intended please, that you’re not overly familiar with VI/VIM for editing file?
type these commands:
/ipxe.efi
Press enter
Note the
/
= search everything after.Once you find the line line arrow over to the area to edit and press the
i
key, Press delete over the ipxe.efi then typesnponly.efi
Note the
i
= insert to leave “insert/edit” mode press ESC keyPress the
esc
Type
:w
Note the
:
puts VI into "command mode.w
= save/write file.To exit VI type:
:q
Note the
:
puts the VI into "command mode.q
= quit. -
@joyboy11111 If the FOG installer created the dhcp server configuration it should look similar to this: https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence#Example_1
If you scroll down in the screen shot you posted you will see this section
class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; filename "ipxe.efi"; } class "UEFI-64-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008"; filename "ipxe.efi"; } class "UEFI-64-3" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009"; filename "ipxe.efi"; }
so for the uefi-64 entries you want to change filename varialble to snponly.efi
-
There is nothing below Filename “undionly.kpxe” just blank. I tried to the search from tom /ipxe.efi, nothing, no results. should I copy and past those lines from the wiki for the rest of the config file?
-
@joyboy11111 Did someone hand edit that file? I find it strange that it doesn’t match the fog supplied configuration file.
You can remove that static
filename
stanza line and insert the class definitions from the wiki page. Then reboot the dhcp server.The ways its currently configured that dhcp service will only support booting bios based computers via PXE.
-
@george1421 It does give me a warning about a swap file when I go to view the config.
-
@joyboy11111 So the file may have been open with vi or nano when the computer was rebooted or you have the file open in another session on the server. If the swap file was created previously before a reboot you can delete the file. In the same directory as that file there should be a .swp file. You can remove that file so you won’t get that nuances message.
-
I updated the config file to match the wiki, leaving my ip settings. I replaced all the instances of ipxe.efi with snponly. Restarted DHCP and now nothing will pxe boot. It just sits at >>start PXE over IPv4, and times out. I went back into look at the config file and it looks empty, like everything I entered and saved is now gone.
I am about ready to see if I can start a remote session with you to see if you can straighten this out. Again I apologize for taking so much of your time.
-
@joyboy11111 Lets start with this.
Connect to the fog server using putty or ssh
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.sav vi /etc/dhcp/dhcpd.conf i (to insert)
Copy the following code out of your browser and the paste into the vi editor
option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option arch code 93 = unsigned integer 16; # RFC4578 use-host-decl-names on; ddns-update-style interim; ignore client-updates; next-server 192.168.1.41; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.50 192.168.1.75; default-lease-time 21600; max-lease-time 43200; option domain-name-servers 192.168.1.4; option routers 192.168.1.254; class "UEFI-32-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006"; filename "i386-efi/ipxe.efi"; } class "UEFI-32-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002"; filename "i386-efi/ipxe.efi"; } class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; filename "snponly.efi"; } class "UEFI-64-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008"; filename "snponly.efi"; } class "UEFI-64-3" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009"; filename "snponly.efi"; } class "Legacy" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000"; filename "undionly.kkpxe"; } }
Write and then Exit vi
systemctl restart dhcp ps aux | grep dhcp
The ps command should show there is the dhcp service running. You can also test with
netstat -an | grep :67
That should return with something like
tcp4 0.0.0.0:67
-
@george1421 Same issue results. When I run your netstat command nothing is returned.
-
@joyboy11111 Well I would look at the /var/log directory either messages or syslog in there to see what the dhcp server is compaining about.
tail -30 /var/log/messages
or
tail -30 /var/log/syslog
-
-
@joyboy11111 OK the no subnet error is a bit strange but move that into the subnet 192.168.1.0 section. That is what its complaining about. It should be global at that level, but whatever.
Now did you fiddle with the configuration in /etc/sysconfig/dhcp? If not I need to see the output of these two commands
ip a s
cat /etc/sysconfig/dhcp
-
@george1421
only way I would have done anything to sysconfig/dhcp is if you asked.Your second command for sysconfig/dhcp was not correct.
-
@joyboy11111 ok so it was dhcpd not dhcp
So from your top picture you have 4 network adapters but only one is configured. That is OK I just wanted to make sure you didn’t have 2 interfaces active at one time.
Before you do this net bit, restart the dhcp server with
systemct restart dhcpd
and then confirm if its running with the ps and netstat commands. If its not running again look at the log file.If the above fails or its complaining about an interface to bind to then do the following.
If you look at the dhcpd file, in there should be a line like
DHCPDARGS="";
Change it to bind to the dhcp server to only eth0
DHCPDARGS="eth0";
-
The command to restart dhcp did not work, but the information is what you wanted. SO yes eht0 is configured only for FOG, eth1 is configured for internet traffic. Eth1 is rarely up, only for updates.
-
@joyboy11111 Since you are using Centos 6, that is Sys-V compliant OS so that would be
service dhcpd restart
orservice dhcp restart
. Or just reboot your server.Almost all modern Linux OS use systemd commands, which is what I gave you previously.