记录一下第一次接触arm-linux生态
买的arm开发板是友善之臂系列,由于第一次接触,开始以为直接在开发板上安装驱动,然后遇到许多问题,安装时又是提示缺少内核版本对应的头文件,又是提示需要编译内核。。。裂开了我。经过一番搜集,终于弄明白了。买的这个开发板上没有内核源码和对应的源码树,而安装驱动是要依赖内核源码树的,而且arm开发板一般是用作运行环境,开发都是在宿主机(x86平台)上经过交叉编译再拿到开发板上运行。
记录下我生成.ko文件的步骤:
- git clone开发板内核源码到宿主机目录下,
- 安装 交叉编译工具,后面make驱动时最好直接在终端export,不要修改~/.bashr
- 编译内核源码,具体配置可以参考其他链接,或者有对应的config
- 编译成功后可以直接make modules install,然后在宿主机驱动源码下make。需要指定ARCH=arm64,CROSS_COMPILE=,以及makefile中的kernel dir。
另外我还查到有一种方法,在源码目录下make module_prepare,根据内核可以在指定目录下生成内核源码树。这种方法我没有尝试,上面的步骤已经生成了我需要的驱动,重心不是在这一方面,后续还有其他主要任务。
若有侵权,请联系删除。