1. 程式人生 > >Required key not available 的原因和處理

Required key not available 的原因和處理

我們在日常除錯工作中,尤其在產線除錯時,常常會替換某個模組或者單編相關的image(如bootimg、包含模組的systemimg或vendorimg)。這時,很有可能會遇到一個問題:驅動載入失敗,列印log會看到“Required key not available”。

這是核心模組與驅動的簽名不匹配導致的。核心從3.7後開始支援模組簽名,該功能使能以後,核心只允許載入特定的key簽名的模組。 如果單獨push某一模組進去或單獨燒寫某一個映象,就可能出現簽名不匹配導致模組載入失敗的問題。

為了便於除錯,可以通過如下方法規避該問題:

1. 編譯bootimg,同時,編譯對應模組驅動

2. 使用編譯出來的unsigned驅動替換裝置中的驅動, 比如wifi驅動:/out/target/product/{platform}/obj/vendor/wlan/wlan.ko.unsigned


3. 關閉模組簽名。編譯核心時,將config_module_sig配置成no

4. 關閉簽名驗證。make menuconfig -> Enable loadable module support -> 關Module signature verification & Automatically sign all modules