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 7982e79d3c [build] Use ".bss.*" names for uninitialised-data sections
The section name seems to have significance for some versions of
binutils.

There is no way to instruct gcc that sections such as .bss16 contain
uninitialised data; it will emit them with contents explicitly set to
zero.  We therefore have to rely on the linker script to force these
sections to become uninitialised-data sections.  We do this by marking
them as NOLOAD; this seems to be the closest semantic equivalent in the
linker script language.

However, this gets ignored by some versions of ld (including 2.17 as
shipped with Debian Etch), which mark the resulting sections with
(CONTENTS,ALLOC,LOAD,DATA).  Combined with the fact that this version of
ld seems to ignore the specified LMA for these sections, this means that
they end up overlapping other sections, and so parts of .prefix (for
example) get obliterated by .data16's bss section.

Rename the .bss sections from .section_bss to .bss.section; this seems to
cause these versions of ld to treat them as uninitialised data.
2008-10-17 03:12:11 +01:00
contrib [util] Disable automatic CR->LF conversion in serial-console utility 2008-09-07 22:08:40 +01:00
src [build] Use ".bss.*" names for uninitialised-data sections 2008-10-17 03:12:11 +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
VERSION [release] Update version to 0.9.5+ post release 2008-10-01 13:46:16 -04: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.