Tracing the kernel build

This proposal has been rejected.

*

One Line Summary

Find out precisely which source files were built and how by tracing a build to reconstruct a kernel build graph.

Abstract

Can you tell exactly which source files are baked into a built kernel binary you build and distribute?

Can you tell exactly which source files are baked into a built kernel binary you build and distribute?

Some applications for this knowledge:

  • better control of which subset of the code you use and depend on.
  • general build hygiene and debugging such as pruning obsolete or dead code.

With clarity on what’s in your kernel build, you can better understand:

  • if a file is really used or not and where it is used.
  • how it was compiled and combined
  • what are your build dependencies.

I will present a new FOSS tool that uses build-time syscalls traces to reconstruct a build graph of the kernel.
Using build tracing with strace, you capture the trace of all systems calls happening during your build.
The trace is parsed and processed to reconstruct the build graph of the kernel as a directed graph of files transformations.
The graph can then be analyzed for fun and for profit, including creating dot/graphviz visualizations and can help understand exactly which files were built and how.

So join me and let’s find out what’s in your kernel build graph!?

Tags

kernel, build, syscalls, strace, build graph

Speaker

  • Phil2

    Philippe Ombredanne

    AboutCode.org and nexB Inc.

    Biography

    I am an avid open source hacker, a contributor to strace, a co-founder of SPDX at the Linux Foundation, an active mentor to the Google summer of Code, contributor to Python packaging tools and several other.