24-28 August 2020
US/Pacific timezone

Improving Kernel Builds with TuxMake and TuxBuild

27 Aug 2020, 10:15
15m
Microconference1/Virtual-Room (LPC 2020)

Microconference1/Virtual-Room

LPC 2020

150
LLVM MC LLVM MC

Speakers

Dan Rue Antonio Terceiro (Linaro)

Description

Reproducing build errors reported to a mailing list is a pain. How much time do
we collectively spending asking "What kernel config did you use?", "What
compiler?" and "What architecture?"?

What if we could version and distribute build environments similarly to how we
version Linux source code?

TuxMake is a tool that provides portable and repeatable Linux kernel builds
across a variety of architectures, toolchains, kernel configurations, and make
targets. Critically, it supports docker natively so that build environments are
portable and builds are fully repeatable. TuxMake provides Docker images with
cross build toolchains for a comprehensive set of supported architectures.

TuxMake provides both a command line tool and a Python API. With each build,
you can specify the target architecture; which compiler to use; whether to use
ccache, sccache, or doing a clean build; which targets to build; which kernel
predefined configuration to start from, and which additional configurations to
apply on top of that. You can pass arbitrary environment variables, also
control the build concurrency. TuxMake is then responsible for running all the
necessary commands to build a kernel to your specification, collect artifacts,
logs, and extract metadata from the build environment.

TuxMake is in its early development stages, and is being designed to be
extensible.

TuxBuild is a highly scalable and parallel Linux kernel building service. It
consists of a REST API and a command-line client which can perform individual
or pre-defined sets of builds. All builds happen on-demand, in parallel, and
are easy to use both interactively and from a CI system.

TuxBuild solves the problem of build capacity and build automation, and allows
kernel developers to perform more builds, more quickly, and more easily.

TuxMake is open source software, and TuxBuild is a private build service
provided by Linaro.

More information about TuxMake and TuxBuild can be found at
https://gitlab.com/Linaro/tuxmake and https://gitlab.com/Linaro/tuxbuild.

I agree to abide by the anti-harassment policy I agree

Primary authors

Presentation Materials