製作『驅動程式模組』時,偶而會出現掛載失敗的情況。『驅動模組』掛載失敗時,錯誤訊息不一定會看得到或容易被忽略,較明顯、可察覺的現像就是:原先可以使用的週邊設備(上例中為:無線網路及 RAID 硬碟組)變成不可用。
原因是『驅動模組』編譯時,編譯程式 (GCC) 在編譯時為加快編譯速度,先忽略已編譯妥的模組,當「Linux 核心版本」編號變化較小時,被誤判為不需再編譯。有時這個誤判造成編譯後的『驅動模組』不能在新的「Linux 核心」掛載。
解決辦法也很簡單,在前文的步驟中加個命令即可:
- 在『make …』這個編譯命令前,暫停一下。
- 先下清除編譯中間暫存檔的命令『make clean』,
- 再下原有的『make …』編譯命令及之後的命令。
已測試版本:
- Fedora: 20, 21
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)