如何在 Beaglebone Black 上安装 linux Headers

How to install linux Headers on Beaglebone Black

我目前正在尝试在 Debian 版本 7 (3.8.13-bone47) 下为 Beaglebone Black Board 构建 LKM(Linux 内核模块)。 每当我尝试下载 linux headers 时都会遇到问题... 这是当我 运行 命令 sudo apt-get install linux-headers-$(uname -r):

时控制台显示的内容
root@beaglebone:/# sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package linux-headers-3.8.13-bone47
E: Couldn't find any package by regex 'linux-headers-3.8.13-bone47'

我已经尝试更新和升级软件包:这不能解决问题。如果有离线安装的方法,我在哪里可以找到当前版本的存档?

提前感谢您的回答!

在目标上编译永远不是正确的工作方式。您可以从 here. Listing the tags for that kernel source, I do not see bone47 version. Unless there is a specific reason you are sticking to an older release, I recommend to migrate to a new image 克隆 Beaglebone 内核,这将有一个新内核。您可以从该 git 存储库检出所需的分支。

通过在命令行上指定 ARCH、CROSS_COMPILE 和 KDIR 标志构建内核模块后,您可以针对 PC 上的内核源代码交叉编译内核模块。

在目标上编译是一种完全有效且合法的操作模式。不是每个人都想为简单的内核模块编译或实验设置一个完整的 linux 开发环境。那可能是浪费时间。

BeagleBone 对于此类工作非常强大,最新的工作映像具有可用的内核头文件(内核版本 4.19.94,截至 2020 年 6 月 16 日)。

您可能需要更新本地 apt 索引才能进行安装。以下命令对我有用:

sudo apt update
sudo apt install linux-headers-$(uname -r)