ubuntu 12.04編譯安裝linux-3.6.10內(nèi)核筆記
前提:ubuntu 12.04 LTS x64用的內(nèi)核版本為3.5的,,同時(shí),我的電腦今天聲音總是沒有,,最后就想了想,,編譯內(nèi)核吧,都使用linux這么長(zhǎng)時(shí)間了,,怕啥呢,?由于不敢跨版本太多,最后就選了3.6.10的內(nèi)核,,并且下載了相應(yīng)的補(bǔ)丁. -------------------------------- 先構(gòu)建編譯環(huán)境,,下載編譯工具吧: sudo apt-get install libncurses-dev kernel-package bzip2 make ncurses-dev fakeroot module-init-tools patch diff sudo apt-get install libqt3-headers libqt3-mt-dev sudo apt-get install libqt3-compat-headers 從這里下載內(nèi)核以及對(duì)應(yīng)版本的補(bǔ)丁 linux-3.6.10.tar.gz patch-3.6.gz ftp://ftp.kernel.org/pub/linux/kernel/v3.x/ 這兩個(gè)文件下載后放入/usr/src目錄: sudo cp ~/Download/linux-3.6.10.tar.gz /usr/src sudo cp ~/Download/path-3.6.gz 解壓,并打補(bǔ)丁,,補(bǔ)丁可以通過不同方式制定,,那么打的時(shí)候就用不同的命令,一般常見的是 patch,,但自己今天這個(gè)是diff: cd /usr/src tar -xvf linux-3.6.10.tar.gz gzip -d patch-3.6.gz sudo cp patch-3.6 ./linux-3.6.10 cd linux-3.6.10 如果patch文件是patch做成的,,那么就相應(yīng)的用: patch -p1 < patch-3.6.patch 接下來(lái)就該配置內(nèi)核了,但是自己對(duì)于內(nèi)核配置可不是那么熟練什么的,,那就用原來(lái)系統(tǒng)中存在的配置文件吧,。原來(lái)系統(tǒng)中的配置文件,位置有兩種情況:一是放在/boot下面的,,一個(gè)是放在/usr/src/linux-xxx/下面的,,而我自己的就是放在/usr/src/linux-headers-3.5.32-xx/下面的 cp ../linux-headers-3.5.32-xxx/.config ./ 清理一下各種問題: make mrproper 開始配置,那么配置的時(shí)候先導(dǎo)入內(nèi)核中已經(jīng)存在的配置文件.config 也就是自己剛才從原系統(tǒng)拷貝過來(lái)的文件. make menuconfig ---------------------------- ps: load xxx 你的修改 save xxx 如果沒有修改的話,,就直接進(jìn)入load 當(dāng)前配置文件,,然后再保存推出,我自己在某些地方稍做修改了,就是聲卡驅(qū)動(dòng)上,。 接下來(lái)就是開始make了,,make的時(shí)候,默認(rèn)情況下是單線程編譯,,這個(gè)似乎有點(diǎn)慢,。如果自己的機(jī)器處理器還可以的話,想加快速度的話,,可以選在多線程,。我選的是4,然后1個(gè)小時(shí)左右吧,。以前曾經(jīng)試過16,,但我懷疑ubunut會(huì)不會(huì)因此而掛掉。我在13.04的時(shí)候有這個(gè)經(jīng)歷,。 make -j4 待結(jié)束后,,開始編譯模塊。有這么一個(gè)說(shuō)法,,可以在編譯內(nèi)核的時(shí)候,,同時(shí)編譯模塊,互相不影響,,這里自己由于心疼本本,,沒有試過。 make modules 安裝模塊 make modules_install 創(chuàng)建創(chuàng)建initrd 文件 mkinitramfs -o /boot/initrd.img-linux-3.6.10 安裝內(nèi)核 make install 按說(shuō),,這個(gè)時(shí)候,,內(nèi)核安裝完畢,grub2會(huì)自動(dòng)更新的,,如果不放心,,可以選擇: update-grub2 如果對(duì)grub熟悉的人就知道,會(huì)在開機(jī)的引導(dǎo)界面出現(xiàn)很多選項(xiàng)的,,這個(gè)時(shí)候有的同學(xué)就可能開始要去弄grub和刪除多余的內(nèi)核什么的,。其實(shí),這個(gè)時(shí)候最好不要去弄這個(gè),,應(yīng)該是先重啟一下機(jī)器,,看看內(nèi)核安裝的結(jié)構(gòu)如何,失敗沒,,一旦失敗了就可以從舊的內(nèi)核啟動(dòng),。 reboot // 如果沒有其它問題,那么就會(huì)在引導(dǎo)界面出現(xiàn)ubuntu 3.6.10的選項(xiàng)了 進(jìn)入系統(tǒng),首先刪除多余的內(nèi)核,。 按道理說(shuō),,在刪除舊的內(nèi)核時(shí),應(yīng)該不影響系統(tǒng)中軟件的存在,,但是今天自己在刪除的時(shí)候,,發(fā)現(xiàn)少量的軟件確實(shí)被刪除了,好像它們有什么依賴關(guān)系,,但影響不大,,可以忽略。 uname -r //保留你當(dāng)前所用的內(nèi)核 dpkg --get-selections|grep linux-header 注意刪除舊內(nèi)核的時(shí)候,,可別將當(dāng)前內(nèi)核也刪除了,。否則,你的系統(tǒng)就跪了,;如果你是在真機(jī)上的雙系統(tǒng)的話,,那估計(jì)你自己也就跪了。 刪除完畢后,,grub響應(yīng)一次吧,,其實(shí)沒必要。 update-grub2 然后就是開始修改grub的配置文件,,讓引導(dǎo)界面不是那么亂糟糟的,。說(shuō)是修改,也就只是注釋掉一些選項(xiàng),。它是用shell語(yǔ)言,,但和C語(yǔ)言相差無(wú)幾,同樣有函數(shù)和變量什么的,,仔細(xì)點(diǎn)就行,。個(gè)人不推薦直接刪除那些選項(xiàng)的原因是,一旦系統(tǒng)掛掉,,自己可以在引導(dǎo)界面進(jìn)入grub的配置文件,,打開ubuntu的救援模式或者其他的,然后就可以啟動(dòng),。 sudo vim /boot/grub/grub.conf 注意這個(gè)文件修改后,,需要強(qiáng)制保存。 一切OK后,,就再次重啟下吧~~ --- 另外自己因?yàn)橐幌侣曇舻膯栴},,于是按照谷妹的辦法: su passwd
xxx
xxx
su
xxx
xxx 這個(gè)上面就是說(shuō)切換到root的時(shí)候,第一次似乎都要先更新下root的密碼,,然后才可以登入 下面就是自己弄聲音的一個(gè)命令了 gnome-control-center sound 會(huì)彈出一個(gè)對(duì)話框,,里面有設(shè)備的,,調(diào)整下就OK了,我的筆記本聲音也就出來(lái)了 -------------------------------------------------------------------- 以上學(xué)習(xí)谷妹所提供的資料鏈接如下,,非常感謝這些人們的分享,。同時(shí),資料里也寫的非常詳盡了,。 http://www.linuxidc.com/Linux/2012-03/57303.htm //內(nèi)核編譯 http://qing.blog.sina.com.cn/tj/9c5a7cf5330020uz.html//內(nèi)核編譯 http://forum.ubuntu.org.cn/viewtopic.php?t=23255//內(nèi)核刪除 http://forum.ubuntu.org.cn/viewtopic.php?f=49&t=363069//聲音問題
over |
|
來(lái)自: A_Geek > 《linux內(nèi)核》