u-boot/doc/develop/bootstd/script.rst
Benjamin Hahn fae6c54d23 bootstd: make it possible to use tftp for netboot with standardboot
Add the option to load the bootscript with the tftp command (static IP)
instead of the dhcp command (dynamic IP). For this a new function
tftpb_run similar to dhcp_run, is needed. The selection of which command
to use can be done with the ip_dyn environment variable, which can be
set to yes or no. The ip_dyn variable was chosen as it is already in use
on the imx platforms.
Also edit the bootstd doc.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2025-10-24 13:47:50 -06:00

55 lines
2.0 KiB
ReStructuredText

.. SPDX-License-Identifier: GPL-2.0+:
Script Bootmeth
===============
This bootmeth provides a way to locate and run a script on a block or network
device. It can also support SPI flash.
For a block device the file is read from the selected partition, which must use
a supported filesystem. The subdirectory to search in is defined by the bootstd
list of prefixes (``{"/", "/boot"}`` by default) and can be adjust with the
`filename-prefixes` property in the bootstd device.
For a network device, the filename is obtained from the `boot_script_dhcp`
environment variable. By setting the `ip_dyn` environment variable it can be
decided if dynamic ip (dhcp command) or static ip (tftp command) is used for
reading the file. By default dhcp is used. The file must be in the top-level
directory of the tftp server.
In either case (file or network), the bootmeth searches for the file and creates
a bootflow if found. The bootmeth searches for "boot.scr.uimg" first, then
"boot.scr" if not found.
For SPI flash, a script is read from flash using the offset provided by the
"script_offset_f" environment variable.
Some attempt is made to identify the Operating System: so far this only detects
an `Armbian <https://www.armbian.com>`_
distro. For block devices, if a file called "boot.bmp" exists in the same
directory then it is used as the bootflow logo.
When the bootflow is booted, the bootmeth sets these environment variables:
devtype
device type (e.g. "usb", "mmc", "ethernet" or "spi_flash")
devnum
device number, corresponding to the device 'sequence' number
``dev_seq(dev)``
distro_bootpart
(block devices only) partition number on the device (numbered from 1)
prefix
prefix used to find the file
mmc_bootdev
device number (same as `devnum`), set for sunxi mmc devices only
The script file must be a FIT or a legacy uImage. It is loaded into memory and
executed.
The compatible string "u-boot,script" is used for the driver. It is present
if `CONFIG_BOOTMETH_SCRIPT` is enabled.