編寫驅動程序時, 需要內核源碼樹的支持。內核源碼樹時從內核源代碼編譯得到的。下面開始構造內核源代碼的步驟。 以Ubuntu為例子
1. 下載內源代碼,位置www.kernel.org. (注意:源碼樹內核的版本要和驅動程序運行的目標平台的內核版本一致)
apt-cache search linux-source //搜索內核版本
apt-get install linux-source-2.6.22 //下載內核
tar xvf linux-source-2.6.20.tar.bz2 //解壓內核
2. 配置內核
進入解壓過的內核目錄,開始配置內核 選擇最快的原版的配置(默認)方式。
root@ www.linuxidc.com# make oldconfig
當然也可以使用其他配置方式,如 menuconfig, xconfig(必須有GTK環境)。反正不用剪裁什麼,所以不管那種方式能配置它就行了。
3. 編譯內核
如果你使用交叉編譯器,則需要修改Makefile。 開始編譯內核。(保證硬盤空間足夠)
root@ www.linuxidc.com# make
root@ www.linuxidc.com# make bzImage
當然,第一個make也可以不執行,直接make bzImage。執行結束後,可以看到在當前目錄下生成了一個新的文件: vmlinux, 其屬性為-rwxr-xr-x。
root@ www.linuxidc.com# make modules // 編譯模塊
root@ www.linuxidc.com# make modules_install // 安裝模塊
執行結束後,會在/lib/modules下生成新的目錄/lib/modules/2.6.22-14-generic/。 在編譯驅動模塊時,要用到這個路徑下的build目錄。
至此,內核編譯完成。可以重啟一下系統。