2

我试图交叉编译互联网上可用的内核模块代码。我的开发 PC 是 Linux 2.6.31,我的目标架构是带有 Linux 2.6.32 内核的 ARM。我的工具链是 Code Sourcery arm-none-linux-gnueabi。我的 Makefile 看起来像这样:-

obj-m := mymodule.o
KDIR := /path/to/target/2.6.32/kernel

all:
$(MAKE) ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi -C $(KDIR) M=$(PWD) modules
clean:
$(MAKE) ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi -C $(KDIR) M=$(PWD) clean

我的 Linux 2.6.32 内核只是一个源代码树;未配置或构建;刚刚解压了从供应商处获得的内核源代码。模块构建良好。

但是当我尝试安装模块时,它显示“无效的模块格式”。我的查询是:- 这是因为我没有针对正在运行的内核构建并针对尚未配置/构建的内核源代码树进行构建吗?谁能帮我解决这个问题?

谢谢,摇篮曲

4

0 回答 0