Debian

如何建構特定的核心模組?

  • July 11, 2019

我從官方 Linux 核心儲存庫 ( http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.bz2 ) 安裝了一個核心源,並使用一些需要的選項重新編譯它以支持移動性 IPv6。當我需要一個模組來加密一些數據時,我在其他已經建構的模組中找不到它。我需要的模組是:“echainiv”和“authenc”。

第一步是確定需要設置哪些配置選項才能建構模組。我用

make menuconfig

為了那個原因; /後面跟著你想要的配置選項會告訴你在哪裡可以找到它以及它的依賴項是什麼。對於ECHAINIV,您需要啟用CRYPTO然後啟用ECHAINIV(作為一個模組,因為這就是您所追求的 - 在 中make menuconfig,條目必須顯示<M>,而不是<*>)。

要建構模組,請查找包含相應原始碼的目錄:

find . -name echainiv\*

程式碼存在crypto,所以

make crypto/echainiv.ko

(來自頂級目錄)將為您建構模組。

要安裝模組,假設您正在執行目標核心,請執行

sudo mkdir -p /lib/modules/$(uname -r)/kernel/crypto
sudo cp -i crypto/echainiv.ko /lib/modules/$(uname -r)/kernel/crypto

引用自:https://unix.stackexchange.com/questions/529516