我已经从 source.android.com 下载了三星内核并构建了它。然后首先我安装了 CWM 恢复映像,然后将我的 Nexus S (Android 4.1.1) 植根。现在我想将简单的可加载内核模块(LKM)插入其中,但是当我通过insmod hello.ko
在 ADB shell 上编写命令插入模块时,设备会在 2-3 秒后自动重启。
下面是我的 LKM 代码。
#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");
}
我不知道那是什么问题。它没有显示错误消息或其他任何内容,只是重新启动并在重新启动后开始正常运行。
编辑
我已经用 Android 2.2 编译了三星内核,并使用这个内核编译了我的 LKM。这可能是什么原因?