Ubuntu 22.04 (x64)树莓派4B(Raspberry Pi 4B)源代码编译

树莓派上的操作


树莓派使用的系统是通过 Raspberry Pi Imager 安装的 2023-05-03-raspios-bullseye-armhf.img.xz

1.升级到最新版内核保证与下载的内核源码版本一致

2.升级完整后重启

3.查看内核版本

4.把最新版本的内核配置保存到.config中,以备以后编译内核使用

文件被存储到了/proc/config.gz中。

目前最新版本是 6.1.12,当前内核启动默认会切换到 64位内核了,即使安装的是32位系统镜像也是这样。

如果想从32位内核启动,那么需要在 config.txt 中配置 arm_64bit

因此下面的编译都是针对6.1.y这个分支进行的。

Debian/Ubuntu下编译


1.获取内核源代码

2,以下步骤时间很长,可以在睡觉前执行,并且可能需要重试几次才行。

3. 安装编译工具

4.整个的rpi-linux的文件夹的所有者更改为当前用户,否则存在一定程度的编译问题,特别是代码从其他系统上拷贝过来的情况

5.配置编译类型

6. 开始正式编译内核,最后的数字改成比你的CPU核心数量+1以提交多线程编译效率。

7.编译错误修正,如果提示如下错误

这个现象的原因是 git 在检出代码的时候,没有正确处理软连接,我们只需要重新处理一次即可。如下:

8.查看生成的内核镜像文件

生成的zImage就是我们需要的kernel.img

9.编译modules

10.编译实时内核

启用实时内核编译配置

32位

64位

先加载默认生成的配置:

修改配置:

开始正式编译内核,最后的数字改成比你的CPU核心数量+1以提交多线程编译效率。

安装编译好的内核

Ubuntu下面,SD卡会自动挂载,默认挂载到了/media/目录下面,如果是使用NOOBS安装的话,系统目录是固定的,执行如下命令拷贝到目标SD卡上面

32位

确认内核已经生效

64位

参考链接


发布者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注