gpt4 book ai didi

linux-kernel - 交叉编译 Linux 内核模块

转载 作者:行者123 更新时间:2023-12-01 02:20:22 33 4
gpt4 key购买 nike

我正在研究为 ARM linux 交叉编译内核模块。我已经安装了我的工具链。
但是有些东西我并没有从各种方法中得到。
我要构建的模块是gadgetfs .

我主机上的内核版本是3.5.0-34-generic尽管
在目标上是3.6.9-0.1
现在我实际上需要下载和安装哪些内核源代码或头文件,在哪里?
我下载了linux-3.6.9.tar.bz2来自 kernel.org并将其提取出来。
drivers/usb/gadget/有一个Makefile根据这个站点,我需要将这些行附加到它,然后运行 ​​make :

KDIR := /lib/modules/`uname -r`/build
PWD := `pwd`
obj-m := dummy_hcd.o gadgetfs.o
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

但是我要换什么 uname -r和?因为这会给我主机的内核版本。但我的目标版本不同。 /lib/modules/3.6.9 在哪里文件夹? CROSS_COMPILEARCH都设置好了。

最佳答案

由于 Linux 没有 stable binary API,因此您需要在主机上使用正确的配置为您的目标交叉编译(或下载预编译的)Linux 匹配版本。 .主机的内核版本不相关。

在您的主机上获得目标构建后,您可以通过以下方式构建模块

make -C kernel_build_dir M=`pwd` ARCH=arm CROSS_COMPILE=<...> modules

在该模块的目录下。

关于linux-kernel - 交叉编译 Linux 内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20969523/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com