跳转到主要内容

用于构建Linux内核的轻量级封装

项目描述

TuxMake Logo

Pipeline Status coverage report PyPI version Code style: black PyPI - License

文档 - 仓库 - 问题

TuxMake,由Linaro提供,是一个命令行工具和Python库,它为各种架构、工具链、内核配置和make目标提供了可移植和可重复的Linux内核构建。TuxMake是TuxSuite的一部分,TuxSuite是一套工具和服务,有助于Linux内核开发。

[[目录]]

关于TuxMake

构建Linux很容易,对吧?你只需要运行“make defconfig; make”!

当你想要支持以下组合时,事情会变得复杂

  • 架构(arc、arm、arm64、i386、mips、parisc、powerpc、riscv、s390、sh、sparc、x86_64等)
  • 工具链(gcc-8、gcc-9、gcc-10、clang-10、clang-11、clang-nightly等)
  • 配置(defconfig、distro configs、allmodconfigs、randconfig等)
  • 目标(内核镜像、文档、自检、性能、cpupower等)
  • 构建时验证(coccinelle、sparse checker等)

每个项目都需要特定的配置,支持所有组合都很困难。TuxMake通过为上述列出的每个组合提供一致的命令行界面,旨在简化Linux内核的构建。您可以在命令行中指定要构建的内容,TuxMake将为您驱动构建,每次都以相同的方式执行相同的步骤。

真正的力量来自于使用TuxMake精心挑选的、可移植的构建环境,这些环境作为Docker/Podman容器镜像分发。当使用这些经过版本化和密封的文件系统镜像时,您的团队可以在不同的工作站平台上使用完全相同的工具链。通过与他人共享TuxMake命令行,报告和重现构建失败变得非常简单。

安装TuxMake

安装TuxMake有多种选择

使用TuxMake

要使用TuxMake,请导航到Linux源树(您通常在那里运行make),并运行tuxmake。默认情况下,它将在您的本地架构上执行defconfig构建,使用默认编译器(gcc)。

可以使用命令行参数修改构建的行为。运行tuxmake --help以查看所有命令行参数。

示例

从当前目录构建

$ tuxmake

使用Podman构建

$ tuxmake --runtime podman

从特定目录构建

$ tuxmake --directory /path/to/linux

构建arm64内核

$ tuxmake --target-arch=arm64

使用gcc-10构建arm64内核

$ tuxmake --target-arch=arm64 --toolchain=gcc-10

使用clang-10构建arm64内核

$ tuxmake --target-arch=arm64 --toolchain=clang-10

使用gcc-9在arm64上构建tinyconfig

$ tuxmake -a arm64 -t gcc-9 -k tinyconfig

使用文件中的附加配置构建defconfig

$ tuxmake --kconfig-add /path/to/my.config

使用URL中的附加配置构建defconfig

$ tuxmake --kconfig-add https://foo.com/my.config

使用树内附加配置构建defconfig

$ tuxmake --kconfig-add kvm_guest.config

使用内联附加配置构建defconfig

$ tuxmake --kconfig-add CONFIG_KVM_GUEST=y

使用docker在arm64上构建gcc-9的tinyconfig

$ tuxmake -r docker -a arm64 -t gcc-9 -k tinyconfig

使用podman在arm64上构建DTBs

$ tuxmake -r podman -a arm64 -t gcc-9 dtbs

可以通过重用构建目录来执行增量构建

$ tuxmake --build-dir=/path/to/output
# hack on source ...
$ tuxmake --build-dir=/path/to/output
# only rebuilds what is needed

使用配置文件

# reads command line options from ~/.config/tuxmake/myconfig
$ tuxmake @myconfig
# reads command line options from /tmp/myconfig
$ tuxmake @/tmp/myconfig

显示所有选项

$ tuxmake --help

为TuxMake做出贡献

有关如何为TuxMake做出贡献的详细信息,请参阅贡献指南文档。贡献者应遵循TuxMake行为准则(与Linux内核社区采用的行为准则相同)。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

tuxmake-1.27.0.tar.gz (135.0 kB 查看哈希值)

上传时间 源代码

构建发行版

tuxmake-1.27.0-py3-none-any.whl (68.9 kB 查看哈希值)

上传时间 Python 3

由以下支持