The following diagram provides a global overview of the kernelci.org service.
The dashboard itself has two components: a front-end and a back-end.
Stateless web application that users typically interact with.
Dashboard quick links
The top bar menu has access to the build, boots and test reports.
You can use
? for filtering results:
Filtering the platforms that are failing to boot:
Filtering which builds have failures:
Provides the REST API and token based authentication.
Read the documentation of the API at https://api.kernelci.org/
KernelCI.org Build System
The build script and Jenkins Pipelines used by Jenkins are in the kernelci-core repository. This repository also contains all the script to create, submit and report LAVA jobs to and from the labs.
Directory structure - rootfs
The rootfs are stored under https://storage.kernelci.org/images/
https://storage.kernelci.org/images/rootfs/debian/ stores the Debian rootfs, used by most of the arches
https://storage.kernelci.org/images/rootfs/buildroot/ stores the buildroot rootfs used for ARM/ARM64 big endian.
Directory structure - kernel build and logs
The kernel builds and logs are stored following a strict directory structure:
https://storage.kernelci.org/_kernel tree_/_git describe_/_architecture_/_defconfig+Fragment=y_/
Kernel Tree: mainline, next, arm-soc, lsk, etc...
Git Describe: v3.19-rc4-23-g971780b70194, v3.19-rc4, etc..
Architecture: arm, arm64, mips, x86
Defconfig+Fragment=y: defconfig, allmodconfig, defconfig+CONFIG_RANDOMIZE_BASE=y/
The files found under this last directory are:
Kernel: Image, bzImage, vmlinux
modules.tar.xz: Tarball of modules from the specific build configuration. When extracted, the results should be a directory tree of the form /lib/modules//.
System.map: Symbol table from the specific build configuration.
kernel.config: The configuration used to build a specific configuration.
build.log: This is the log produce by the specific build configuration, only contains errors and warnings.
build.json: This is a file encoded using JSON to describe to a kernel build to the dashboard. A detailed schema is available here.
Device Trees: Typically, this is a folder called
dtbswhich contains all of the device tree blobs for a specific build configuration.
Lab Name: This is a directory that corresponds to a lab-id. It contains the platform logs in both .txt and .html format.
Labs are independent and administrated by the company or contributor that's providing it. Labs run LAVA v2.