If you do not have access to a beaglebone-black
device in a LAVA instance
yet, you will still benefit from following the example as an introduction to
integrating a range of ARMv7 U-Boot devices into LAVA.
If you do not have a beaglebone-black available, there are very similar
standard test jobs available for arndale
, cubietruck
and panda
devices. “These files are very similar; typically the only substantive changes
come down to the DTB for the relevant device type.
omap4-panda.dtb
omap4-panda.dtb
exynos5250-arndale.dtb
sun7i-a20-cubietruck.dtb
sun7i-a20-cubietruck.dtb
The first standard job for a beaglebone-black is a simple ramdisk test job.
busybox
.(initramfs)
needs to be specified instead of a login
prompt like root@debian
.root@jessie:
or similar. When building
or modifying a rootfs, ensure that the prompt is described alongside the
rootfs tarball so that other users are able to use the file.U-Boot support in LAVA supports a variety of deployment methods. This standard
job will use the Debian ARMMP kernel package.
The standard build script for this test job prepares a simple root filesystem
and installs the ARMMP kernel. The installation scripts in Debian generate a
suitable ramdisk and the script builds a tarball (.tar.gz
) of the kernel
modules from the package.
vmlinuz
dtbs/am335x-boneblack.dtb
initramfs.cpio.gz
modules.tar.gz
The modules.tar.gz
and initramfs.cpio.gz
are both compressed using
gzip
and this must be specified in the test job definition.
Finally, although the ramdisk was built on a Debian system, the ramdisk itself
does not behave in the same way as a full Debian system. It lacks critical
components like apt
, so the test job specifies that the test shell can only
expect basic compatibility by specifying oe
for OpenEmbedded.
actions: # DEPLOY_BLOCK - deploy: timeout: minutes: 4 to: tftp kernel: url: http://example.com/vmlinuz-4.9.0-4-armmp type: zimage ramdisk: url: http://example.com/initrd.img-4.9.0-4-armmp.gz compression: gz # modules modules: url: http://example.com/modules.tar.gz compression: gz # despite this being a Debian initramfs, it is not a complete Debian rootfs, so use oe compatibility dtb: url: http://example.com/am335x-boneblack.dtb
U-Boot support in LAVA supports a variety of deployment methods. This standard
job will use the ramdisk
commands from the device type template.
- boot: method: u-boot commands: ramdisk prompts: # escape the brackets to ensure that the prompt does not match # kernel debug lines which may mention initramfs - '\(initramfs\)' timeout: minutes: 2
The limitation of a ramdisk deployment is that certain tools (like apt
) are
not available, so the test definition used with this test job is a fairly
minimal smoke-test. Avoid test definitions which specify packages to be
installed in the install: deps:
list.
- test: timeout: minutes: 5 definitions: - repository: http://git.linaro.org/lava-team/lava-functional-tests.git from: git path: lava-test-shell/smoke-tests-basic.yaml name: smoke-tests