1

I am running a PXE server mock up in VMware Workstation. I have the DHCP and TFTP servers working and I can get my to grab an IP address and boot the firmware for their platform.

Where I seem to be running into trouble is all clients are failing to find the configuration file for syslinux. I intend on using multiple platforms so I have each platform in its own folder.

Here is my structure; File tree

This is the error I am receiveing from the clients; PXE Error

From what I have read on the syslinux wiki it says the bootloader will try looking for a config file in a specific order.

Config file order

I am pretty sure its something to do with my configuration that is causing the failure. The issue I am stumped on what it would be. Since my each platform has its own folder I am think the context of `/mybootdir' has changed. The question is to what? You can see in the file tree I tried making a symlink as a workaround but it did not seem to make any difference.

Any ideas what is wrong?

UPDATE

Here is what my DHCP config looks like; I copied some of it from a few examples I found on how to boot different platforms from the same DHCP scope and made it my own.

DHCP Config

AtomicPorkchop
  • 1,975
  • 8
  • 34
  • 55

1 Answers1

0

my working setup is:

tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6_32
│   ├── initrd.img
│   └── vmlinuz
├── centos6_64
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── chain.c32
├── mboot.c32
├── memdisk
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default

the menu is in pxelinux.cfg/default

It's important to know what your dhcp configuration for the boot file name is, because it's relative to the tftp server root directory.

natxo asenjo
  • 5,739
  • 2
  • 26
  • 27
  • I added my dhcp config to the post. – AtomicPorkchop May 22 '16 at 08:49
  • it's not finding the default file. Try removing the symlink and move pxelinux.cfg to the same directory where pxelinux.0 is – natxo asenjo May 22 '16 at 09:43
  • I tried that idea. the system still complains that it cannot find the config file. – AtomicPorkchop May 22 '16 at 18:36
  • in that case wireshark is your friend. Filter on bootp – natxo asenjo May 22 '16 at 19:51
  • I came accross this from Red Hat, it has slightly different dhcp syntax, maybe worth a shot: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-netboot-pxe-config-efi.html – natxo asenjo May 22 '16 at 19:56
  • I started by reading that too. but through testing I found out the platform identifier for 64 bit efi is not right. at least not for my version of dhcp. – AtomicPorkchop May 22 '16 at 19:58
  • aha, it looks like some vendors misuse the arch values: http://www.syslinux.org/wiki/index.php?title=PXELINUX#Notes ; time for wireshark. – natxo asenjo May 22 '16 at 20:23
  • Where would I place wireshark? The entire setup exists inside of my VMware workstation instance. To my knowledge VMware's switches do not support port mirroring or anything. I could run tshark on the server I guess. – AtomicPorkchop May 22 '16 at 20:53
  • https://ask.wireshark.org/questions/11170/wireshark-in-vmware-machines – natxo asenjo May 22 '16 at 21:03