Provisioning Notes in 'raw' format
{{TableOfContents}} 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 = This represents data that needs to be transferred or communicated from the build server to the provisioning manager (via the build artifact server) = candidates = * kernel image (zimage, vmlinuz, vmlinux, bzImage, etc.) * kernel modules * kernel config * kernel System.map * 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 Uncategorized: * 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 = == ttc == === kbuild_cmd and kinstall_cmd === (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 == == labgrid == == beaker == == r4d == == SLAV == = builders = == kernelci == What does kernelci present to LAVA? == LKFT? == == yocto project / OE = == CKI == = Kernel build notes = * '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 = * vmlinuz = gzipped vmlinux * something.itb = (kernel image + device tree .dtb file)