david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
My fork of git://git.ipxe.org/ipxe.git, it is used for my netboot environment at home.
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Michael Brown c345336435 [dhcp] Choose ProxyDHCP port based on presence of PXE options
If the ProxyDHCPOFFER already includes PXE options (i.e. option 60 is
set to "PXEClient" and option 43 is present) then assume that the
ProxyDHCPREQUEST can be sent to port 67, rather than port 4011.  This
is a reasonable assumption, since in that case the ProxyDHCP server
has already demonstrated by responding to the DHCPDISCOVER that it is
listening on port 67.  (If the ProxyDHCP server were not listening on
port 67, then the standard DHCP server would have been configured to
respond with option 60 set to "PXEClient" but no option 43 present.)

The PXE specification is ambiguous on this point; the specified
behaviour covers only the cases in which option 43 is *not* present in
the ProxyDHCPOFFER.  In these cases, we will continue to send the
ProxyDHCPREQUEST to port 4011.

This change is required in order to allow us to interoperate with
dnsmasq, which listens only on port 67.  (dnsmasq relies on
unspecified behaviour of the Intel PXE stack, which it seems will
retain the ProxyDHCPOFFER as an options source and never issue a
ProxyDHCPREQUEST, thereby enabling dnsmasq to omit listening on port
4011.)
2009-05-22 05:42:57 +01:00
contrib [build] Pad .rom, .dsk, and .hd images to 512-byte boundaries 2009-04-16 03:15:08 +01:00
src [dhcp] Choose ProxyDHCP port based on presence of PXE options 2009-05-22 05:42:57 +01:00
COPYING Initial revision 2005-05-17 16:44:57 +00:00
COPYRIGHTS Rename Copyrights to COPYRIGHTS for consistency with other filenames 2008-02-14 16:21:51 -05:00
LOG Update LOG for 0.9.3 release 2008-02-14 16:33:43 -05:00
README Add README file which replaces INSTALL and gives pointers to more information. 2008-02-14 16:17:30 -05:00

README

gPXE README File

gPXE is an implementation of the PXE specification for network
booting, with extensions to allow additional features such as booting
via HTTP, iSCSI, and AoE.  

In generally, gPXE is compatible with the industry-standard PXE
specification, and also supports Etherboot .nbi file loading and some
additional protocols and features.

For more detailed information about gPXE, please visit our project
website at: http://etherboot.org/

BUILDING gPXE IMAGE FROM SOURCE

If you don't want to install development tools, and have access to the
Web, you can get gPXE and Etherboot ROM images made on demand from
http://rom-o-matic.net/

If you would like to compile gPXE images from source, here are some tips.

We normally compile gPXE images on x86, 32-bit Linux machines. It is
possible to also use x86-64 machines. We use gcc compiler options to
create 32-bit output.

It is important to have the necessary software  packages installed.  A gcc-based
toolchain is required.

The following packages (at least) are required:

  - a gcc tool chain (gcc 3.x or gcc 4.x)
  - binutils
  - perl
  - syslinux
  - mtools
  
To test your environment, cd to the "src" directory and type:

   make

You should see a lot of output, and when it stops, the "bin" directory
should be populated with gPXE images and object files.

To learn more about what to build and how to use gPXE, please visit our
project website at http://etherboot.org/ , particularly the "howto" section.

CONTACTING US

Pointers to our project mailing lists are on http://etherboot.org/

Real-time help is often available on IRC on the #etherboot channel of
irc.freenode.net.