【发布时间】:2021-07-26 12:22:58
【问题描述】:
我正在尝试在我的小米红米 Note 9S 上使用 NFS,它使用了一个名为 Resurrection Remix OS 的自定义 ROM。我正在用新编译的内核替换旧内核,内置 NFS。
我使用的是here找到的内核源,这是小米手机的官方内核。我找不到自定义 ROM 的确切内核源代码,但无论如何手机都能启动。
起初,我只为 NFS 编译了模块,但是在 sunrpc.ko 上使用 insmod 需要 __audit_inode_child,因此需要带有 CONFIG_AUDIT_SYSCALL=y 的新内核。我还决定内置所有 NFS 模块。
我对我的.config 进行了更改,并编译了整个内核
(除了设备树:CONFIG_BUILD_ARM64_DT_OVERLAY=n 因为编译错误)。
使用来自arch/arm64/boot/Image 的新内核,我从我的设备中解压boot.img 并换出内核并启动,/proc/filesystems 中列出了 NFS 支持。
但是,现在/vendor/lib/modules 中的所有模块都不起作用。这是意料之中的,它们不是针对这个新内核的源代码构建的。
尝试通过使用insmod 插入新编译的模块来解决此问题,例如disagrees about version of symbol module_layout。
这怎么可能?这些模块与正在运行的内核一起编译(相同的源代码)
【问题讨论】:
-
您确定它实际上尝试的是 new 模块而不是旧模块吗?
标签: android linux-kernel kernel linux-device-driver embedded-linux