利用 GitHub Actions 自动编译 Linux 内核为 deb 包。
此架构图已经不适应目前的情况,后续需要对其进行修改,建议以代码逻辑为准。
使用install_kernel.cpp文件通过执行
g++ -o install_kernel install_kernel.cpp -lstdc++fs -static-libstdc++
来编译出install_kernel 文件,并实现本地的编译(尝试使用静态链接库而不是动态链接库),目前还未测试通过
如果您想要利用我的这个自动化脚本根据自己的需求编译内核,请参考如下步骤:
访问 XXTX-TOP/Linux-kernel_deb_builder (github.com),点击右上角的 Fork
按钮,并 clone 到本地
- 在本地将您获取的 config 文件替换根目录下的
config
,可以从您系统的/boot/config*
文件复制,或者手动编辑 - 本项目提供了部分config,处于config-x文件夹中、可任意选择使用,同时也欢迎各位贡献config
当前 /patch.d/
目录下的修改脚本是只针对我自己的需求编写的,建议您先将其删掉,然后编写自己的脚本放在这个目录下,在脚本执行过程中会自动应用该目录下的所有脚本
推送后,action 自动触发,可以在您的仓库页面的 Actions
选项卡查看进度详情。
在您的仓库页面的 Actions
里面下载artifact 【示例】,然后解压安装后通过sudo dpkg -i +包名 即可
流程大概是: 一、自动化处理流程,二十四小时检测Linux内核官网有没有发布新版本的内核,发布新版本的内核就和之前一个版本进行对比,新的化,就自动开始编译并打包。 二、手动触发流程,我手动点击获取按钮、如果检测到内核比我本机的内核新,那么就自动开始编译,编译完成后自动进行下载、安装、重启。PS:本机特指我用来测试的机器和虚拟机。
三、预计通过由openkylin-rootfs生成的openkylin-docker预制内核编译环境,来进行内核的编译,提升内核编译相关性。
后续待实现流程:定制化编译、多架构编译、测试完成后一件进行签名并发布至apt源,并更新内核说明,供大家进行下载测试。
备忘录:写一个管理我方内核的工具,至少包括安装卸载指定版本,以及删除所有我方内核、删除所有除我方内核。
Copyright © 2000-2023 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.