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.
device_type: beaglebone-black # NFS fails on panda and arndale. job_name: standard Debian ARMMP ramdisk test on bbb timeouts: job: minutes: 10 action: minutes: 5 connection: minutes: 2 priority: medium visibility: public
Download / view standard-armmp-ramdisk-bbb.yaml
Download / view standard-armmp-nfs-bbb.yaml
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.When you copy this standard test job for your own testing, remember to modify this metadata to distinguish your copy from the original.
metadata: source: https://git.linaro.org/lava-team/refactoring.git path: doc/v2/examples/test-jobs/standard-armmp-ramdisk-bbb.yaml build-readme: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/debian-armmp-armhf-readme.html build-console: https://ci.linaro.org/view/lava-ci/job/lava-debian-armmp-armhf/4/console build-script: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/armmp-nfs.sh
See also
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.
In addition, the ramdisk on a beaglebone-black using U-Boot needs to have a
suitable U-Boot header. This means that the add-header: u-boot
option is
required.
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: timeout: minutes: 4 to: tftp kernel: url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/vmlinuz type: zimage ramdisk: url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/initramfs.cpio.gz compression: gz # the bootloader needs a u-boot header on the modified ramdisk add-header: u-boot modules: url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/modules.tar.gz compression: gz # despite this being a Debian initramfs, it is not a complete Debian rootfs, so use oe compatibility os: oe dtb: url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/4/dtbs/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: git://git.linaro.org/qa/test-definitions.git from: git path: ubuntu/smoke-tests-basic.yaml name: smoke-tests