19、编写第一个内核模块:交叉编译实战

编写第一个内核模块:交叉编译实战

1. 交叉编译系统设置

在进行内核模块的交叉编译之前,需要满足以下先决条件:
- 目标系统内核源码树 :需要在主机系统(通常是 x86_64 桌面系统)的工作空间中安装目标系统的内核源码树。以树莓派为例,可参考官方文档:https://www.raspberrypi.org/documentation/linux/kernel/building.md 。
- 交叉工具链 :由于主机系统通常是 x86_64,而目标系统是 ARM - 32,所以需要一个 x86_64 到 ARM32 的交叉工具链。这里假设已经安装了 x86_64 到 ARM 的交叉工具链,且工具链前缀为 arm - linux - gnueabihf - 。可以通过以下命令检查工具链是否安装以及其二进制文件是否已添加到路径中:

$ arm - linux - gnueabihf - gcc
arm - linux - gnueabihf - gcc: fatal error: no input files
compilation terminated.

也可以使用 arm - linux - gnueabihf - gcc --version 命令查看编译器版本。

2. 第一次尝试:设置“特殊”环境变量

交叉编译内核模块看似简单,只需正确设置“特殊”的 ARCH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值