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