linux Android内核模块构建失败

5us2dqdw  于 2023-01-29  发布在  Linux
关注(0)|答案(1)|浏览(152)

我想建立pixel 3蓝线android 10内核模块。
我的示例测试C:

#include"linux/module.h"
#include"linux/kernel.h"

int init_module(void)
{
printk(KERN_INFO "Hello android kernel...\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye android kernel...\n");
}

我的生成文件:

obj-m += test.o

all:
    make -C /home/ijiami/newdisk/android10/aosp_kernel M=$(PWD) modules

我得到的Android内核分支Android-msm-交叉阴影线-4.9-Android 10-qpr 3:

ijiami@ijiami-All-Series:~/newdisk/android10/aosp_kernel$ ls 
build  build.config  out  prebuilts  prebuilts-master  private

错误:

ijiami@ijiami-All-Series:~/newdisk/android10/ko_test$ make
make -C /home/ijiami/newdisk/android10/aosp_kernel M=/home/ijiami/newdisk/android10/ko_test modules 
make[1]: Entering directory '/home/ijiami/newdisk/android10/aosp_kernel'
make[1]: *** No rule to make target 'modules'.  Stop. 
make[1]: Leaving directory '/home/ijiami/newdisk/android10/aosp_kernel' Makefile:4: recipe for target 'all' failed 
make: *** [all] Error 2
4ngedf3f

4ngedf3f1#

似乎找不到指定目录中的生成文件,或者该生成文件未正确执行。请确保您位于正确的目录中,并且该生成文件存在。
错误消息还表明,生成文件中没有生成目标“模块”的规则。请检查指定目录中的生成文件,并确保它具有生成内核模块的正确目标和依赖项。
请确保已成功构建内核源代码,并且正确设置了用于构建内核模块的环境。这通常涉及设置CROSS_COMPILE变量以指向正确的工具链,并确保正确的标题已就位。
还要检查是否安装了必要的构建依赖项。
查看您正在使用的特定Android版本和设备的构建文档可能会有所帮助,以确保您遵循了构建内核模块的正确步骤。

相关问题