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