mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-29 04:39:42 +00:00
xCAT Network Boot Agent
481a21798d
When we boot from a DHCP-supplied filename, we previously relied on the fact that the current working URI is set to tftp://[next-server]/ in order to resolve the filename into a full tftp:// URI. However, this process will eliminate the distinction between filenames with and without initial slashes: cwuri="tftp://10.0.0.1/" filename="vmlinuz" => URI="tftp://10.0.0.1/vmlinuz" cwuri="tftp://10.0.0.1/" filename="/vmlinuz" => URI="tftp://10.0.0.1/vmlinuz" This distinction is important for some TFTP servers. We now explicitly construct a string of the form "tftp://[next-server]/filename" so that a filename with an initial slash will result in a URI containing a double-slash, e.g. "tftp://10.0.0.1//vmlinuz" The TFTP code always strips a single initial slash, and so ends up presenting the correct path to the server. URIs entered explicitly by users at the command line must include a double slash if they want an initial slash presented to the TFTP server: "kernel tftp://10.0.0.1/vmlinuz" => filename="vmlinuz" "kernel tftp://10.0.0.1//vmlinuz" => filename="/vmlinuz" |
||
---|---|---|
contrib | ||
src | ||
COPYING | ||
COPYRIGHTS | ||
LOG | ||
README | ||
VERSION |
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.