rpi-update 安装 Linux 5.15.y 后,使用 rpi-source 安装内核头文件 Kernel Headers

环境

  • Raspberry Pi OS 64 bit
  • Linux 5.15.y

前言

之前说到,我用 rpi-update 把树莓派更新到了 5.15.y 版本的内核。

折腾树莓派,总会遇上需要编译点内核模块啥的。

但是你会发现,没有内核头文件,也就没法继续干下去。

一般来说,官方源里面就应该有对应版本的内核头文件包。

 sudo apt install raspberrypi-kernel-headers

但树莓派官方源里面的内核头文件包,大概率是跟不上你天天敲 rpi-update 的速度的。

所以我们需要借助一个 Python2 写的小工具,来自动下载适合你的内核的内核头文件,并且自动配置环境。

或者你可以选择把整个内核源码拉下来,然后手动配置环境。

rpi-source

这里又是第二个坑了。

如果用原版的 rpi-source 来下载 64 位 RaspiOS 环境下的内核头文件,那么就会处处不对劲。

因为 rpi-source 只支持 32 位架构的内核头文件获取。

Issue with raspberry pi beta kernel #933 在这里可以看到类似的 issue。

非常幸运的是,已经有人修改好支持 64 位架构的 rpi-source 并且提了 pr,只是还没合并进主线。

所以我们用的是修改之后的 rpi-source。

准备

sudo apt install git bc bison flex libssl-dev libncurses5-dev python2

安装

sudo wget https://raw.githubusercontent.com/RPi-Distro/rpi-source/ceee03b5fb9cee65dd933f4784bb455cfa872a76/rpi-source -O /usr/local/bin/rpi-source && sudo chmod +x /usr/local/bin/rpi-source && /usr/local/bin/rpi-source -q --tag-update

运行

python2 /usr/local/bin/rpi-source --architecture 1

完成

这时候,检查 /usr/lib/modules 目录,会发现对应的内核版本号里面,已经有 build 目录。

chevron_left
chevron_right

Leave a comment

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

Comment
Name
Email
Website