ubuntu12.04編譯安裝kernel3.7.1教程
本學期幾乎沒怎麼折騰Linux,除了在虛擬機上裝了Gentoo。眼看馬上就要放假了,自己的筆記本還是亂七八糟的,根本不能用(筆記本純粹使用來嘗試各種Linux的),這個可不行,沒法編程了。之前看到Chakra Linux,感覺很是絢麗,遂安裝著試了下,它竟然把GTK剔除了,純QT,這個倒是沒什麼,我並不關注圖形界面,同時對於GTK和QT沒有任何偏見,但是你好歹得解決輸入法的問題吧,安裝了chromium後竟然沒有辦法使用fcitx,網上根本沒有相關文檔。 www.2cto.com
好吧,果斷放棄,但是裝什麼好呢?本人還是很喜歡滾動升級的,但是Arch升級容易崩,Gentoo實在是太耗時間,而且我也不想一直開j8編譯。ubuntu搭建開發平台倒是很快捷,但是軟件包都不是很新,尤其是內核(我之前一直使用fedora,大家懂的)。正好嘗試下自己編譯內核玩玩(上一次編譯內核應該是在CentOS6.2下)。
開始教程之前,我先申明,安裝內核風險很大,如果你沒有做好重裝系統的准備,請不要繼續往下看了。 www.2cto.com
首先和大家說明下我的電腦的配置,如果有幸一樣的話,那麼你可以放心的安裝,基本無問題。
宏基4750g,i7-2630,金士頓8G內存,沒有開獨立顯卡,希捷混合硬盤500g,分了一個分區ext4(/dev/sda1),沒有分配swap分區。
以下均需root權限
1.下載linux-3.7.1.bz2,這個自己去www.kernel.org下,或者wget也行。
2.將linux-3.7.1.bz2,cp至/usr/src,然後bzip2 -d linux-3.7.1.tar.bz2,tar -xvf linux-3.7.1.tar
3.apt-get install build-essential libncurses5-dev libncurses5,這個和之後的make menuconfig有關,我的電腦裡僅僅安裝了libncurses5,沒有另外兩個包,大家根據情況而定吧。
4.cd /usr/src/linux-3.7.1
5.cp ../linux-headers-3.20.35-generic/.config . 這一步大家看情況而定吧,我之前剛剛將內核升級至3.2.0-35,同時將原來的.config拷貝過來也只是為了保險,畢竟應該沒有人喜歡一直重裝系統的。
6.make menuconfig 這裡的配置大家最好去wiki上搜一下,內容很多,我不一一描述了,如果懶地看,就直接默認配置就行了。
7.apt-get install kernel-package
8.make-kpkg --initrd --append-to-version -01 kernel_image kernel_headers -jN 請大家注意,其中-01只是一個擴展號,沒什麼影響的,我這裡編譯出來的內核就是kernel-3.7.1-01,至於-jN,這裡的N便是編譯使用的線程數量,由於我是4核8線程,因此N=8,大家自己根據配置而定,接下來就是一個漫長的等待了,我大概編譯了19分鐘左右,另外請做好散熱准備,避免因為過熱關機。
9.如果編譯過程沒有出錯,那麼恭喜,內核編譯部分完成了,接下來是安裝,在/usr/src下我們將會看到兩個deb文件,其中一個是內核文件,一個是頭文件,大家直接dpkg -i安裝就好了,接下來shutdown -r now。 good luck!
如果能夠合理配置.config文件,電腦的性能會有比較大的提升,但是請做足功課,免得崩了。
kernel-3.7.1帶來了什麼還沒測試,希望功耗有所改善吧。。。