Ubuntu12.04建立內(nèi)核樹實(shí)現(xiàn)過程詳解
先查看自己使用的內(nèi)核版本
lin@lin-virtual-machine:~$ uname -r
3.2.0-23-generic
如果安裝系統(tǒng)時(shí),自動(dòng)安裝了源碼。在 /usr/src 目錄下有對(duì)應(yīng)的使用的版本目錄。
lin@lin-virtual-machine:~$ cd /usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-headers-3.2.0-23-generic
查看一下可一下載的源碼包
lin@lin-virtual-machine:/usr/src$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches
我這里選擇所以“l(fā)inux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches”直接 install
lin@lin-virtual-machine:/usr/src$ sudo apt-get install linux-source-3.2.0
下載完成后,在/usr/src下,文件名為:linux-source-3.2.0.tar.bz2,是一個(gè)壓縮包,解壓縮既可以得到整個(gè)內(nèi)核的源代碼。
使用pwd來查看當(dāng)前路徑
ls來查看文件夾中有哪些文件
lin@lin-virtual-machine:/usr/src$ pwd
/usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-source-3.2.0
linux-headers-3.2.0-23-generic linux-source-3.2.0.tar.bz2
解壓縮
lin@lin-virtual-machine:/usr/src#sudo tar jxvf linux-source-3.2.0.tar.bz2
進(jìn)入該目錄(cd linux-source-3.2.0)
lin@lin-virtual-machine:/usr/src$ cd linux-source-3.2.0/
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ pwd
/usr/src/linux-source-3.2.0
開始配置內(nèi)核 選擇最快的原版的配置(默認(rèn))方式
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make oldconfig
make需要等一個(gè)小時(shí)多。。。
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make
數(shù)小時(shí)后
...System is 4826 kB CRC d5a51584 Kernel: arch/x86/boot/bzImage is ready (#1) Building modules, stage 2. MODPOST 3304 modules ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined! WARNING: modpost: Found 4 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2
解決方法:來自http://ubuntuforums.org/showthread.php?t=1931029
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo gedit .config
估計(jì)是RTS5139驅(qū)動(dòng)的問題.反正沒有使用這個(gè)驅(qū)動(dòng),不要加入編譯, 編輯.config, 將
CONFIG_RTS5139=m
修改成如下的形式:
CONFIG_RTS5139=n
繼續(xù)make
編譯壓縮形式的內(nèi)核
make bzImage
編譯模塊:
make modules
安裝模塊:
make modules_install
執(zhí)行結(jié)束之后,會(huì)在/lib/modules下生成新的目錄
lin@lin-virtual-machine:/lib/modules$ ls
3.2.0-23-generic 3.2.79
成功后重啟。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。