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