2016-01-22 108 views
0

我遇到了RH7內核的問題。我們運行的是基於RH6/Centos6的系統 - 我們通常編譯一次內核模塊(Centos6.6),我們可以將內核模塊安裝在同一系列的另一個Centos內核上(比如Centos6.4)。不同內核補丁之間的Linux內核模塊

使用Centos7(3.10內核)我無法使用3.10.0-329(Centos7.2)內核構建內核模塊,並在內核版本3.10.0-227(Centos7.1)上安裝 - insmod返回無效格式。

任何人遇到類似的問題 - 是否有任何解決方法。 感謝

- 吉米

+0

爲一個內核構建的模塊不適用於另一個內核是正常的,請參閱[這個問題](http://stackoverflow.com/questions/10861872/building-kernel-modules-for-linux-differnet-version)。 'insmod'對加載不合適的模塊有一定的保護作用,並且通常黑客檢查並不是一個好主意。您必須爲您想要使用它的每個內核構建模塊。如果您可以提供模塊的源代碼,那麼您可以使用'dkms'來自動構建並在目標計算機上爲每個需要的內核安裝它們。 – Tsyvarev

+0

感謝您的評論。問題是我無法分配模塊的所有來源。我正在考慮dkms選項。但編譯我的模塊部分和編譯部分驅動程序將包括模塊的其餘部分。甚至不確定這是否可能。 –

+0

可能需要一個* binary blob * - 作爲模塊一部分的現成目標文件。查看[內核文檔](https://www.kernel.org/doc/Documentation/kbuild/modules.txt)瞭解如何構建使用二進制blob的模塊。 – Tsyvarev

回答

0

也許,你想有一個二進制BLOB - 現成的對象文件,該文件是模塊的一部分。瞭解如何構建使用二進制blob的模塊,請查看kernel documentation。 - Tsyvarev