dae*_*hee 5 linux arm makefile
我想在我的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
Run Code Online (Sandbox Code Playgroud)
以下是我的内核模块(hello_module.ko)编译的Makefile(对于我的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*
Run Code Online (Sandbox Code Playgroud)
现在,为了交叉编译Linux 2.6.26 for ARM的内核模块,我需要在原来的Makefile中进行哪些更改?
以及linux源码和linux头码源之间的区别?我每次编译一些内核时都看过这些内容,但我仍然没有得到它.
我搜索了一些文章,但它不会帮助...
小智 3
我建议您在转到 hello_module 之前构建内核源代码。这将确认您的 Arm 交叉编译器安装顺利。
很多时候,工具链问题可以追溯到需要这些:
export CROSS_COMPILE=arm-linux-gnueabi-
export ARCH=arm
Run Code Online (Sandbox Code Playgroud)
另外,跨工具链安装时需要更新 PATH,以便可以从执行 make 中找到工具。CodeSourcery install 可以为您做到这一点,但 PATH 更新仅在注销/登录后生效。
我不清楚你是如何得到上面的控制台输出的。如果问题仍然存在,我建议做类似的事情,并将结果作为评论发布。
printenv | grep PATH
whereis arm-linux-gnueabi-gcc
which arm-linux-gnueabi-gcc
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7948 次 |
| 最近记录: |