On Wed, Nov 3, 2021 at 5:59 PM Davis Roman davis.roman84@gmail.com wrote:
Hi Milosz,
Your feedback on the raspberry pi was insightful. Thank you.
I'm intrigued about your comment regarding "flasher" deployment as we also use CI to build and store uuu packages to artifactory so it would be nice to provide lava with a simple script that:
a) pulls specific uuu package from artifactory b) runs: uuu <path to uuu package>
I can see that the lava does have a uuu deployment target however I am required to specify a path to the bootloader and system image separately:
- deploy: to: uuu images: boot: url: https://.../imx-boot-sd.bin-flash system: url: https://../imx-image-multimedia.rootfs.wic
I'm unable to find the flasher deployment action in the lava docs (https://docs.lavasoftware.org/lava/actions-deploy.html?highlight=deploy). Was this feature removed?
I don't think so, the code is there: https://git.lavasoftware.org/lava/lava/-/blob/master/lava_dispatcher/actions...
I guess just the docs are missing. What you need is to set "flasher_deploy_commands" in your device dictionary. It will call whatever commands you need on the dispatcher (it's a list). In this variable you can use the files from the deploy section. For example my imx8 flashing script call looks like this: 'flash-imx8.sh -i "{IMAGE}" -b "{BOOTLOADER}" -u "{UBOOT}" -s "{SITIMG}" -p "1:2"'
Variables in the curly brackets come from 'images' section of the deploy method. My deploy looks like this: - deploy: timeout: minutes: 10 to: flasher images: image: url: https://url.to/image-imx8mmevk.wic.gz compression: gz bootloader: url: https://url.to/imx-boot-imx8mmevk sitimg: url: https://url.to/sit-imx8mmevk.bin uboot: url: https://url.to/u-boot-imx8mmevk.itb
I store the pre-built mfgtools on the dispatcher (they don't change very often) so I can do the path substitution in the .uuu script. But you can also download your mfgtools package and pass it to the script. flash-imx8.sh is my custom script, doesn't come from LAVA.
One thing to remember here is that before running tests you need to download lava overlay with tests inside. LAVA will prepare it for you, but you need to deliver it to the device somehow. 'flasher' doesn't change the binaries/rootfs the way other deployments might.
- boot: .... method: minimal transfer_overlay: download_command: cd /home ; wget unpack_command: tar -C / -xzf
Best Regards, Milosz