如何在Beaglebone Black上安装Linux Headers

时间:2019-04-02 16:58:15

标签: linux-kernel embedded-linux beagleboneblack beagleboard

我目前正在尝试为Debian版本7(3.8.13-bone47)下的Beaglebone黑板构建LKM(Linux内核模块)。 每当我尝试下载Linux标头时,我都会遇到问题... 这是运行命令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'

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

预先感谢您的回答!

2 个答案:

答案 0 :(得分:0)

在目标上进行编译永远不是正确的工作方式。您可以从here克隆Beaglebone内核。列出该内核源代码的标签,我看不到bone47版本。除非有特定原因,否则您坚持使用较旧的版本,否则我建议迁移到具有新内核的新image。您可以从该git存储库中检出所需的分支。

在构建内核模块之后,可以通过在命令行上指定ARCH,CROSS_COMPILE和KDIR标志,在PC上对内核模块进行交叉编译。

答案 1 :(得分:0)

按目标编译是一种完全有效和合法的操作模式。并非所有人都希望为简单的内核模块编译或试验设置完整的linux开发环境。那可能是浪费时间。

BeagleBone具有强大的功能,可用于这种类型的工作,最新的工作映像具有可用的内核头文件(内核版本为4.19.94,截至2020-06-16)。

在安装生效之前,您可能需要更新本地apt索引。以下命令对我有用:

xpath3