/*
* Copyright 2010-2011 Calxeda, Inc.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: GPL-2.0+
*/
The 'pxe' commands provide a near subset of the functionality provided by
be passed to the bootm command to boot the kernel. These environment
variables are required to be set.
- fdt_addr - the location of a fdt blob. If this is set, it will be passed
- to bootm when booting a kernel.
+ fdt_addr_r - location in RAM at which 'pxe boot' will store the fdt blob it
+ retrieves from tftp. The retrieval is possible if 'fdt' label is defined in
+ pxe file and 'fdt_addr_r' is set. If retrieval is possible, 'fdt_addr_r'
+ will be passed to bootm command to boot the kernel.
+
+ fdt_addr - the location of a fdt blob. 'fdt_addr' will be passed to bootm
+ command if it is set and 'fdt_addr_r' is not passed to bootm command.
pxe file format
===============
-------------------------
Unrecognized commands are ignored.
-default <label> - the label named here is treated as the default and is
- the first label 'pxe boot' attempts to boot.
+default <label> - the label named here is treated as the default and is
+ the first label 'pxe boot' attempts to boot.
menu title <string> - sets a title for the menu of labels being displayed.
menu include <path> - use tftp to retrieve the pxe file at <path>, which
- is then immediately parsed as if the start of its
- contents were the next line in the current file. nesting
- of include up to 16 files deep is supported.
+ is then immediately parsed as if the start of its
+ contents were the next line in the current file. nesting
+ of include up to 16 files deep is supported.
-prompt <flag> - if 1, always prompt the user to enter a label to boot
- from. if 0, only prompt the user if timeout expires.
+prompt <flag> - if 1, always prompt the user to enter a label to boot
+ from. if 0, only prompt the user if timeout expires.
timeout <num> - wait for user input for <num>/10 seconds before
- auto-booting a node.
+ auto-booting a node.
-label <name> - begin a label definition. labels continue until
- a command not recognized as a label command is seen,
- or EOF is reached.
+label <name> - begin a label definition. labels continue until
+ a command not recognized as a label command is seen,
+ or EOF is reached.
Supported label commands
------------------------
labels end when a command not recognized as a label command is reached, or EOF.
-menu default - set this label as the default label to boot; this is
- the same behavior as the global default command but
- specified in a different way
+menu default - set this label as the default label to boot; this is
+ the same behavior as the global default command but
+ specified in a different way
-kernel <path> - if this label is chosen, use tftp to retrieve the kernel
- at <path>. it will be stored at the address indicated in
- the kernel_addr_r environment variable, and that address
- will be passed to bootm to boot this kernel.
+kernel <path> - if this label is chosen, use tftp to retrieve the kernel
+ at <path>. it will be stored at the address indicated in
+ the kernel_addr_r environment variable, and that address
+ will be passed to bootm to boot this kernel.
-append <string> - use <string> as the kernel command line when booting this
- label.
+append <string> - use <string> as the kernel command line when booting this
+ label.
-initrd <path> - if this label is chosen, use tftp to retrieve the initrd
- at <path>. it will be stored at the address indicated in
- the initrd_addr_r environment variable, and that address
- will be passed to bootm.
+initrd <path> - if this label is chosen, use tftp to retrieve the initrd
+ at <path>. it will be stored at the address indicated in
+ the initrd_addr_r environment variable, and that address
+ will be passed to bootm.
+
+fdt <path> - if this label is chosen, use tftp to retrieve the fdt blob
+ at <path>. it will be stored at the address indicated in
+ the fdt_addr_r environment variable, and that address will
+ be passed to bootm.
localboot <flag> - Run the command defined by "localcmd" in the environment.
- <flag> is ignored and is only here to match the syntax of
- PXELINUX config files.
+ <flag> is ignored and is only here to match the syntax of
+ PXELINUX config files.
Example
-------
- U-boot's pxe doesn't provide the full menu implementation that PXELINUX
does, only a simple text based menu using the commands described in
- this README. With PXELINUX, it's possible to have a graphical boot
+ this README. With PXELINUX, it's possible to have a graphical boot
menu, submenus, passwords, etc. U-boot's pxe could be extended to support
a more robust menuing system like that of PXELINUX's.
- U-boot's pxe expects U-boot uimg's as kernels. Anything that would work
with the 'bootm' command in U-boot could work with the 'pxe boot' command.
-- U-boot's pxe doesn't recognize initrd options in the append command - you
- must specify initrd files using the initrd command.
-
- U-boot's pxe only recognizes a single file on the initrd command line. It
could be extended to support multiple.