我正在从事linux内核开发,并试图制作自己的模块用于测试目的。但是,对于最新的内核源代码,linux-headers并不存在。它只存在于4.9.0-7。
我在谷歌上找到了一种方法,我们可以根据我们想要的内核源代码树对模块进行make (例如:4.18)为我的模块生成.ko的make -C /home/prasad/linux-4.18/ M=$(PWD)。然而,当我加载我的内核并insmod它时,它会说
insmod: ERROR: could not insert module test.ko: Unknown symbol in module
那么,如何从我的主机生成可以插入到4.18内
我试图在安装内核4.19.188- am 64时发出命令。但在No space left on device命令2小时后,我得到了make。我增加了/tmp文件夹,将TMPDIR设置为主目录中的一个文件夹,但没有任何帮助。
然后,我执行watch命令来监视根环境中的/tmp、$TMPDIR、$TMPDIR空间,并且没有注意到它们中的任何一个都有任何大小的增加。
错误:
LD [M] drivers/gpu/drm/mgag200/mgag200.ko
LD [M] drivers/gpu/drm/nouveau/nouveau.ko
LD [M] drivers/gpu/dr
我按照论坛()中的步骤获得linux内核源代码,并交叉编译我的模块。的内核版本与论坛中的版本完全相同。我最初用我的测试模块hello-1.ko进行了测试,该模块成功地安装在android设备上。但是当我使用insmod在android设备上安装模块ec.ko时,我会得到以下错误。
apurva@apurva-Inspiron-1464:~/$亚行壳
$ cd sdcard/data/ec
$ ls
ec.ko
$ su # insmod ec.ko
insmod: init\_module 'ec.ko' failed (No such file or directory)