mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	Add documentation for the script bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.9 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 and the file is read using tftp. It 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.
 |