(2)然後在linux核心原始碼目錄/usr/src/linux-source-2.6.32目錄下面用老的方法配置好linux核心:
root@jiq-desktop:/usr/src/linux-source-2.6.32#make oldconfig
(3)然後執行:
root@jiq-desktop:/usr/src/linux-source-2.6.32#make bzimage
這個過程大概需要乙個小時左右。。。執行完成後會在當前目錄下面生成乙個檔案vmlinux.o
(4)然後編譯模組:
root@jiq-desktop:/usr/src/linux-source-2.6.32#make modules
這個過程又是大概乙個小時。。。
(5)然後便可以安裝模組了:
root@jiq-desktop:/usr/src/linux-source-2.6.32#make modules_install
這個過程大概兩分鐘:
以上步驟完成以後,會在/lib/modules目錄下面生成乙個資料夾linux-2.6.32-24-generic,至此你差不多已經成了,因為你已經構造好了核心樹!!!
下面開始在自己的工程資料夾下面建立兩個檔案:
hello.c(不用說了)
makefile(它需要能夠找到核心樹,然後將目標模組鏈結上去):
注意裡面各種變數的顏色額~有興趣的讀者可以自己去研究一下這個檔案,裡面唯一和hello.c相關的部分就是
obj-m := hello.o 那一行了!第5行表明了核心樹build目錄的位置。
下面在當前目錄下面執行
root@jiq-desktop:/usr/jiq/driverproject#make
生成以下檔案
然後利用insmod命令將模組插入到核心樹 中:
root@jiq-desktop:/usr/jiq/driverproject#insmod ./hello.ko
模組裝載觸發hello.c的init()方法,輸出hello world,如果沒有的話,是因為其將輸出放到/var/log/syslog中去了。開啟便可以看見你的結果!
解除安裝目標模組命令是:
root@jiq-desktop:/usr/jiq/driverproject#rmmod ./hello.ko
至此你已經成功邁出了linux驅動開發的第一步~
Linux驅動開發環境配置 核心原始碼樹構造
2 然後在linux核心原始碼目錄 usr src linux source 2.6.32目錄下面用老的方法配置好linux核心 root jiq desktop usr src linux source 2.6.32 make oldconfig 3 然後執行 root jiq desktop u...
linux 驅動開發環境配置 核心原始碼樹構造
linux驅動開發環境配置 核心原始碼樹構造 初次接觸linux驅動程式開發,買了一本 linux裝置驅動程式 第一件事當然就是構建開發環境了!它上面有乙個hello world的列子 include include module license dual bsd gpl static int he...
Linux驅動開發環境配置 核心原始碼樹構造
root jiq desktop apt cache search linux source root jiq desktop apt get install linux source 2.6.22 命令解壓即可獲得linux核心的源 root jiq desktop usr src tar jxv...