定制 Linux 内核:交叉编译
1. 准备编译环境
准备一 x86_64 Debian 环境。
1.1. 安装龙芯交叉编译器
1.2. 安装其他构建依赖
进入 root 用户 shell,运行
2. 获取内核源码
3. 配置内核编译配置
3.1. 加载龙芯 2k 默认配置
3.2. 配置内核构建选项(可选)
4. 构建内核
4.1. 构建内核镜像 vmlinuz
vmlinuz
构建出的内核镜像文件名为 vmlinuz
。
4.2. 构建并导出内核模块(可选,但强烈建议)
构建出的内核模块将位于 kernel_modules
文件夹下,您可以更改上述命令中的 INSTALL_MOD_PATH
变量来自定义内核模块导出位置。
4.3. 导出内核头文件(可选)
构建出的内核头文件将位于 kernel_headers
文件夹下,您可以更改上述命令中的 INSTALL_HDR_PATH
变量来自定义内核头文件导出位置。
5. 打包内核文件并传至龙芯派
第二条
scp
命令执行前需要构建机器和龙芯派在同一个内网里,并在龙芯派上先安装好openssh-server
,可以通过 root 下运行apt install openssh-server
来安装。或者你可以使用 u 盘将linux-build.tar.gz
文件拷贝到龙芯派上来替代scp
命令。
若你没有导出内核模块,你需要将 tar
命令参数中的 kernel_modules
删去。若你没有导出内核头文件,将 kernel_headers
删去。
此外,你可能需要将 scp
命令中的 ls2k
替换为龙芯派的 IP 地址。
6. 安装内核文件
在龙芯派上登入 root 用户。
在以下命令中我们假定内核版本为 5.7.0-rc1+
,内核版本可能有变化。
6.1. 解压压缩包
6.2. 安装内核本身
6.3. 安装内核模块
如果你此前导出了内核模块,则运行,否则不用运行。
6.4. 生成 initramfs
6.5. 更新 PMON 启动项
现在你可以输入 reboot
命令重启龙芯派。启动过程中 PMON 启动菜单应会出现刚刚编译的新内核。
Last updated