编写首个内核模块:跨平台编译全流程解析
1. 跨平台编译系统的搭建
跨平台编译内核模块,需要做好以下两个准备:
- 目标系统内核源码树 :需将目标系统的内核源码树安装到主机系统的工作空间中。以树莓派作为目标系统为例,可参考官方文档:https://www.raspberrypi.org/documentation/linux/kernel/building.md 。
- 交叉工具链 :通常主机系统为 x86_64 架构,若目标系统是 ARM - 32 架构,则需要 x86_64 到 ARM32 的交叉工具链。要下载并安装树莓派专用的 x86_64 到 ARM 的工具链到主机系统的工作空间。
假设已安装 x86_64 到 ARM 的交叉工具链,且工具链前缀为 arm - linux - gnueabihf - ,可以通过以下命令检查工具链是否安装以及其二进制文件是否已添加到路径中:
$ arm - linux - gnueabihf - gcc
arm - linux - gnueabihf - gcc: fatal error: no input files
compilation terminated.
$
该命令运行成功,只是因为没有传入 C 程序作为参数进行编译,所以会报错。也可以使用 arm - linux - gnueabihf - gcc --version 命令查看编译器版本。
超级会员免费看
订阅专栏 解锁全文
1640

被折叠的 条评论
为什么被折叠?



