chain [--name <name>] [--timeout <timeout>] [--autofree] [--replace] [<uri|image>] [<arguments>...]
or
imgexec [--name <name>] [--timeout <timeout>] [--autofree] [--replace] [<uri|image>] [<arguments>...]
or
boot [--name <name>] [--timeout <timeout>] [--autofree] [--replace] [<uri|image>] [<arguments>...]
chain http://boot.ipxe.org/demo/boot.php
chain pxelinux.0
initrd http://192.168.0.1/initrd.img chain http://192.168.0.1/vmlinuz vga=788 console=ttyS0,115200n8 console=tty0
chain --autofree http://10.0.0.1/scripts/menu.ipxe
chain --replace http://10.0.0.1/scripts/script.ipxe
boot
Download and boot an executable image from the specified URI. A name for the downloaded image can be specified using the --name
option. A download progress timeout can be specified (in milliseconds) using the --timeout
option. Any remaining arguments will be passed directly to the booted image.
If no image is explicitly specified, iPXE will boot the currently-selected image (as reported by the imgstat
command).
An image that has already been downloaded (e.g. by the imgfetch
command) can be specified by using the image's name instead of a URI. For example:
imgfetch http://192.168.0.1/vmlinuz boot vmlinuz
If this command is executed from within an iPXE script, then the URI will be interpreted as being relative to the URI of the script itself. For example, if the script http://boot.ipxe.org/demo/boot.php
contains the line
chain pxelinux.0
then iPXE will download and boot http://boot.ipxe.org/demo/pxelinux.0
.
If the --autofree
option is specified then the image will be freed automatically after terminating. Otherwise, the image will remain present and can be freed using imgfree
.
If the --replace
option is specified then the image will replace the currently executing script (similar to the Unix exec()
system call). Otherwise, the current script will continue execution once the image returns.
Success | The image was successfully downloaded and booted, and the image subsequently returned successfully |
---|---|
Failure | The image was not successfully downloaded and booted, or the image subsequently returned with an error |
It is unusual for this command to return successfully, since if the boot is successful then control will not return to iPXE.
There is no difference between the commands chain
, imgexec
and boot
.
If your script will exit immediately after the chain
command then you can use the --replace
option to minimise memory usage.
If you have a series of scripts that jump to each other and do not ever return (such as a menu system implemented as several separate iPXE script files) then you can use both --autofree
and --replace
to avoid running out of memory.
In older versions of iPXE, you must use chain
when you want to download and boot a new image from a URI, and you must use imgexec
or boot
when you want to boot an image that has already been downloaded.