linux编译树莓派内核,编译树莓派 4B Linux 5.9 内核

06c872c19b7d890de4fc307b618a88ad.png

来自 九年吃菜粥 的发帖。

文中的操作是在 x86 docker 的 Ubuntu 容器中进行操作,因为子系统编译时好像 CPU 吃不满。

文中命令全部用 root 用户执行。

1、首先下载树莓派的内核

GitHub 地址:https://github.com/raspberrypi/linux

可以直接使用 git clone --depth=1 --branch rpi-5.9.y https://github.com/raspberrypi/linux 来下载 5.9 版本的内核

个人建议从 github 直接下载 zip 包

2、然后下载交叉编译工具(x86_64 编译 arm64)

3、安装依赖项

apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev

4、解压操作

unzip linux-rpi-5.9.y.zip ~/linux-rpi-5.9

tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

mv ./gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu ~/gcc-linaro

5、把交叉编译工具添加到环境变量

首先 nvim ~/.bashrc

在 .bashrc 后面加上:export PATH=$PATH:~/gcc-linaro/bin

然后执行 source ~/.bashrc 刷新环境变量

6、进行编译前的处理

首先进入内核目录

如果你要用默认配置进行编译,执行 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig

如果你要自定义某些配置,执行 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711 后,再执行 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig,会弹出内核配置窗口进行配置

7、启动编译过程

make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

整个编译时间可能会比较长,根据编译机器的硬件处理器数量来制定同时使用多少线程编译(-j{‌‌n},这里同时使用8个线程)。

8、生成编译后的文件

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=../ modules_install

这会在路径下生成一个lib文件夹,将该文件夹拷贝到树莓派上

9、在树莓派上执行内核替换

首先切换目录:lib/modules/5.9.0-v8/source/arch/arm64/boot

执行以下命令:

cp Image /boot/kernel8.img

cp dts/broadcom/*.dtb /boot/

cp dts/overlays/*.dtb* /boot/overlays/

cp dts/overlays/README /boot/overlays/

10、生成内核模块

在执行这一步之前你可能需要安装kmod依赖项

执行:make ARCH=arm64 modules_install

如果你是在交叉编译的机上直接进行安装,则要执行:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=rootDirect modules_install

修改配置文件(可选)

树莓派默认是用32位内核启动,需要修改 boot 分区下的 config.txt 文件

arm_64bit=1 kernel=kernel8.img

11、重启

reboot

12、确认

启动后执行 uname -a 可查看内核版本。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值