我有一个由内核选项 CONFIG_MODULE_COMPRESS_XZ 生成的内核模块。当我手动使用 unxz 解压文件并使用 xz 重新压缩时,新的 .ko.xz 文件与原始 .ko.xz 仅在 5 个字节上不同。除此之外,生成的文件完全相同,长度相同等 - 请参阅随附的 vbindiff 屏幕截图。
两个 .ko.xz 文件的 Modinfo 相同。但 modprobe 拒绝加载重新压缩的模块,并显示“Exec 格式错误”。请问压缩模块的正确方法是什么,例如在编译修改后的模块时(压缩发生在 make modules_install 中,在重新编译单个模块时调用它毫无意义)。
多谢,