You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Terminology

Buildroot is the tool that we use to build the kernel, kernel modules, user tools, and root file system for our Linux RT machines.

The name we give to the artifacts that buildroot generates is "buildroot".  So, we talk about versions of buildroot as if they are releases of a Linux distribution like Red Hat or Ubuntu.  But they are unrelated to any distribution - they are just buildroot artifacts.

The machines and the buildroot running on these machines are critical to the experiment infrastructure at SLAC.  Experiments have very narrow timing requirements.  This is why we use buildroot.  Buildroot allows us to create a minimal kernel and minimal user tools.  So that for example the kernel is not needlessly interrupted to check for a system update when it should be gathering data for the experiment.

Buildroot also allows user to easily apply patches to the kernel.  We apply the Preempt RT (real time) kernel patch.  This patch makes modifications to the kernel such that kernel interruptions are time-bounded.

Links

Why create a new version?

You might want to create a new version of buildroot if you've found a bug in the current version, or if a new feature is needed.  As I write this document, we have discovered three issues with the current buildroot that must be fixed.

Where do versions exist?

There are two locations in AFS in which we keep our buildroot versions.

  • /afs/slac/g/lcls/package/linuxRT - this locations seems to be deprecated
  • /afs/slac/g/lcls/tftpboot/linuxRT/boot - this seems to be the currently-accepted location

You can create directories under the "boot" directory.  You'll see that there are various directory name formats.  Please use a format like this:

  • buildroot-<year>.<month>-<version>-<architecture>

For example:

  • buildroot-2019.08-2-x86_64

The example name indicates it is the second release of buildroot (the artifacts) based off the 2019.08 version of buildroot (the tool).

The "ipxe" directory under "boot" contains file for every machine that boots buildroot.  The filename indicates the machine name.  In that file you will find a line like this:

  • set vers buildroot-2019.08-x86_64

You can modify that line to point at whatever version of buildroot you would like.

  • No labels