.. 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.
