Flasher¶
The flasher deployment method downloads the specific images and runs a list of
commands defined in the device configuration to flash the images onto the DUT.
It can be used for devices that require custom flashing procedures.
actions:
- deploy:
to: flasher
images:
recovery_image:
url: https://example.com/image.img.xz
compression: xz
timeout:
minutes: 15
The device dictionary must define the flasher_deploy_commands.
images¶
A dictionary of named images to download. Each image accepts the standard artifact parameters.
overlays¶
See overlays. The LAVA overlay must be applied if the job definition contains tests.
uniquify¶
Optional boolean. By default, LAVA saves each downloaded file in a separate subdirectory named after image key to avoid filename collisions.
Set to false if the flash commands expect files in a flat directory:
- deploy:
to: flasher
uniquify: false
images:
firmware0:
url: https://example.com/firmware0.bin
firmware1:
url: https://example.com/firmware1.bin
Sample job¶
This sample job demonstrates using a USB-SD-Mux with custom flashing commands defined in the device dictionary to flash the Debian image onto the DUT's SD card.
job_name: RPi3B flasher sample job
device_type: bcm2837-rpi-3-b-plus
priority: medium
visibility: public
timeouts:
job:
minutes: 30
actions:
- deploy:
to: flasher
images:
recovery_image:
url: https://raspi.debian.net/tested/20231109_raspi_3_bookworm.img.xz
compression: xz
format: ext4
partition: 1
overlays:
lava: true
timeout:
minutes: 15
- boot:
method: minimal
auto_login:
login_prompt: 'login:'
username: root
prompts:
- 'root@rpi3-20231109:'
timeout:
minutes: 5
- test:
definitions:
- from: inline
repository:
metadata:
format: Lava-Test Test Definition 1.0
name: test-definition-example
run:
steps:
- lava-test-case run-uname-a --shell uname -a
- lava-test-case check-os-id --shell 'cat /etc/os-release | grep "ID=debian"'
path: inline/test-definition-example.yaml
name: test-suite-example
timeout:
minutes: 5