对于手机来说,很少有模块是专有的,并且没有在 GPL 下获得许可,并且内核源代码没有提供它们的源代码。所以我的问题是当我添加自定义内核名称或添加上游补丁时,内核的版本魔法发生了变化,它与专有模块的不匹配,并且这些模块的版本魔法不匹配,它们不匹配加载。
那么除了手动保留内核的vermagic和模块的vermagic之外,还有什么解决方法吗?该模块当然与内核兼容,因为它意味着它,只是这种vermagic不匹配导致问题
也没有办法为 Android 内核强制加载模块。你们中的任何人都有解决方案吗?
对于手机来说,很少有模块是专有的,并且没有在 GPL 下获得许可,并且内核源代码没有提供它们的源代码。所以我的问题是当我添加自定义内核名称或添加上游补丁时,内核的版本魔法发生了变化,它与专有模块的不匹配,并且这些模块的版本魔法不匹配,它们不匹配加载。
那么除了手动保留内核的vermagic和模块的vermagic之外,还有什么解决方法吗?该模块当然与内核兼容,因为它意味着它,只是这种vermagic不匹配导致问题
也没有办法为 Android 内核强制加载模块。你们中的任何人都有解决方案吗?
您应该避免将模块加载到具有不同版本魔法字符串的内核中。
该模块可能具有与其他内核资源/模块的内部内核接口,这些接口可能会因不同的内核版本而中断。这真的会破坏你的系统/内核。
如果您想冒险,请使用尽可能接近您的模块版本的内核版本并加载您的模块:
modprobe -f module-name
-f将绕过 vermagic 检查。
您可以在模块信息部分更改 vermagic 变量。您需要一个十六进制编辑器或此软件,并且新版本字符串小于或等于最旧的字符串。