kernel:

分支31Tags424
文件最后提交记录最后更新时间
27 天前
27 天前
27 天前
27 天前
2 年前
1 个月前
1 年前
6 年前
2 年前
6 年前
6 年前
27 天前
6 年前
6 年前
6 年前
27 天前
1 个月前
27 天前
27 天前
6 年前
6 年前
6 年前
2 年前
2 年前
6 年前
6 年前
2 年前
6 年前

openEuler kernel

English

openEuler 内核 RPM 打包仓库。基于 Linux 内核源码、out-of-tree 补丁和按架构划分的 内核配置构建 openEuler 内核 RPM 包。

目录结构

  • kernel.spec — 内核包的 RPM spec
  • kernel-aarch64.config / kernel-x86_64.config / kernel-riscv64.config — 各架构内核配置
  • scripts/clean-config — 从内核 .config 中剥离工具链自动检测选项
  • scripts/ebs-build.sh — EulerMaker EBS 自助云端构建脚本
  • scripts/gen-source-tarball.sh — 根据 SOURCE 中的 tag 生成 kernel.tar.gz (本地构建用;EBS 构建会自动生成)
  • ebs-build.conf.examplescripts/ebs-build.sh 的版本/分支配置模板;首次运行 会自动复制成本地 ebs-build.conf(gitignore,不入库)供你编辑
  • docs/ebs-build.md — EBS 云端构建新手指南
  • SOURCE — openEuler 内核 tag(来自 https://atomgit.com/openeuler/kernel)

本地构建

内核源码 tarball kernel.tar.gz 不存放在本仓库——openEuler 构建系统(EulerMaker) 在构建时按 SOURCE 中的 tag 自动生成。本地手动构建需要自己生成:

  1. 准备 openEuler 开发环境(容器或主机),装好 kernel.specBuildRequires 声明的依赖。

  2. 告诉脚本内核源码在哪里:在本地(gitignore)ebs-build.conf 里加一行 KERNEL_REPO=~/git/openeuler/kernel(路径或 git URL),或临时用 KERNEL_REPO=... 环境变量覆盖——无需改 shell rc 配置。

  3. SOURCE 的 tag 生成源码包:

    ./scripts/gen-source-tarball.sh
    
  4. 构建:

    rpmbuild -ba kernel.spec
    

EulerMaker EBS 云端构建

EBS(EulerMaker)是 openEuler 的云端构建服务:按 SOURCE 里的内核 tag 对应的 版本,同时构建 aarch64 和 x86_64 内核。

构建对象是本地 ebs-build.confSPEC_URL / SPEC_BRANCH 指定的远程 仓库分支(如官方 openEuler-26.09-DevStation 分支)。EBS 拉取的是远程分支 上的 spec 与配置,所以修改必须先 push 到该远程分支,本地工作区不会被构建。 spec 仓库名必须叫 kernel——EBS 只对名为 kernel 的仓库自动生成 Source0: kernel.tar.gz(详见 docs/ebs-build.md)。

无需向管理员申请角色——每个开发者创建自己的继承子工程即可。快速上手:

./scripts/ebs-build.sh --install-ccb   # 一次性:安装 ccb 客户端
./scripts/ebs-build.sh --config        # 一次性:配置账号(密码仅存环境变量)
./scripts/ebs-build.sh --setup         # 一次性:创建子工程 + kernel 包源 + 快照
./scripts/ebs-build.sh build           # 触发构建并轮询至两架构完成
./scripts/ebs-build.sh log <job_id> --check   # 拉取日志并 grep 错误
./scripts/ebs-build.sh repo-url               # 显示最后一次成功构建的产物仓库 URL

版本/分支(kernel 包源、分支、继承的官方工程)在本地 ebs-build.conf 里配置(首次 运行自动从模板 ebs-build.conf.example 复制),换版本改它即可,不用改脚本;临时覆盖 可用环境变量。

完整指南:docs/ebs-build.md

参考