撥開烏云見天日驅動開發(fā)之Ubuntu12.04驅動開發(fā)
相信很多人都是按照很多之前的教程進行l(wèi)inux驅動的開發(fā)學習,常用的有federal、centos等等?,F在ubuntu系統(tǒng)已經很流行,并且還經常維護更新,很多開發(fā)板都開始使用ubuntu系統(tǒng)作為宿主機進行開發(fā),現在以ubuntu系統(tǒng)為宿主機進行l(wèi)inux驅動的開發(fā)。為了方便廣大壇友,少走彎路,我現在分享下我的安裝過程和一些注意事項,希望對大家有所幫助。
本文引用地址:http://2s4d.com/article/264572.htm我用XP+VMware+ubuntu12.04進行系統(tǒng)的安裝,內存1G,硬盤大小20G(保證系統(tǒng)的運行和源碼編譯時空間足夠用)。
使用的是12.04LTs系統(tǒng)信息,如下:
在開發(fā)之前,先查看自己linux使用的內核版本
由于ubuntu系統(tǒng)沒有源碼,在驅動開發(fā)之前需要進行下載,下載解壓之后會在src下有以下文件夾:
如果沒有下載源碼,只有前兩個文件夾,關于 linux-source-3.2.0的下載,看下文:
首先進行源碼文件的查找,查看那個和你使用的版本相同。本系統(tǒng)使用的3.2.0,
所以我選擇了我選擇了 linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches
然后 install :
mjl@mjl-machine:/usr/src$ sudo apt-get install linux-source-3.2.0
下載完成后,在/usr/src下,文件名為:linux-source-2.6.22.tar.bz2,是一個壓縮包,解壓縮既可以得到整個內核的源代碼:
mjl@mjl-machine:/usr/src $ sudo tar –jxvf linux-source-2.6.20.tar.bz2
解壓后生成一個新的目錄/usr/src/linux-source-2.6.22,所有的源代碼都在該目錄下。
進入該目錄開始配置內核 選擇最快的原版的配置(默認)方式 (我是如此)
mjl@mjl-machine:/usr/src/linux-source-2.6.22$ sudo make oldconfig內容都沒有修改,直接開始make 。 這兒比較久,我是晚上下班之后電腦沒有關機直接運行,正好第二天來可以繼續(xù)干活。
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ $ sudo make
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ $ sudo make bzImage
當然,第一個make也可以不執(zhí)行,直接make bzImage。執(zhí)行結束后,可以看到在當前目錄下生成了一個新的文件: vmlinux, 其屬性為-rwxr-xr-x。
然后編譯模塊和安裝模塊 :
mjl@mjl-machine:/usr/src/linux-source-3.2.0$sudo make modules /* 編譯 模塊 */
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ sudo make modules_install /* 安裝 模塊 */
執(zhí)行結束之后,會在/lib/modules下生成新的目錄/lib/modules/3.2.0-23-generic-pae。
在隨后的編譯模塊文件時,要用到這個路徑下的build目錄。至此,內核編譯完成。可以重啟一下系統(tǒng)。
linux相關文章:linux教程
評論