Fuego wiki

Login or create account

Provisioning Notes

Fuego should support provisioning of a board for a test.

Putting the software under test onto the hardware has historically been left as an exercise for the user. However, it is desirable to add a layer or abstraction to Fuego to support provisioning, that can be used with multiple board management layers.

Here are some random notes:

  • LAVA does not build the software under test
    • it receives links to the software under test as part of a LAVA job definition
  • labgrid does not build the software under test?
  • kernelCI builds the software under test, stores it, and sends links to LAVA via the lava job definition file
    • mostly, the same types of files are used, because kernelci prefers to use tftp booting (with nfs filesystems?)

required links, files and data for provisioning [edit section]

This represents data that needs to be transferred or communicated from the build server to the provisioning manager (via the build artifact server)

candidates [edit section]

  • kernel image (zimage, vmlinuz, vmlinux, bzImage, etc.)
  • kernel modules
  • kernel config
  • kernel
  • initrd.img
  • device tree file
  • root filesystem image
  • additional filesystem image
  • kernel headers

What category do these fall into:

  • kernel address
  • kernel boot arguments
  • BIOS settings


  • optee_itb_url
  • uboot_itb_url
  • kernel_fit_url

Here are some fields that are rejected as build artifacts for provisioning:

  • login_prompt
  • username
  • password_prompt
  • password

provisioners [edit section]

ttc [edit section]

kbuild_cmd and kinstall_cmd [edit section]

(no consistent set of instructions)
  • it assumes the kernel build is local
  • examples use KBUILD_OUTPUT, and reach in and grab the kernel image
  • it uses variable 'kimage' to specify the kernel image
  • ARCH may also be available

LAVA [edit section]

labgrid [edit section]

beaker [edit section]

r4d [edit section]

SLAV [edit section]

builders [edit section]

kernelci [edit section]

What does kernelci present to LAVA?

LKFT? [edit section]

yocto project / OE [edit section]

CKI [edit section]

Kernel build notes [edit section]

  • 'make install' requires that you use correct ARCH and CROSS_COMPILE variables
  • 'make install' uses INSTALL_PATH to pass the 4th argument to:
    • /sbin/installkernel
    • arch/<arch>/
  • 'make modules_install' uses INSTALL_MOD_PATH

image notes [edit section]

  • vmlinuz = gzipped vmlinux
  • something.itb = (kernel image + device tree .dtb file)

TBWiki engine 1.8.3 by Tim Bird