|
Переменные окружения
Переменные окружения, которые использует U-Boot данной сборки, можно увидеть
с помощью команды printenv. Ниже показан пронумерованный список
переменных, слегка отформатированный для удобства отображения (в исходном дампе, полученном
командой printenv никаких номеров нет).
Список переменных
- arch=arm
- baudrate=115200
- board=sunxi
- board_name=sunxi
- boot_a_script=load : ; source
- boot_efi_binary=load : efi/boot/bootaa64.efi; if fdt addr -q ; then bootefi ;else bootefi ;fi
- boot_efi_bootmgr=if fdt addr -q ; then bootefi bootmgr ;else bootefi bootmgr;fi
- boot_extlinux=sysboot : any
- boot_net_usb_start=usb start
- boot_prefixes=/ /boot/
- boot_script_dhcp=boot.scr.uimg
- boot_scripts=boot.scr.uimg boot.scr
- boot_syslinux_conf=extlinux/extlinux.conf
- boot_targets=fel mmc0 usb0 pxe dhcp
- bootcmd=run distro_bootcmd
- bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; if dhcp ; then source ; fi;setenv efi_fdtfile ; setenv efi_old_vci ;setenv efi_old_arch ;setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ; then tftpboot dtb/;if fdt addr -q ; then bootefi ; else bootefi ;fi;fi;setenv bootp_vci ;setenv bootp_arch ;setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
- bootcmd_fel=if test -n && test -n ; then echo '(FEL boot)'; source ; fi
- bootcmd_mmc0=devnum=0; run mmc_boot
- bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
- bootcmd_usb0=devnum=0; run usb_boot
- bootdelay=2
- bootfile=boot.scr.uimg
- bootm_size=0xa000000
- console=ttyS0,115200
- cpu=armv8
- dfu_alt_info_ram=kernel ram 0x40080000 0x1000000;fdt ram 0x4FA00000 0x100000;ramdisk ram 0x4FF00000 0x4000000
- distro_bootcmd=for target in ; do run bootcmd_; done
- efi_dtb_prefixes=/ /dtb/ /dtb/current/
- ethact=ethernet@5020000
- ethaddr=02:00:59:aa:2d:08
- fdt_addr_r=0x4FA00000
- fdtcontroladdr=7bf22b90
- fdtfile=allwinner/sun50i-h616-orangepi-zero2.dtb
- fdtoverlay_addr_r=0x4FE00000
- kernel_addr_r=0x40080000
- kernel_comp_addr_r=0x44000000
- kernel_comp_size=0xb000000
- load_efi_dtb=load :
- loadaddr=0x42000000
- mmc_boot=if mmc dev ; then devtype=mmc; run scan_dev_for_boot_part; fi
- partitions=name=loader1,start=8k,size=32k,uuid=; name=loader2,size=984k,uuid=; name=esp,size=128M,bootable,uuid=; name=system,size=-,uuid=;
- preboot=usb start
- pxefile_addr_r=0x4FD00000
- ramdisk_addr_r=0x4FF00000
- scan_dev_for_boot=echo Scanning :...; for prefix in ; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
- scan_dev_for_boot_part=part list -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ; do if fstype : bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
- scan_dev_for_efi=setenv efi_fdtfile ; for prefix in ; do if test -e : ; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e : efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
- scan_dev_for_extlinux=if test -e : ; then echo Found ; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
- scan_dev_for_scripts=for script in ; do if test -e : ; then echo Found U-Boot script ; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
- scriptaddr=0x4FC00000
- serial#=32c0500059aa2d08
- soc=sunxi
- stderr=serial@5000000
- stdin=serial@5000000
- stdout=serial@5000000
- usb_boot=usb start; if usb dev ; then devtype=usb; run scan_dev_for_boot_part; fi
- uuid_gpt_esp=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
- uuid_gpt_system=b921b045-1df0-41c3-af44-4c6f280d3fae
Комментарии:
Каждая строка с номером - это одна переменная.
Часть строки от номера до первого знака '=' - это имя переменной.
Часть строки после первого знака '=' - это значение переменной, т.е. её содержимое,
которое может быть шестнадцатеричным числом, текстовой строкой, командой U-Boot или скриптом.
Каждый скрипт может иметь sh-подобный синтаксис и содержать несколько команд.
Конец каждой команды - символ ';' (точка с запятой)
Символ '=' в содержимом переменной означает присваивание. Но в присваивании с помощью
команды env set cимвол '=' отсутствует.
Если в команде встречается имя переменной с символом '$', то это означает содержимое (значение)
переменной, например, ${devtype} - это значение переменной devtype, равное dhcp
(после присваивание devtype=dhcp).
Если в скрипте встречается выражение setenv 'имя_переменной' без указания значения,
то это означает удаление данной переменной.
Для редактирования переменных окружения в оболочке U-Boot используется команда
env с соответствующими параметрами:
=> help env
env - environment handling commands
Usage:
env default [-f] -a - [forcibly] reset default environment
env default [-f] var [...] - [forcibly] reset variable(s) to their default values
env delete [-f] var [...] - [forcibly] delete variable(s)
env edit name - edit environment variable
env exists name - tests for existence of variable
env export [-t | -b | -c] [-s size] addr [var ...] - export environment
env import [-d] [-t [-r] | -b | -c] addr [size] [var ...] - import environment
env print [-a | name ...] - print environment
env run var [...] - run commands in an environment variable
env save - save environment
env set [-f] name [arg ...]
|
|