gpt4 book ai didi

linux - 索尼设备的内核配置与源代码不同。为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:42 25 4
gpt4 key购买 nike

我尝试构建简单的内核模块(使用从 developer.sonymobile.com 下载的源代码)但编译后我无法对其进行 insmod:Unknown symbol __gnu_mcount_nc 所以我创建了一个解决方案并使用汇编程序编写了另一个模块并将其导出功能。在这个模块正确 insmoded 之后,但我在 lsmod 中看到所有模块都是永久的。我在使用简单文件系统时遇到问题(权限被拒绝 - 指针为空时的默认操作),此代码在 PC 上运行时没有任何错误。

我猜想源代码中的配置是错误的,(可能结构中某些字段的偏移与设备中的不同)。

内置版本为:24.0.A.5.14(从 developer.sonymobile.com 网站下载)。

我能做些什么来获得与设备中相同的配置吗?

我没有/proc/config.gz 所以我不能轻易得到它。

模块来源:

#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);

我看到了 Hello World!在 dmesg 中,但模块仍然是永久的。

我在这里找到的 __gnu_mcount_nc 来源:http://doc.ironwoodlabs.com/arm-arm-none-eabi/html/getting-started/arm-mcount.html

最佳答案

在构建内核模块时是否使用配置文件启用 -pg 标志进行编译?它看起来是那样的。

CFLAGS 的内核模块 Makefile。

关于linux - 索尼设备的内核配置与源代码不同。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com