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