Linux 索尼设备的内核配置与源代码不同。为什么?
我试图构建简单的内核模块(使用从developer.sonymobile.com下载的源代码),但编译后我无法对其进行insmod:Unknown symbol\uu gnu\u mcount\u nc,因此我创建了一个解决方案,并使用assembler编写了另一个模块,并导出了此函数。在这个模块正确插入后,我在lsmod中看到所有模块都是永久的。我对简单文件系统有一个问题(权限被拒绝-指针为null时的默认操作),在PC上,这段代码工作时没有任何错误 我猜源代码中的配置是错误的(可能结构中某些字段的偏移量与设备中的偏移量不同) 内置版本为:24.0.A.5.14(从developer.sonymobile.com网站下载) 我可以做些什么来获得与设备中相同的配置吗 我没有/proc/config.gz,因此无法轻松获取它 模块来源:Linux 索尼设备的内核配置与源代码不同。为什么?,linux,linux-kernel,sony-xperia,Linux,Linux Kernel,Sony Xperia,我试图构建简单的内核模块(使用从developer.sonymobile.com下载的源代码),但编译后我无法对其进行insmod:Unknown symbol\uu gnu\u mcount\u nc,因此我创建了一个解决方案,并使用assembler编写了另一个模块,并导出了此函数。在这个模块正确插入后,我在lsmod中看到所有模块都是永久的。我对简单文件系统有一个问题(权限被拒绝-指针为null时的默认操作),在PC上,这段代码工作时没有任何错误 我猜源代码中的配置是错误的(可能结构中某些
#include <linux/module.h>
#include <linux/kernel.h>
int __init example_init(void)
{
printk("Hello world!\n");
return 0;
}
void __exit example_exit(void)
{
printk("example module exit\n");
}
module_init(example_init);
module_exit(example_exit);
#包括
#包括
int_uuuinit示例_uinit(void)
{
printk(“你好,世界!\n”);
返回0;
}
void\u退出示例\u退出(void)
{
printk(“示例模块退出\n”);
}
模块_init(示例_init);
模块退出(示例退出);
我看到了你好世界!在dmesg中,但模块仍然是永久的
我在这里找到的uu gnu mcount\u nc的来源:在构建内核模块时,是否使用profile enable-pg标志编译?看起来是那样的 CFLAGS的内核模块Makefile