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