(1)今天第乙個遇到的比較棘手的問題就是編譯模組wr_thread
warning: "mcount" [/home/ams/music/test/kernel_test/wr_thread/wr_thread.ko]
解決的方法是公升級了gcc 從gcc4.4 公升級到gcc4.8
用的方法是
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 255
update-alternatives --config gcc
(2)遇到的第二個問題是載入wr_thread.ko模組
insmod: error: could not insert module wr_thread.ko: invalid module format
發現時於編譯module用的核心於當前ubuntu的核心版本不一致,當前版本是3.13 ,編譯時用的 是3.16,然後重新安裝3.16的核心,進入3.16的核心目錄
make
make modules
make modules_install
make install
然後重新啟動電腦,用uname -r 發現當前核心版本變為3.16
(3)遇到的第三個問題是載入wr_thread.ko時;
用dmesg命令發現:
wr_thread: module verification failed: signature and/or required key missing
解決的辦法是加上核心簽名;
# ../../linux-stable/scripts/sign-file sha512 ../../linux-stable/signing_key.priv ../../linux-stable/signing_key.x509 wr_thread.ko
Linux核心學習
交叉工具鏈 核心相關知識 linux系統的構成 使用者空間 核心空間 思考 為什麼劃分為兩個層次?目的其實是為保護作業系統,防止應用程式的異常導致作業系統崩潰。核心空間與使用者空間是程式執行的兩種不同狀態,通過系統呼叫和硬體中斷能夠完成從使用者空間到核心空間的轉移。那麼linux的核心由哪些構成呢?...
linux 核心學習
linux核心獲取 官網 linux作業系統的核心是模組化,可以使用lsmod命令檢視核心模組,下面展示已載入系統的模組 root 172.16.0.55 vendor composer test lsmod module size used by nfnetlink queue 8111 0 nf...
linux 核心學習(2)
linux核心原始碼樹大體結構 由於linux的原 持續在變化,所以不可能給出太詳細的內容,只能指出乙個特殊的驅動大概會出現在什麼地方。makefile 這是整個的原始碼樹的最頂層的makefile。它定義了很多的有用的變數和規則,如預設的gcc編譯標誌。arch 所有的特殊的體系結構的 都在這個目...