我有一個由核心選項 CONFIG_MODULE_COMPRESS_XZ 產生的核心模組。當我使用 unxz 手動解壓縮檔案並使用 xz 重新壓縮時,新的 .ko.xz 檔案與原始 .ko.xz 檔案僅存在 5 個位元組的不同。除此之外,產生的檔案是相同的、相同的長度等 - 請參閱隨附的 vbindiff 螢幕截圖。
兩個 .ko.xz 檔案上的 Modinfo 是相同的。然而 modprobe 拒絕載入重新壓縮的模組,並顯示「Exec 格式錯誤」。請問壓縮模組的正確方法是什麼,例如在編譯修改後的模組時(壓縮發生在 makemodules_install 中,在重新編譯單一模組時呼叫它是沒有意義的)。
多謝,
帕維爾. [1]:https://i.stack.imgur.com/pMRP3.png