vexpress
UEFI
Arm 64-bit (AArch64)
Key facts
- Vendor
- Arm
- Bootloader family
- UEFI
- Architecture
- Arm 64-bit (AArch64) (from the template)
- Connections
- serial
Overridable variables (26)
Variables set with a default value in this template. They can be overridden from the device dictionary or, for some of them, from the job context.
| Variable | Default |
|---|---|
| vexpress_supports_vemsd | true |
| vexpress_supports_uboot | true |
| vexpress_supports_uefi | true |
| vexpress_supports_uefi_menu | true |
| vexpress_supports_grub | false |
| base_high_limits | true |
| uboot_needs_usb | false |
| usb_uuid | '' |
| usb_device_id | 0 |
| uboot_mac_addr | '' |
| uboot_set_mac | false |
| deploy_character_delay | 30 |
| boot_character_delay | 30 |
| test_character_delay | boot_character_delay |
| action_timeout_auto_login | 5 |
| action_timeout_bootloader_commands | 3 |
| action_timeout_bootloader_interrupt | 180 |
| action_timeout_u_boot_interrupt | 120 |
| action_timeout_uboot_commands | 4 |
| action_timeout_uboot_action | 4 |
| connection_timeout_auto_login | 5 |
| connection_timeout_bootloader_commands | 180 |
| connection_timeout_u_boot_interrupt | 120 |
| connection_timeout_uboot_commands | 4 |
| console_device | 'ttyAMA0' |
| baud_rate | 115200 |
Fixed settings (8)
| Variable | Value |
|---|---|
| base_uboot_commands | [ "setenv bootdelay 1", "setenv ethact smc911x-0"] |
| base_uboot_high_limits | [ "setenv initrd_high " + vexpress_uboot_initrd_high|default('0xffffffff'), "setenv fdt_high " + vexpress_uboot_fdt_high|default('0xffffffff')] |
| base_uboot_tftp_commands | uboot_tftp_commands|default([ "tftp {KERNEL_ADDR} {KERNEL}", "tftp {RAMDISK_ADDR} {RAMDISK}", "setenv initrd_size ${filesize}", "tftp {DTB_ADDR} {DTB}"]) |
| base_uboot_bootcmd | uboot_bootcmd|default([ uboot_bootx_cmd|default('{BOOTX}')]) |
| base_uboot_usb_commands | uboot_usb_commands|default(["usb start"]) |
| base_uboot_set_mac | ["setenv ethaddr " + uboot_mac_addr] |
| uboot_common_cmds | [] |
| base_kernel_args | extra_kernel_args | default(vexpress_kernel_args) |
{# device_type: 'vexpress' #}
{% extends 'base.jinja2' %}
{% set vexpress_supports_vemsd = vexpress_supports_vemsd|default(true) %}
{% set vexpress_supports_uboot = vexpress_supports_uboot|default(true) %}
{% set vexpress_supports_uefi = vexpress_supports_uefi|default(true) %}
{% set vexpress_supports_uefi_menu = vexpress_supports_uefi_menu|default(true) %}
{% set vexpress_supports_grub = vexpress_supports_grub|default(false) %}
{% set base_high_limits = base_high_limits|default(true) %}
{% set base_uboot_commands = [
"setenv bootdelay 1",
"setenv ethact smc911x-0"]
-%}
{% set base_uboot_high_limits = [
"setenv initrd_high " + vexpress_uboot_initrd_high|default('0xffffffff'),
"setenv fdt_high " + vexpress_uboot_fdt_high|default('0xffffffff')]
-%}
{% set base_uboot_tftp_commands = uboot_tftp_commands|default([
"tftp {KERNEL_ADDR} {KERNEL}",
"tftp {RAMDISK_ADDR} {RAMDISK}",
"setenv initrd_size ${filesize}",
"tftp {DTB_ADDR} {DTB}"])
-%}
{% set base_uboot_bootcmd = uboot_bootcmd|default([
uboot_bootx_cmd|default('{BOOTX}')])
-%}
{% set base_uboot_usb_commands = uboot_usb_commands|default(["usb start"]) -%}
{% set uboot_needs_usb = uboot_needs_usb|default(false) %}
{% set usb_uuid = usb_uuid|default('') %}
{% set usb_device_id = usb_device_id|default(0) %}
{% set uboot_mac_addr = uboot_mac_addr|default('') %}
{% set base_uboot_set_mac = ["setenv ethaddr " + uboot_mac_addr] -%}
{% set uboot_set_mac = uboot_set_mac|default(false) %}
{% set uboot_common_cmds = [] %}
{% if uboot_needs_usb %}
{% set uboot_common_cmds = uboot_common_cmds + base_uboot_usb_commands %}
{% endif %}
{% set uboot_common_cmds = uboot_common_cmds + base_uboot_commands %}
{% if base_high_limits %}
{% set uboot_common_cmds = uboot_common_cmds + base_uboot_high_limits %}
{% endif %}
{% if uboot_set_mac %}
{% set uboot_common_cmds = uboot_common_cmds + base_uboot_set_mac %}
{% endif %}
{% set uboot_common_cmds = uboot_common_cmds + base_uboot_tftp_commands %}
{% set deploy_character_delay = deploy_character_delay | default(30) %}
{% set boot_character_delay = boot_character_delay | default(30) %}
{% set test_character_delay = test_character_delay | default(boot_character_delay) %}
{# adds the parameters: top level block #}
{% block parameters %}
{{ super() -}}
{% if text_offset %}
text_offset: '{{text_offset}}'
{% endif %}
{% if vexpress_booti_kernel_addr %}
image:
kernel: '{{ booti_kernel_addr|default(vexpress_booti_kernel_addr) }}'
ramdisk: '{{ booti_ramdisk_addr|default(vexpress_booti_ramdisk_addr) }}'
dtb: '{{ booti_dtb_addr|default(vexpress_booti_dtb_addr) }}'
booti:
kernel: '{{ booti_kernel_addr|default(vexpress_booti_kernel_addr) }}'
ramdisk: '{{ booti_ramdisk_addr|default(vexpress_booti_ramdisk_addr) }}'
dtb: '{{ booti_dtb_addr|default(vexpress_booti_dtb_addr) }}'
{% endif %}
{% if vexpress_bootm_kernel_addr %}
uimage:
kernel: '{{ bootm_kernel_addr|default(vexpress_bootm_kernel_addr) }}'
ramdisk: '{{ bootm_ramdisk_addr|default(vexpress_bootm_ramdisk_addr) }}'
dtb: '{{ bootm_dtb_addr|default(vexpress_bootm_dtb_addr) }}'
bootm:
kernel: '{{ bootm_kernel_addr|default(vexpress_bootm_kernel_addr) }}'
ramdisk: '{{ bootm_ramdisk_addr|default(vexpress_bootm_ramdisk_addr) }}'
dtb: '{{ bootm_dtb_addr|default(vexpress_bootm_dtb_addr) }}'
{% endif %}
{% if vexpress_bootz_kernel_addr %}
zimage:
kernel: '{{ bootz_kernel_addr|default(vexpress_bootz_kernel_addr) }}'
ramdisk: '{{ bootz_ramdisk_addr|default(vexpress_bootz_ramdisk_addr) }}'
dtb: '{{ bootz_dtb_addr|default(vexpress_bootz_dtb_addr) }}'
bootz:
kernel: '{{ bootz_kernel_addr|default(vexpress_bootz_kernel_addr) }}'
ramdisk: '{{ bootz_ramdisk_addr|default(vexpress_bootz_ramdisk_addr) }}'
dtb: '{{ bootz_dtb_addr|default(vexpress_bootz_dtb_addr) }}'
{% endif %}
{%- if sata_uuid or sd_uuid or usb_uuid %}
media:
{% if sata_uuid %}
sata:
UUID-required: False
{{ sata_label|default('ST160LM003') }}:
uuid: "{{ sata_uuid }}"
device_id: "{{ sata_id|default(0) }}"
uboot_interface: "{{ sata_interface|default('scsi') }}"
{% endif %}
{% if sd_uuid %}
sd:
{{ sd_label }}:
uuid: "{{ sd_uuid }}"
device_id: "{{ sd_device_id }}" # the bootloader device id for this media on the 'sd' interface
{% endif %}
{% if usb_uuid %}
usb:
{{ usb_label|default('SanDisk_Ultra') }}:
uuid: "{{ usb_uuid }}" # /dev/disk/by-id/
device_id: "{{ usb_device_id }}" # the bootloader device id for this media on the 'usb' interface
{% endif %}
{%- endif %}
{% endblock parameters %}
{% set action_timeout_auto_login = action_timeout_auto_login | default(5) %}
{% set action_timeout_bootloader_commands = action_timeout_bootloader_commands | default(3) %}
{% set action_timeout_bootloader_interrupt = action_timeout_bootloader_interrupt | default(180) %}
{% set action_timeout_u_boot_interrupt = action_timeout_u_boot_interrupt | default(120) %}
{% set action_timeout_uboot_commands = action_timeout_uboot_commands | default(4) %}
{% set action_timeout_uboot_action = action_timeout_uboot_action | default(4) %}
{% set connection_timeout_auto_login = connection_timeout_auto_login | default(5) %}
{% set connection_timeout_bootloader_commands = connection_timeout_bootloader_commands | default(180) %}
{% set connection_timeout_u_boot_interrupt = connection_timeout_u_boot_interrupt | default(120) %}
{% set connection_timeout_uboot_commands = connection_timeout_uboot_commands | default(4) %}
{% block body %}
usb_filesystem_label: '{{ usb_filesystem_label|default('VEMSD') }}'
{% set console_device = console_device | default('ttyAMA0') %}
{% set baud_rate = baud_rate | default(115200) %}
{% set base_kernel_args = extra_kernel_args | default(vexpress_kernel_args) %}
{% set action_timeout_bootloader_commands = action_timeout_bootloader_commands | default(3) %}
{% set connection_timeout_bootloader_commands = connection_timeout_bootloader_commands | default(30) %}
{% if vexpress_sky2_mac %}
{% set base_kernel_args = base_kernel_args + ' sky2.mac_address=' + vexpress_sky2_mac %}
{% endif %}
actions:
deploy:
parameters:
{% if vexpress_supports_uboot %}
add_header: u-boot
mkimage_arch: {{ uboot_mkimage_arch|default('arm64') }} # string to pass to mkimage -A when adding UBoot headers
{% endif %}
append_dtb: {{ append_dtb|default(false) }}
use_xip: {{ use_xip|default(false) }}
connections:
serial:
methods:
{% if usbg_ms_commands %}
usbg-ms:
enable: {{ usbg_ms_commands["enable"] }}
disable: {{ usbg_ms_commands["disable"] }}
{% endif %}
{% if flasher_deploy_commands %}
flasher:
commands: {{ flasher_deploy_commands|yaml_quote }}
{% endif %}
nfs:
ssh:
options:
{{ ssh_options }}
host: '{{ ssh_host|default('') }}'
port: {{ ssh_port|default(22) }}
user: {{ ssh_user|default('root') }}
identity_file: {{ ssh_identity_file }}
{% if usb_uuid %}
usb:
{% endif %}
tftp:
{% if vexpress_supports_vemsd %}
vemsd:
parameters:
mcc_prompt: '{{ mcc_prompt|default('Cmd>') }}'
msd_mount_cmd: '{{ msd_mount_cmd|default('usb_on') }}'
flash_prompt: '{{ flash_prompt|default('Flash>') }}'
flash_enter_cmd: '{{ flash_enter_cmd|default('flash') }}'
flash_erase_cmd: '{{ flash_erase_cmd|default('eraseall') }}'
flash_erase_msg: '{{ flash_erase_msg|default('Erasing Flash') }}'
flash_exit_cmd: '{{ flash_exit_cmd|default('exit') }}'
autorun_prompt: '{{ autorun_prompt|default('Press Enter to stop auto boot...') }}'
mcc_reset_msg: '{{ mcc_reset_msg|default('Programming NOR Flash')}}'
{% endif %}
boot:
connections:
serial:
methods:
{% if vexpress_supports_grub %}
grub:
parameters:
needs_interrupt: {{ grub_needs_interrupt|default(true) }}
interrupt_prompt: '{{ grub_autoboot_prompt | default("for a command-line") }}'
interrupt_character: '{{ grub_interrupt_character | default ("c") }}'
bootloader_prompt: {{ grub_bootloader_prompt|default('grub>') }}
boot_message: {{ boot_message|default('Linux version') }}
ramdisk:
commands:
- insmod tftp
- insmod efinet
- net_bootp efinet0
- set net_default_server={SERVER_IP}
- linux (tftp,{SERVER_IP})/{KERNEL} console={{ console_device }} {{ base_kernel_args }} {{ base_ip_args }}
- initrd (tftp,{SERVER_IP})/{RAMDISK}
{% if has_dtb %}
- devicetree (tftp,{SERVER_IP})/{DTB}
{% endif %}
- boot
nfs:
commands:
- insmod tftp
- insmod efinet
- net_bootp efinet0
- set net_default_server={SERVER_IP}
- linux (tftp,{SERVER_IP})/{KERNEL} console={{ console_device }} {{ base_kernel_args }} {{ base_nfsroot_args }} {{ base_ip_args }} root=/dev/nfs rw
- initrd (tftp,{SERVER_IP})/{RAMDISK}
{% if has_dtb %}
- devicetree (tftp,{SERVER_IP})/{DTB}
{% endif %}
- boot
{% endif %}
minimal:
{% if vexpress_supports_uefi_menu %}
uefi-menu:
parameters:
interrupt_prompt: '{{ interrupt_prompt|default('The default boot selection will start in') }}'
interrupt_string: '{{ interrupt_string|default(' ') }}'
item_markup:
- "["
- "]"
item_class: '{{ item_class|default('0-9') }}'
separator: '{{ separator|default(' ') }}'
label_class: '{{ label_class|default('a-zA-Z0-9 \\s\\:') }}'
bootloader_prompt: '{{ uefi_menu_bootloader_prompt|default('Start:') }}'
nfs:
- select:
items:
- 'Boot Manager'
wait: "Choice:"
- select:
items:
- 'Add Boot Device Entry'
wait: "Select the Boot Device:"
- select:
enter: '3' # Resolves to 1st NOR Flash device
wait: "File path of the EFI Application or the kernel:"
- select:
enter: '{{ kernel_filename | default("zImage") }}'
wait: 'Is an EFI Application?'
- select:
enter: n
wait: 'Has FDT support?'
- select:
enter: y
wait: "Add an initrd:"
- select:
enter: y
- select:
enter: '{{ ramdisk_filename | default("ramdisk.img") }}'
wait: "Arguments to pass to the binary:"
- select:
enter: "console={{ console_device }},{{ baud_rate }}n8 root=/dev/nfs rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }}"
wait: "Description for this new Entry:"
- select:
enter: LAVA TEST NFS
wait: "Choice:"
- select:
items:
- "Return to main menu"
wait: "Start:"
- select:
items:
- LAVA TEST NFS
tftp:
- select:
items:
- 'Boot Manager'
wait: "Choice:"
- select:
items:
- 'Add Boot Device Entry'
wait: "Select the Boot Device:"
- select:
items:
- 'TFTP on MAC Address: {{ device_mac }}'
wait: "Get the IP address from DHCP:"
- select:
enter: y
wait: "Get the TFTP server IP address:"
- select:
enter: '{SERVER_IP}'
wait: "File path of the EFI Application or the kernel:"
- select:
enter: '{KERNEL}'
wait: 'Is an EFI Application?'
- select:
enter: n
wait: 'Has FDT support?'
- select:
enter: y
wait: "Add an initrd:"
- select:
enter: n
wait: "Arguments to pass to the binary:"
- select:
enter: "console={{ console_device }},{{ baud_rate }}n8 root=/dev/nfs rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }}"
wait: "Description for this new Entry:"
- select:
enter: LAVA TEST TFTP
wait: "Choice:"
- select:
items:
- "Update FDT path"
wait: "Select the Boot Device"
- select:
items:
- 'TFTP on MAC Address: {{ device_mac }}' # substitute the MAC in the template
wait: "Get the IP address from DHCP:"
- select:
enter: "y"
wait: "Get the TFTP server IP address"
- select:
enter: "{SERVER_IP}"
wait: "File path of the FDT blob :"
- select:
enter: "{DTB}"
wait: "Choice:"
- select:
items:
- "Return to main menu"
wait: "Start:"
- select:
items:
- LAVA TEST TFTP
{% endif %}
{% if vexpress_supports_uefi %}
uefi:
parameters:
bootloader_prompt: '{{ uefi_shell_prompt|default('Shell>') }}'
shell_interrupt_prompt: '{{ shell_interrupt_prompt|default('any other key to continue') }}'
shell_interrupt_string: '{{ shell_interrupt_string|default(' ') }}'
boot_message: '{{ boot_message|default('Linux version') }}'
shell_menu: shell
# Menu options
interrupt_prompt: The default boot selection will start in
interrupt_string: '{{ interrupt_string|default(' ') }}'
menu_boot_message: '{{ menu_boot_message|default('UEFI Interactive Shell') }}'
menu_prompt: '{{ menu_prompt|default('Start:') }}'
item_markup:
- '['
- ']'
item_class: '{{ item_class|default('0-9') }}'
separator: '{{ separator|default(' ') }}'
line_separator: '{{ line_separator|default('dos') }}'
label_class: '{{ label_class|default('a-zA-Z0-9\\s\\:') }}'
shell:
- select:
items:
- 'Shell'
nfs:
commands:
- norkern console={{ console_device }},{{ baud_rate }}n8 root=/dev/nfs rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }} dtb=board.dtb
{% if uefi_usb_id %}
usb:
# This assumes that an image has been dd'ed to the USB device
# and that this device then contains two partitions, sda1 and sda2.
# The first, is the boot device, which appears in UEFI as <uefi_usb_id>.
# The second is the root filesystem.
commands:
# Go to usb boot partition
- "{{ uefi_usb_id }}:"
# Launch Image from boot partition, specifying sda2 as the root filesystem.
- Image console={{ console_device }},{{ baud_rate }}n8 root=/dev/sda2 rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }} dtb={{ device_type }}.dtb
{% endif %}
{% endif %}
ssh:
{% if vexpress_supports_uboot %}
u-boot:
parameters:
mkimage_arch: {{ uboot_mkimage_arch|default('arm') }}
bootloader_prompt: {{ bootloader_prompt|default('VExpress64') }}
interrupt_prompt: {{ interrupt_prompt|default('Hit any key to stop autoboot') }}
interrupt_char: "{{ interrupt_char|default('') }}"
boot_message: {{ boot_message|default('Booting Linux') }}
defaults:
commands:
- "boot"
nfs:
commands:
- "setenv serverip {SERVER_IP}"
- "setenv autoload no"
- "{{ uboot_ipaddr_cmd|default('dhcp') }}"
- "{{ uboot_common_cmds|join('"\n - "') }}"
- "setenv bootargs console={{ console_device }},{{ baud_rate }}n8 root=/dev/nfs rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }}"
- "{{ uboot_bootx_cmd|default('{BOOTX}') }}"
norflash:
commands:
- "setenv bootargs 'console={{ console_device }},{{ baud_rate }}n8 root=/dev/nfs rw {{ base_nfsroot_args }} {{ base_kernel_args }} {{ base_ip_args }}'"
- "boot"
ramdisk:
commands:
- "setenv serverip {SERVER_IP}"
- "setenv autoload no"
- "{{ uboot_ipaddr_cmd|default('dhcp') }}"
- "{{ uboot_common_cmds|join('"\n - "') }}"
- "setenv bootargs 'console={{ console_device }},{{ baud_rate }}n8 root=/dev/ram0 {{ base_kernel_args }} {{ base_ip_args }}'"
- "{{ uboot_bootx_cmd|default('{BOOTX}') }}"
sata:
commands:
- scsi scan
- "{{ base_uboot_commands|join('"\n - "') }}"
- "load scsi {ROOT_PART} {KERNEL_ADDR} {KERNEL}"
- "load scsi {ROOT_PART} {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "load scsi {ROOT_PART} {DTB_ADDR} {DTB}"
- "setenv bootargs 'console={{ console_device }},{{ baud_rate }}n8 root={ROOT} {{ base_kernel_args }} {{ base_ip_args }}'"
- "{{ base_uboot_bootcmd|join('"\n - "') }}"
usb:
commands:
- "{{ (base_uboot_usb_commands + base_uboot_commands)|join('"\n - "') }}"
- "load usb {{ usb_device_id }}:{ROOT_PART} {KERNEL_ADDR} {KERNEL}"
- "load usb {{ usb_device_id }}:{ROOT_PART} {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "load usb {{ usb_device_id }}:{ROOT_PART} {DTB_ADDR} {DTB}"
- "setenv bootargs 'console={{ console_device }},{{ baud_rate }}n8 root={ROOT} {{ base_kernel_args }} {{ base_ip_args }}'"
- "{{ base_uboot_bootcmd|join('"\n - "') }}"
{% endif %}
{% endblock body %}
# in milliseconds
character_delays:
deploy: 30
boot: 30
test: 30
hostname: 'vexpress-01'
devicetype: 'vexpress'
constants:
# POSIX os (not AOSP)
posix:
lava_test_sh_cmd: /bin/sh
lava_test_results_dir: /lava-%s
lava_test_shell_file: ~/.bashrc
# bootloader specific
barebox:
interrupt-prompt: 'Hit m for menu or any other key to stop autoboot'
interrupt-character: '
'
final-message: 'Starting kernel'
error-messages:
- '### ERROR ### Please RESET the board ###'
- 'ERROR: .*'
- '.*: Out of memory'
u-boot:
interrupt-prompt: 'Hit any key to stop autoboot'
interrupt-character: ' '
interrupt_ctrl_list: []
interrupt-newline: True
final-message: 'Starting kernel'
error-messages:
- 'Resetting CPU'
- 'Must RESET board to recover'
- 'TIMEOUT'
- 'Retry count exceeded'
- 'Retry time exceeded; starting again'
- 'The remote end did not respond in time.'
- 'File not found'
- 'Bad Linux ARM64 Image magic!'
- 'Wrong Ramdisk Image Format'
- 'Ramdisk image is corrupt or invalid'
- 'ERROR: Failed to allocate'
- 'TFTP error: trying to overwrite reserved memory'
- 'Bad Linux RISCV Image magic!'
- 'Wrong Image Format for boot'
- 'ERROR: Did not find a cmdline Flattened Device Tree'
- 'ERROR: RD image overlaps OS image'
- 'kernel_comp_addr_r or kernel_comp_size is not provided'
- 'zimage: Bad magic'
dfu-download: 'DOWNLOAD \.\.\. OK\r\nCtrl\+C to exit \.\.\.'
grub:
interrupt-prompt: 'for a command-line'
interrupt-character: 'c'
interrupt-newline: False
error-messages:
- "error: missing (.*) symbol."
- "error: couldn't send network packet"
- "error: destination unreachable"
- "error: couldn't autoconfigure"
- "error: timeout reading"
- "error: you need to load the kernel first."
- "error: file '(.*)' not found"
- "error: no such device"
- "error: disk '(.*)' not found"
- "error: unknown filesystem"
grub-efi:
interrupt-prompt: 'for a command-line'
interrupt-character: 'c'
error-messages:
- 'Undefined OpCode Exception PC at'
- 'Synchronous Exception at'
- "error: missing (.*) symbol."
- "error: couldn't send network packet"
- "error: destination unreachable"
- "error: couldn't autoconfigure"
- "error: timeout reading"
- "error: you need to load the kernel first."
- "error: file '(.*)' not found"
- "error: no such device"
- "error: disk '(.*)' not found"
- "error: unknown filesystem"
ipxe:
interrupt-prompt: 'Press Ctrl-B for the iPXE command line'
interrupt_ctrl_list: ['b']
error-messages:
- 'No configuration methods succeeded'
- 'Connection timed out'
depthcharge:
final-message: 'Starting kernel'
error-messages:
- 'Tftp failed.'
- 'Dhcp release failed.'
- 'No space left for ramdisk'
- 'TFTP failed for ramdisk.'
- 'Dhcp release failed.'
- 'Out of space adding TFTP server IP to the command line.'
- 'No network device.'
- 'Error code \d+( \([\w\s]+\))?\r\n'
# OS shutdown message
# Override: set as the shutdown-message parameter of an Action.
# SHUTDOWN_MESSAGE
shutdown-message: 'The system is going down for reboot NOW'
# Kernel starting message
kernel-start-message: 'Linux version [0-9]'
# Default shell prompt for AutoLogin
# DEFAULT_SHELL_PROMPT
default-shell-prompt: 'lava-test: # '
# pexpect.spawn maxread
# SPAWN_MAXREAD - in bytes, quoted as a string
# 1 to turn off buffering, pexpect default is 2000
# maximum may be limited by platform issues to 4092
# avoid setting searchwindowsize:
# Data before searchwindowsize point is preserved, but not searched.
spawn_maxread: '4092'
# Set the failure retry to default or override it
failure_retry: 1
# Override boot_retry
boot_retry:
parameters:
# device_ip or device_mac
pass: # sata_uuid_sd_uuid_usb_uuid
usb_filesystem_label: 'VEMSD'
actions:
deploy:
parameters:
add_header: u-boot
mkimage_arch: arm64 # string to pass to mkimage -A when adding UBoot headers
append_dtb: False
use_xip: False
connections:
serial:
methods:
nfs:
ssh:
options:
- '-o'
- 'Compression=yes'
- '-o'
- 'PasswordAuthentication=no'
- '-o'
- 'LogLevel=FATAL'
host: ''
port: 22
user: root
identity_file: dynamic_vm_keys/lava
tftp:
vemsd:
parameters:
mcc_prompt: 'Cmd>'
msd_mount_cmd: 'usb_on'
flash_prompt: 'Flash>'
flash_enter_cmd: 'flash'
flash_erase_cmd: 'eraseall'
flash_erase_msg: 'Erasing Flash'
flash_exit_cmd: 'exit'
autorun_prompt: 'Press Enter to stop auto boot...'
mcc_reset_msg: 'Programming NOR Flash'
boot:
connections:
serial:
methods:
minimal:
uefi-menu:
parameters:
interrupt_prompt: 'The default boot selection will start in'
interrupt_string: ' '
item_markup:
- "["
- "]"
item_class: '0-9'
separator: ' '
label_class: 'a-zA-Z0-9 \s\:'
bootloader_prompt: 'Start:'
nfs:
- select:
items:
- 'Boot Manager'
wait: "Choice:"
- select:
items:
- 'Add Boot Device Entry'
wait: "Select the Boot Device:"
- select:
enter: '3' # Resolves to 1st NOR Flash device
wait: "File path of the EFI Application or the kernel:"
- select:
enter: 'zImage'
wait: 'Is an EFI Application?'
- select:
enter: n
wait: 'Has FDT support?'
- select:
enter: y
wait: "Add an initrd:"
- select:
enter: y
- select:
enter: 'ramdisk.img'
wait: "Arguments to pass to the binary:"
- select:
enter: "console=ttyAMA0,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard ip=dhcp"
wait: "Description for this new Entry:"
- select:
enter: LAVA TEST NFS
wait: "Choice:"
- select:
items:
- "Return to main menu"
wait: "Start:"
- select:
items:
- LAVA TEST NFS
tftp:
- select:
items:
- 'Boot Manager'
wait: "Choice:"
- select:
items:
- 'Add Boot Device Entry'
wait: "Select the Boot Device:"
- select:
items:
- 'TFTP on MAC Address: '
wait: "Get the IP address from DHCP:"
- select:
enter: y
wait: "Get the TFTP server IP address:"
- select:
enter: '{SERVER_IP}'
wait: "File path of the EFI Application or the kernel:"
- select:
enter: '{KERNEL}'
wait: 'Is an EFI Application?'
- select:
enter: n
wait: 'Has FDT support?'
- select:
enter: y
wait: "Add an initrd:"
- select:
enter: n
wait: "Arguments to pass to the binary:"
- select:
enter: "console=ttyAMA0,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard ip=dhcp"
wait: "Description for this new Entry:"
- select:
enter: LAVA TEST TFTP
wait: "Choice:"
- select:
items:
- "Update FDT path"
wait: "Select the Boot Device"
- select:
items:
- 'TFTP on MAC Address: ' # substitute the MAC in the template
wait: "Get the IP address from DHCP:"
- select:
enter: "y"
wait: "Get the TFTP server IP address"
- select:
enter: "{SERVER_IP}"
wait: "File path of the FDT blob :"
- select:
enter: "{DTB}"
wait: "Choice:"
- select:
items:
- "Return to main menu"
wait: "Start:"
- select:
items:
- LAVA TEST TFTP
uefi:
parameters:
bootloader_prompt: 'Shell>'
shell_interrupt_prompt: 'any other key to continue'
shell_interrupt_string: ' '
boot_message: 'Linux version'
shell_menu: shell
# Menu options
interrupt_prompt: The default boot selection will start in
interrupt_string: ' '
menu_boot_message: 'UEFI Interactive Shell'
menu_prompt: 'Start:'
item_markup:
- '['
- ']'
item_class: '0-9'
separator: ' '
line_separator: 'dos'
label_class: 'a-zA-Z0-9\s\:'
shell:
- select:
items:
- 'Shell'
nfs:
commands:
- norkern console=ttyAMA0,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard ip=dhcp dtb=board.dtb
ssh:
u-boot:
parameters:
mkimage_arch: arm
bootloader_prompt: VExpress64
interrupt_prompt: Hit any key to stop autoboot
interrupt_char: ""
boot_message: Booting Linux
defaults:
commands:
- "boot"
nfs:
commands:
- "setenv serverip {SERVER_IP}"
- "setenv autoload no"
- "dhcp"
- "setenv bootdelay 1"
- "setenv ethact smc911x-0"
- "setenv initrd_high 0xffffffff"
- "setenv fdt_high 0xffffffff"
- "tftp {KERNEL_ADDR} {KERNEL}"
- "tftp {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "tftp {DTB_ADDR} {DTB}"
- "setenv bootargs console=ttyAMA0,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard ip=dhcp"
- "{BOOTX}"
norflash:
commands:
- "setenv bootargs 'console=ttyAMA0,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard ip=dhcp'"
- "boot"
ramdisk:
commands:
- "setenv serverip {SERVER_IP}"
- "setenv autoload no"
- "dhcp"
- "setenv bootdelay 1"
- "setenv ethact smc911x-0"
- "setenv initrd_high 0xffffffff"
- "setenv fdt_high 0xffffffff"
- "tftp {KERNEL_ADDR} {KERNEL}"
- "tftp {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "tftp {DTB_ADDR} {DTB}"
- "setenv bootargs 'console=ttyAMA0,115200n8 root=/dev/ram0 ip=dhcp'"
- "{BOOTX}"
sata:
commands:
- scsi scan
- "setenv bootdelay 1"
- "setenv ethact smc911x-0"
- "load scsi {ROOT_PART} {KERNEL_ADDR} {KERNEL}"
- "load scsi {ROOT_PART} {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "load scsi {ROOT_PART} {DTB_ADDR} {DTB}"
- "setenv bootargs 'console=ttyAMA0,115200n8 root={ROOT} ip=dhcp'"
- "{BOOTX}"
usb:
commands:
- "usb start"
- "setenv bootdelay 1"
- "setenv ethact smc911x-0"
- "load usb 0:{ROOT_PART} {KERNEL_ADDR} {KERNEL}"
- "load usb 0:{ROOT_PART} {RAMDISK_ADDR} {RAMDISK}"
- "setenv initrd_size ${filesize}"
- "load usb 0:{ROOT_PART} {DTB_ADDR} {DTB}"
- "setenv bootargs 'console=ttyAMA0,115200n8 root={ROOT} ip=dhcp'"
- "{BOOTX}"
timeouts:
actions:
apply-overlay-image:
minutes: 2
dd-image:
minutes: 10
download-retry:
minutes: 15
http-download:
minutes: 5
lava-test-shell:
minutes: 3
nfs-deploy:
minutes: 10
power-off:
seconds: 10
bootloader-commands:
minutes: 3
bootloader-interrupt:
seconds: 180
u-boot-interrupt:
seconds: 120
umount-retry:
seconds: 45
auto-login-action:
minutes: 5
bootloader-action:
minutes: 3
uboot-action:
minutes: 4
uboot-commands:
minutes: 4
bootloader-retry:
minutes: 3
boot-qemu-image:
minutes: 2
boot-image-retry:
minutes: 2
flash-uboot-ums:
minutes: 20
musca-deploy:
minutes: 3
musca-boot:
minutes: 1
unmount-musca-usbmsd:
seconds: 30
pdu-reboot:
seconds: 30
reset-device:
seconds: 30
connections:
dd-image:
minutes: 10
uboot-commands:
seconds: 4
bootloader-commands:
seconds: 180
auto-login-action:
minutes: 5
bootloader-interrupt:
seconds: 30
u-boot-interrupt:
seconds: 120
lava-test-shell:
seconds: 10
lava-docker-test-shell:
seconds: 10
Rendered with the default values (no device dictionary), using LAVA's own template environment.