IPXE: Difference between revisions

From Leo's Notes
This page was last edited on 17 May 2017, at 17:51.
m Text replacement - "</code>" to "}}"
Line 2: Line 2:


== Building ==
== Building ==
You can build the iPXE image from source pretty easily with the added benefit of being able to customize the image with custom iPXE scripts.
=== Example ===
The following script will build iPXE with an embedded script which automatically boots from a HTTP resource.
The following script will build iPXE with an embedded script which automatically boots from a HTTP resource.


{{highlight|lang=terminal|code=
{{highlight|lang=terminal|code=
git clone git://git.ipxe.org/ipxe.git
# git clone git://git.ipxe.org/ipxe.git
cd git
# cd git


cat <<EOF > arch.ipxe
# cat <<EOF > arch.ipxe
#!ipxe
#!ipxe
dhcp
dhcp
Line 16: Line 19:
EOF
EOF


make bin/ipxe.lkrn EMBED=arch.ipxe
# make bin/ipxe.lkrn EMBED=arch.ipxe
}}
}}



Revision as of 17:51, 17 May 2017

iPXE is a PXE boot firmware which can be used to PXE boot systems that may not have support. iPXE supersedes the older and no longer actively maintained gPXE boot firmware.

Building

You can build the iPXE image from source pretty easily with the added benefit of being able to customize the image with custom iPXE scripts.

Example

The following script will build iPXE with an embedded script which automatically boots from a HTTP resource.

# git clone git://git.ipxe.org/ipxe.git
# cd git

# cat <<EOF > arch.ipxe
#!ipxe
dhcp
set 209:string cfg/arch.cfg
set 210:string http://linbuild.cs.ucalgary.ca/archlinux/boot/
chain ${210:string}pxelinux.0
EOF

# make bin/ipxe.lkrn EMBED=arch.ipxe

Troubleshooting

If you get the following error while building:

[VERSION] bin/version.udionly.kpxe.o
[LD] bin/udionly.kpxe.tmp
--defsym:2: undefined symbol `obj_udionly' referenced in expression
make: *** [bin/udionly.kpxe.tmp] Error 1
rm bin/version.udionly.kpxe.o

Install the syslinux-devel package.