在 Ubuntu 22.04.3 上构建自定义内核
目录
注意
本文最后更新于 2023-10-23,文中内容可能已过时。
环境配置要求
本次内核在 Ubuntu 22.04.3 虚拟机上构建。建议分配尽可能多的内存和处理器,以及容量至少为 60GB 的磁盘。
克隆内核源码
查看内核版本:
|
|
克隆 6.2 版本的 Linux 内核源代码:
|
|
构建内核
安装依赖项:
|
|
进入源码目录,复制系统当前的内核配置文件:
|
|
可使用make menuconfig
编辑配置文件,无特殊需求则不必作改动。
关闭启用模块签名,以便进行编译:
|
|
配置 LOCALVERSION
变量,为自定义内核添加一个标签:
|
|
这样,最后的内核版本将会是 6.2.0-cuefe。
开始编译:
|
|
-j
参数指定可以并行执行的任务数量,$(nproc)
返回处理器核心数,使用 -j
参数可以加快编译速度。
安装必要的内核模块:
|
|
安装内核:
|
|
修改 grub 启动项:
|
|
|
|
更新 grub:
|
|
重启:
|
|
选择新构建的内核:
查看内核版本:
|
|
成功构建内核并运行。
修改内核源码
在 init/main.c
的 start_kernel()
函数中,找到 arch_call_rest_init();
,在其上添加:
|
|
printk()
是 Linux 内核中用于打印日志信息的函数。
重新构建内核:
|
|
选择新构建的内核:
dmesg
是一个用于查看内核日志信息的命令,可以用来验证上述内核源码修改成功:
|
|