Ubuntu10.10編譯安裝Linux核心

來源:互聯網
上載者:User
  Ubuntu編譯Linux核心過程

一、首先解決Ubuntu代理上網的問題

1、這種方法要用到/etc/apt/檔案夾下的apt.conf檔案。如果您希望apt-get(而不是其他應用程式)一直使用http代理,您可以使用這種方式。

注意:某些情況下,系統安裝過程中沒有建立apt設定檔。下面的操作將視情況修改現有的設定檔或者建立設定檔。

sudo gedit /etc/apt/apt.conf在您的apt.conf檔案中加入下面這行(根據你的實際情況替換yourproxyaddress和proxyport)。

Acquire::http::Proxy "http://yourproxyaddress:proxyport";儲存apt.conf檔案。

如果Proxy 伺服器需要登入,那麼可以在指定Proxy 伺服器地址的時候,用如下格式(根據情況把username,password, yourproxyaddress和proxyport替換為相應內容):

http_proxy=http://username:password@yourproxyaddress:proxyport

2、然後在新立得設定http代理,在系統--系統管理--新立得軟體包管理器--設定--喜好設定--網路裡也要設定http的代理

二、下載原始碼和編譯軟體的準備

下載核心原始碼:http://www.kernel.org/

注意,點擊2.6.39.3核心的F版,即完整版。

如果你懶得去網網站聯結,運行下列命令:

代碼:

$cd ~

$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2

安裝有關編譯器。安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯核心相關的工具。

安裝不了,請檢查/etc/apt/sources.list 檔案。

安裝所需工具包有關命令:

代碼:

$sudo apt-get install build-essential kernel-package  libncurses5-dev fakeroot

三、解壓原始碼

注意,網上很多教程上說應該解壓到 /usr/src,純屬以訛傳訛,linux掌門人linus說解壓到任何目錄上都可以。當然,linus的說法是正確的。先將壓縮包複製到usr/src目錄下,然後將壓縮包解壓到user/src目錄下。

如果壓縮包現在放在個人主目錄的案頭上,則運行下列命令:

代碼:

$sudo cp Desktop/linux-2.6.39.3.tar.bz2 /usr/src

 

$ cd  usr/src

$ tar jxvf linux-2.6.39.3.tar.bz2

現在,原始碼就在 usr/src/linux-2.6.39.3

進入原始碼的目錄,準備下一步的工作。後面都在這個目錄裡面進行。

代碼:

$ cd usr/src/linux-2.6.39.3

四、開始編譯前的準備工作。

首先,清理以前編譯時間留下的臨時檔案。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。

相關命令如下:

代碼:

$ sudo make mrproper

網上很多教程上說把現在使用的核心的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。

命令:

代碼:

cp /boot/config-2.6.35-22-generic ./.config

加紅部分視自己作業系統情況而定

五、開始配置核心選項。

相關命令:

代碼:

$sudo make menuconfig

我們選用的是圖形介面的配置,在配置選項的最下方有一個Load和Save選項,我們先將第四步複製過來的設定檔.config檔案Load進來,在Save就可以了。

六、開始編譯核心。

ubuntu的工具是make-kpkg,和其他的發行版相比,步驟相對簡單。

相關命令:

代碼:

$sudo make-kpkg clean   這條命令好像不要超級許可權,很多資料上說要,不過這不是原則問題。

$sudo make-kpkg --initrd --append-to-version=t61 kernel_image kernel-headers

上述命令中的t61可以用自己喜歡的字元代替,最後的字元一定是數字.

輸完上述命令斷行符號之前,建議大家把瀏覽器還有別的運用程式都關掉,機器開始的工作比較艱苦。

七、安裝核心

編譯完成就是安裝工作。編譯好的核心在上一層目錄。包括linux-headers-2.6.39.3t61_2.6.39.3t61-10.00.Custom_i386.deb和linux-image-2.6.39.3t61_2.6.39.3t61-10.00.Custom_i386.deb兩個檔案,如果你不搞開發的話,只要安裝核心就可以,標頭檔以後要用的時候再說。

安裝相關命令:

代碼:

$ cd ..

$ sudo dpkg -i   linux-image-(按tab鍵)

檔案名稱很長,如果不用tab自動補足是不可能的。

安裝完成後和老核心比較一下大小

代碼:

$ ls -l /boot/

八、重新啟動驗證新核心。

代碼:

$ sudo reboot

重啟後可以檢查新核心版本,命令如下:

$ uname -a

至此Linux核心的安裝編譯已經完成,以下幾個步驟是個人情況而定:

九、顯卡驅動

如果你的顯卡和我一樣是nvidia顯卡,啟動之後往往無法正常進入x-window。即使能看到gdm登入介面,效果也是很差的。

那麼就要安裝nvidia驅動。

用ctrl+alt+f1 進入字元命令列,輸入使用者名稱,密碼登入。

命令:

代碼:

下載驅動

$wget http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/NVIDIA-Linux-x86-173.14.12-pkg1.run

$sudo -s

輸入密碼取得超級許可權。

#ps ax

看看和gdm相關的進程,把這些進程全部關閉;用sudo /etc/init.d/gdm stop有可能有一個進程沒有關閉:

#kill 進程號

然後安裝nvidia顯卡驅動,當然驅動要先下好,到nvidia驅動所在的目錄裡,運行:

# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run

重新啟動以後就ok。要用nvidia的驅動,每次升級核心都要這麼做。

十、無線網卡

相關的核心選項是

Networking --->

Wireless --->

Generic IEEE 802.11 Networking Stack (mac80211)

還有4965的驅動。

4965 無線網卡驅動雖然已經編入核心,但沒有firmware無法使用。需要把原來核心的firmware拷貝到新核心對應的目錄,名字和核心一致,我的核心是 linux-image-2.6.25.10dell1400,那建的目錄名就是2.6.25.10dell1400。

代碼:

具體命令:

$ cd /lib/firmware/

$ sudo mkdir 2.6.25.10dell1400

把你的老核心中的4965的firmware拷貝過來。

$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/

上面的命令和下面的命令是等價的:

$ cd /lib/firmware/

$ sudo cp -R 2.6.24-16-generic/  2.6.25.10dell1400/

重新啟動系統,無線網卡就正常了。

 

複製命令:sudo cp Desktop/linux-2.6.39.3.tar.bz2 /usr/src

解壓命令:sudo tar jxvf FileName.tar.bz2

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.