Skip to content

XXTX-TOP/Linux-kernel_deb_builder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kernel_deb_builder

利用 GitHub Actions 自动编译 Linux 内核为 deb 包。

1689432126348

此架构图已经不适应目前的情况,后续需要对其进行修改,建议以代码逻辑为准。

备忘录:

使用install_kernel.cpp文件通过执行

g++ -o install_kernel install_kernel.cpp -lstdc++fs -static-libstdc++

来编译出install_kernel 文件,并实现本地的编译(尝试使用静态链接库而不是动态链接库),目前还未测试通过

如何使用

如果您想要利用我的这个自动化脚本根据自己的需求编译内核,请参考如下步骤:

1. Fork 仓库

访问 XXTX-TOP/Linux-kernel_deb_builder (github.com),点击右上角的 Fork 按钮,并 clone 到本地

2. 更新 config 文件

  • 在本地将您获取的 config 文件替换根目录下的 config,可以从您系统的 /boot/config* 文件复制,或者手动编辑
  • 本项目提供了部分config,处于config-x文件夹中、可任意选择使用,同时也欢迎各位贡献config

3. 编写自定义修改脚本

当前 /patch.d/ 目录下的修改脚本是只针对我自己的需求编写的,建议您先将其删掉,然后编写自己的脚本放在这个目录下,在脚本执行过程中会自动应用该目录下的所有脚本

4. 推送修改

推送后,action 自动触发,可以在您的仓库页面的 Actions 选项卡查看进度详情。

5.下载解压安装

在您的仓库页面的 Actions里面下载artifact 【示例】,然后解压安装后通过sudo dpkg -i +包名 即可

6、自动编译流程

流程大概是: 一、自动化处理流程,二十四小时检测Linux内核官网有没有发布新版本的内核,发布新版本的内核就和之前一个版本进行对比,新的化,就自动开始编译并打包。 二、手动触发流程,我手动点击获取按钮、如果检测到内核比我本机的内核新,那么就自动开始编译,编译完成后自动进行下载、安装、重启。PS:本机特指我用来测试的机器和虚拟机。

三、预计通过由openkylin-rootfs生成的openkylin-docker预制内核编译环境,来进行内核的编译,提升内核编译相关性。

后续待实现流程:定制化编译、多架构编译、测试完成后一件进行签名并发布至apt源,并更新内核说明,供大家进行下载测试。

7、后续发展计划

备忘录:写一个管理我方内核的工具,至少包括安装卸载指定版本,以及删除所有我方内核、删除所有除我方内核。

8、依赖

组件 官网
wget Wget - GNU Project - Free Software Foundation
xz-utils XZ Utils (tukaani.org)
make Make - GNU Project - Free Software Foundation
gcc GCC, the GNU Compiler Collection - GNU Project
flex westes/flex: The Fast Lexical Analyzer - scanner generator for lexing in C and C++ (github.com)
bison Bison - GNU Project - Free Software Foundation
dpkg-dev Dpkg — Debian Package Manager
bc bc - GNU Project - Free Software Foundation
rsync rsync (samba.org)
kmod
cpio Cpio - GNU Project - Free Software Foundation
libssl-dev openssl/openssl: TLS/SSL and crypto library (github.com)
git Git - Downloading Package (git-scm.com)
lsb LSB Specifications (linuxfoundation.org)
vim welcome home : vim online
libelf-dev
python3-pip pip · PyPI
python3-tk tkinter — Python interface to Tcl/Tk — Python 3.11.4 documentation
debhelper debhelper(7) — debhelper — Debian jessie — Debian Manpages

本项目由JetBrains提供编程软件支持:

JetBrains Logo (Main) logo Copyright © 2000-2023 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Roff 93.0%
  • Python 3.4%
  • Shell 2.1%
  • C++ 1.5%