加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 综合聚焦 > Ubuntu > 正文

在x86 ubuntu上为ARM交叉编译linux内核模块

发布时间:2020-10-19 19:45:53 所属栏目:Ubuntu 来源:互联网
导读:我想在我的x86 ubuntu linux上交叉编译ARM内核模块. 我已经下载了内核源代码(linux 2.6.26,因为目标ARM机器正在运行这个linux版本). 和apt-get’ed arm交叉编译器.如你看到的. root@declspec-desktop:/var/www/module_test# arm-linux-gnueabi-arm-linux-gnue

我想在我的x86 ubuntu linux上交叉编译ARM内核模块.
我已经下载了内核源代码(linux 2.6.26,因为目标ARM机器正在运行这个linux版本).
和apt-get’ed arm交叉编译器.如你看到的.

root@declspec-desktop:/var/www/module_test# arm-linux-gnueabi-
arm-linux-gnueabi-addr2line  arm-linux-gnueabi-cpp-4.5
arm-linux-gnueabi-gcov-4.5   arm-linux-gnueabi-ld.gold
arm-linux-gnueabi-ranlib     arm-linux-gnueabi-strip
arm-linux-gnueabi-ar         arm-linux-gnueabi-elfedit
arm-linux-gnueabi-gprof      arm-linux-gnueabi-nm
arm-linux-gnueabi-readelf    arm-linux-gnueabi-as
arm-linux-gnueabi-gcc        arm-linux-gnueabi-ld
arm-linux-gnueabi-objcopy    arm-linux-gnueabi-size       
arm-linux-gnueabi-c++filt    arm-linux-gnueabi-gcc-4.5
arm-linux-gnueabi-ld.bfd     arm-linux-gnueabi-objdump
arm-linux-gnueabi-strings

以下是我的内核模块的Makefile(hello_module.ko)
编译(对于我的x86机器),这工作正常.

obj-m += hello_module.o
KDIR := /lib/modules/$(shell uname -r)/build
#PWD:=$(shell pwd)

all:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
        rm -rf *.o *.ko *.mod.* .c* .t*

现在,我在原始工作的Makefile中需要更改什么
为了交叉编译Linux 2.6.26的内核模块用于ARM?

以及linux源码和linux头码源之间的区别?
我每次编译一些内核时都看过这些内容,但我仍然没有得到它.

我搜索了一些文章,但它不会帮助…

我建议在移动到hello_module之前构建内核源代码.这将确认您的arm交叉编译器安装正常.

很多时候,工具链问题追溯到需要这些:

export CROSS_COMPILE=arm-linux-gnueabi- 

export ARCH=arm

此外,在交叉工具链安装时需要更新PATH,因此可以从执行make中找到工具. CodeSourcery安装可以为您完成,但PATH更新仅在注销/登录后生效.

我不清楚你如何获得上面的控制台输出.如果问题仍然存在,我建议做类似的事情,并将结果作为评论发布.

printenv | grep PATH

whereis arm-linux-gnueabi-gcc

which arm-linux-gnueabi-gcc

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读