ubuntu 12.04編譯安裝linux-3.6.10內核筆記


前提:ubuntu 12.04 LTS x64用的內核版本為3.5的,同時,我的電腦今天聲音總是沒有,最后就想了想,編譯內核吧,都使用linux這么長時間了,怕啥呢?由於不敢跨版本太多,最后就選了3.6.10的內核,並且下載了相應的補丁.

--------------------------------

 

下文寫的有一些混亂,有些地方有錯誤,現已經在另外一個地方進行了修正。下面是鏈接:

-----------------------------------------------------------

對<< ubuntu 12.04編譯安裝linux-3.6.10內核筆記>>的修正

2013/08/25  修

-----------------------------------------------------------

先構建編譯環境,下載編譯工具吧:

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

從這里下載內核以及對應版本的補丁

linux-3.6.10.tar.gz

patch-3.6.gz

ftp://ftp.kernel.org/pub/linux/kernel/v3.x/

這兩個文件下載后放入/usr/src目錄:

sudo cp ~/Download/linux-3.6.10.tar.gz /usr/src
sudo cp ~/Download/path-3.6.gz

解壓,並打補丁,補丁可以通過不同方式制定,那么打的時候就用不同的命令,一般常見的是 patch,但自己今天這個是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
file patch-3.6
sudo diff -rN patch-3.6 ./

如果patch文件是patch做成的,那么就相應的用:

patch -p1 < patch-3.6.patch

接下來就該配置內核了,但是自己對於內核配置可不是那么熟練什么的,那就用原來系統中存在的配置文件吧。原來系統中的配置文件,位置有兩種情況:一是放在/boot下面的,一個是放在/usr/src/linux-xxx/下面的,而我自己的就是放在/usr/src/linux-headers-3.5.32-xx/下面的

cp ../linux-headers-3.5.32-xxx/.config  ./

清理一下各種問題:

make mrproper

開始配置,那么配置的時候先導入內核中已經存在的配置文件.config   也就是自己剛才從原系統拷貝過來的文件.

make menuconfig 
----------------------------
ps:
load xxx
你的修改
save xxx

如果沒有修改的話,就直接進入load 當前配置文件,然后再保存推出,我自己在某些地方稍做修改了,就是聲卡驅動上。

接下來就是開始make了,make的時候,默認情況下是單線程編譯,這個似乎有點慢。如果自己的機器處理器還可以的話,想加快速度的話,可以選在多線程。我選的是4,然后1個小時左右吧。以前曾經試過16,但我懷疑ubunut會不會因此而掛掉。我在13.04的時候有這個經歷。

make  -j4

待結束后,開始編譯模塊。有這么一個說法,可以在編譯內核的時候,同時編譯模塊,互相不影響,這里自己由於心疼本本,沒有試過。

make modules

安裝模塊

make modules_install

創建創建initrd 文件

mkinitramfs -o /boot/initrd.img-linux-3.6.10

安裝內核

make install 

按說,這個時候,內核安裝完畢,grub2會自動更新的,如果不放心,可以選擇:

update-grub2

如果對grub熟悉的人就知道,會在開機的引導界面出現很多選項的,這個時候有的同學就可能開始要去弄grub和刪除多余的內核什么的。其實,這個時候最好不要去弄這個,應該是先重啟一下機器,看看內核安裝的結構如何,失敗沒,一旦失敗了就可以從舊的內核啟動。

reboot
//

如果沒有其它問題,那么就會在引導界面出現ubuntu 3.6.10的選項了
<當然,這個引導界面可不是自己想要的,可能需要自己美化一下>

進入系統,首先刪除多余的內核。

按道理說,在刪除舊的內核時,應該不影響系統中軟件的存在,但是今天自己在刪除的時候,發現少量的軟件確實被刪除了,好像它們有什么依賴關系,但影響不大,可以忽略。

uname -r  //保留你當前所用的內核
dpkg --get-selections|grep linux-header
apt-get remove xxxxx

注意刪除舊內核的時候,可別將當前內核也刪除了。否則,你的系統就跪了;如果你是在真機上的雙系統的話,那估計你自己也就跪了。

刪除完畢后,grub響應一次吧,其實沒必要。

update-grub2

然后就是開始修改grub的配置文件,讓引導界面不是那么亂糟糟的。說是修改,也就只是注釋掉一些選項。它是用shell語言,但和C語言相差無幾,同樣有函數和變量什么的,仔細點就行。個人不推薦直接刪除那些選項的原因是,一旦系統掛掉,自己可以在引導界面進入grub的配置文件,打開ubuntu的救援模式或者其他的,然后就可以啟動。

sudo vim /boot/grub/grub.conf

注意這個文件修改后,需要強制保存。

一切OK后,就再次重啟下吧~~

---

另外自己因為要弄一下聲音的問題,於是按照谷妹的辦法:

su passwd
xxx
xxx
su
xxx
xxx

這個上面就是說切換到root的時候,第一次似乎都要先更新下root的密碼,然后才可以登入

下面就是自己弄聲音的一個命令了

gnome-control-center sound

會彈出一個對話框,里面有設備的,調整下就OK了,我的筆記本聲音也就出來了

--------------------------------------------------------------------

以上學習谷妹所提供的資料鏈接如下,非常感謝這些人們的分享。同時,資料里也寫的非常詳盡了。

http://www.linuxidc.com/Linux/2012-03/57303.htm //內核編譯
http://qing.blog.sina.com.cn/tj/9c5a7cf5330020uz.html//內核編譯
http://forum.ubuntu.org.cn/viewtopic.php?t=23255//內核刪除
http://forum.ubuntu.org.cn/viewtopic.php?f=49&t=363069//聲音問題

 

over

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM