Jump to content











Photo
- - - - -

PXE booting to a specific server?


  • Please log in to reply
5 replies to this topic

#1 delicatepc

delicatepc

    Member

  • Members
  • 42 posts
  •  
    United States

Posted 23 July 2010 - 05:19 PM

Hi everyone,

This is a rather broad generic question but I would appreciate any insight you may offer on this.

I am looking for a method of forcing a machine to boot to a specific PXE server. Is this possible via the syslinux PXE boot capability? Is this possible with PXE period?

Basically I would like to boot syslinux and select a menu option that would PXE boot to server 192.168.1.5 or have another menu option to boot to 192.168.1.10 or another option to boot to 192.168.1.15

We have a set of PXE servers that offer different options and there is a load balancer that automatically moves PXE requests to a specific server. Unfortunately sometimes the load balancer sends me to a server I dont want to use and I am looking for a way to manually be to go a specific server.

Any information is appreciated.

Thank you,
dpc

#2 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 23 July 2010 - 06:04 PM

You can use pxechain.com to load pxelinux.0 from the other PXE server:
LABEL with_pxechain

MENU LABEL Boot second PXE server with pxechain.com

COMBOOT pxechain.com

APPEND 192.168.1.10::pxelinux.0
http://syslinux.zyto...Common_Problems
http://syslinux.zyto...TE_TFTP_SERVERS

Or (not sure if this will work) you can load a new config file on the other PXE server. You will need PXELINUX 4.00 or higher:
LABEL with_config

MENU LABEL Boot second PXE server with config.c32

COM32 config.c32

APPEND 192.168.1.10::/pxelinux.cfg/default 192.168.1.10::/


#3 delicatepc

delicatepc

    Member

  • Members
  • 42 posts
  •  
    United States

Posted 23 July 2010 - 07:17 PM

Thanks for the reply IceCube.

What if the PXE server is Windows based and have no access to modify it - the only thing you know is that it allows PXE booting and it seems to use TFTP? Is there anything we could do in that sort of situation?

Thank you.
dpc

#4 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 23 July 2010 - 07:30 PM

So not all of your PXE servers have pxelinux.0?

Use pxechain.com to load the PXE boot file of the server you want to boot:
LABEL with_pxechain

MENU LABEL Boot Remote Installation Service with pxechain.com

COMBOOT pxechain.com

APPEND 192.168.1.10::/startrom.com


#5 delicatepc

delicatepc

    Member

  • Members
  • 42 posts
  •  
    United States

Posted 23 July 2010 - 08:04 PM

I do not think any of them do. From what I know they are based on Windows Deployment Servers (WDS) running in Native Mode (WIM based deployment).

Here is my understanding of PXE booting (im not sure if this will help you folks understand my logic):
1. Network exists
2. DHCP exists server on network and forwards PXE requests to certain IP?.
3. A Baremetal machine yells out to network "I need a PXE server".
4. DHCP server responds and sends it to PXE server that DHCP server is configured to send PXE requests to.
5. Baremetal machine downloads a TFTP??? boot image from the PXE server.
6. The TFTP??? boot image takes it from there I believe.

The startrom.com you reference in the previous post.... I am assuming this needs to be the name of a certain file on the server?

Currently the situation looks like this (from how I see it):
Bare-Metal Machine-> Network/PXE boot from within the BIOS-> PXE server responds telling machine "Hey I have TFTP image - download it" and computer automatically downloads it-> the TFTP boot image? says press F12 to boot into my server otherwise i will end-> Press F12 and it Boots into a BOOTMGR/BCD (looks like this)->past this point i dont care.

What I want to do is:
Bare-Metal Machine->Boot USB stick with Syslinux-> Select a menu entry that points to specific PXE server-> Goes to that PXE server-> Shows that PXE server BOOTMGR/BCD.

The way I THINK it should work would be like this:
1. Bare-metal machine boot USB stick with Syslinux.
2. Select PXEboot entry like this:
LABEL with_pxechain

MENU LABEL PXEboot into 192.168.1.10

COMBOOT pxechain.com

APPEND 192.168.1.10::/TFTPboot.com
3. It obtains the boot image (is it TFTP image?) and says "Press f12 to continue booting into this server" <-- thats a thing that it gets from the TFTP? image.
4. Press F12 and it proceeds to load the BOOTMGR/BCD from that server.

Is this making sense? I guess what I am trying to do is cut out the DHCP server that is directing me to a specific PXE server. If I understand myself correctly I want to manually solict the TFTP/PXE connection from the PXE server.

hope I didnt confuse this to much...

Thank you,
dpc

#6 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 23 July 2010 - 09:15 PM

Try gPXE or iPXE.

You are not PXE-booting if you are not PXE-booting. PXELINUX is run by a PXE-boot. Not by a USB stick boot. That's just the reality of things. A PXE-boot is required in order to establish parameters that PXELINUX relies on, such as a NIC driver (UNDI). If you are booting from USB stick, there is no guarantee that there is UNDI available, or that the NIC is properly initialized.

gPXE/iPXE can be booted from a USB stick. They include many of their own drivers for different NICs. They also will attempt to search for UNDI availability even from a non-PXE-boot, but again, there's no guarantee that UNDI is available if you have not PXE-booted.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users