簡體   English   中英

為不同的內核編譯內核模塊

[英]Compile Kernel Module for different Kernel

我正在使用嵌入式linux系統,該系統也沒有內核源或標頭。 我也不能簡單地使用另一個內核。

但是我得到了另一個內核版本的內核源代碼,並且可以為該內核編譯該模塊。 但是我無法在目標系統上加載該模塊,因為dmesg在說“版本魔術”

所以,我能以某種方式使模塊引用另一個內核嗎? 在哪里讀取有關內核版本的信息?

我的目標系統的內核版本為“ 3.18.11-tegra”,內核源代碼為3.18.19 ..

當然,只有在兩個內核版本均未更改該模塊的情況下,您的計划才能成功(通常是這種情況)。 那么您可以在3.18.19內核源代碼的頂級Makefile中植入SUBLEVEL = 11

前段時間在不同的系統上做了同樣的事情,您將需要使用其配置下載並編譯3.18.11內核。 轉到https://www.kernel.org/pub/linux/kernel/並下載3.18.11將內核解壓縮到/usr/src/linux-3.18.11,將其cd壓縮到其中,然后復制當前配置

make mrproper zcat /proc/config.gz >.config make oldconfig make

編譯內核后,需要在/ usr / src下創建2個符號鏈接

ln -s linux-3.18.11 linux-3.18.11-tegra ln -s linux-3.18.11 linux

現在,您應該可以使用以下命令編譯模塊了:

make -C /lib/modules/$(uname -r)/build M=$(pwd) module

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM