我正在尝试在我的小米Redmi Note 9S上使用NFS,它使用了一个名为Resurrection Remix OS的自定义ROM。我正在用一个新编译的、带有NFS内置的内核来替换我的旧内核。
我使用的是内核源码found 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
)来解决此问题。
这怎麽可能?这些模块是与运行的内核一起编译的(相同的源代码)
发布于 2021-05-04 15:50:45
在创建启动映像时一定是出了什么问题,很可能是复制了错误的内核(我下载并编译了多个内核源代码)。
我用新编译的内核映像重新打包了boot.img,不需要加载模块,/vendor/lib/modules
中的每个模块都是在引导时加载的。
https://stackoverflow.com/questions/67379955
复制相似问题