Skip to content

Kernel Patch Series

The --patch-series or -p options accept a kernel patch series which will be applied over the kernel source tree before starting the build. The user should ensure that the patch series supplied is valid and applies cleanly on the requested kernel source tree.

ATTENTION: In order to comply with the GPL, a patch series that is supplied will be published together with the build artifacts (i.e. users who have access to the binaries must also have access to the corresponding source). Source and binary artifacts are removed from the TuxSuite publication server after three months. If you are redistributing the binaries built by TuxBuild, you must also publish the complete corresponding source code alongside the binaries in order to comply with the GPL.

The build artifacts URL is unique and random, and cannot be guessed. The only users who can access the build artifacts are:

  • The user who submitted the build(s), as the URLs is displayed to them in the terminal output.
  • Other users in the same TuxSuite group (e.g. same company).
  • Anyone with whom the build artifacts URL is shared.

If you are concerned with the privacy of your builds, do not share their URLs with people outside of your organization.

The filename of the patch series file that was used during the build is referenced in the "kernel_patch_file" field in the status.json file, available in the published build artifacts directory.

Four formats are supported for kernel patch series:

  • mbox
  • directory
  • gzipped tar archive (.tar.gz)
  • an individual patch file

NOTE: For directory and .tar.gz patch series the contents should contain a valid series file.

Examples

tuxsuite build

Build with mbox patch series

Perform an arm64 tinyconfig build using gcc-9 applying the given mbox patch series on the kernel source tree at master before the build.

tuxsuite build \
--git-repo https://github.com/torvalds/linux.git \
--git-ref master \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series /tmp/PATCH-v10-mm-slub-move-sysfs-slab-alloc-free-interfaces-to-debugfs.mbox

Build with patch series from directory

Perform an arm64 tinyconfig build using gcc-9 applying the given patch series from directory on the kernel source tree at the specific reference tag before the build.

tuxsuite build \
--git-repo https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable \
--git-ref v5.10.42 \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series /tmp/kernel-src/stable-queue/releases/5.10.43/

Build with patch series from gzipped tar archive

Perform an arm64 tinyconfig build using gcc-9 applying the given patch series from gzipped tar archive (.tar.gz) on the kernel source tree at the specific reference tag before the build.

tuxsuite build \
--git-repo https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable \
--git-ref v5.10.42 \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series /tmp/5.10.43.tar.gz

Build with patch series from URL

Perform an arm64 tinyconfig build using gcc-9 applying the given patch series from the given URL on the kernel source tree at the specific reference tag before the build.

tuxsuite build \
--git-repo https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable/ \
--git-ref v5.10.42 \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series https://www.example.com/5.10.43.tgz

Build with patch series from lore.kernel.org URL

Perform an arm64 tinyconfig build using gcc-9 applying the given patch series from lore.kernel.org URL on the kernel source tree at the specific reference tag before the build. In this case, if b4 is installed in the user's machine, then tuxsuite will download the patch series from lore.kernel.org and use it. Attempt to use b4 is available only for https://lore.kernel.org/ URL.

tuxsuite build \
--git-repo https://github.com/torvalds/linux.git \
--git-ref master \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series https://lore.kernel.org/lkml/YmkO7LDc0q38VFlE@kroah.com/raw

Build with patch series from lore.kernel.org message-id

Perform an arm64 tinyconfig build using gcc-9 applying the given patch series from lore.kernel.org message-id on the kernel source tree at the specific reference tag before the build. In this case, if b4 is installed in the user's machine, then tuxsuite will download the patch series from lore.kernel.org and use it. Attempt to use b4 is available only for https://lore.kernel.org/ based message-id.

tuxsuite build \
--git-repo https://github.com/torvalds/linux.git \
--git-ref master \
--target-arch arm64 \
--toolchain gcc-9 \
--kconfig tinyconfig \
--patch-series 20220720131221.azqfidkry3cwiarw@bogus