【轉載備用】Linux核心編譯

來源:互聯網
上載者:User

【轉載備用】源檔案地址:http://www.kerneltravel.net/?p=72

 

 

第一步安裝必要的工具

首先要安裝必要的包。 
包有:libncurses5-dev(menuconfig需要的)和essential
sudo apt-get install build-essential kernel-package
sudo apt-get install make
sudo apt-get install gcc
另外,查看系統是否有這樣的兩個命令 
mkinitramfs mkisofs
這兩個工具在編譯核心時用來產生 *.img檔案的。如果沒有就需安裝。

第二步 下載核心

到www.kernel.org下載新核心到/usr/src 
我下載的是linux-2.6.24.tar.gz(原來的核心是2.6.20-15-generic)

第三步 編譯前的準備

察看當前核心的版本 
helight@helight-desktop:/$ uname -a

Linux helight-desktop 2.6.20-15-generic #1 SMP Mon Aug 25 17:32:09 UTC 2008 i686 GNU/Linux

helight@helight-desktop:/$

 

建議最好下載比當前已安裝版本高的核心

解壓linux-2.6.24.tar.gz到linux-2.6.24
cd /usr/src

sudo tar zxvf linux-2.6.24.tar

cd linux-2.6.24/


第四步 開始編譯

cd /usr/src/linux-2.6.24 //以下所有的工作都在/usr/src/linux-2.6.24下完成
sudo make menuconfig  //用menuconfig的話還需要Ncurses,或者用
sudo make xconfig

sudo make menuconfig  //一般是用menuconfig

 

配置完以後儲存(系統中儲存的一份核心設定檔是在/usr/src/linux-2.6.24下名為.config,你也可以自己在別的地方另存一份)
也可以cp原來在/boot目錄下的config-2.6.xx 到目前的目錄下,在make menuconfig是使用這個設定檔。
sudo make dep    //也許系統會提示現在不必要進行make dep,那就下一步 2.6.24的我編譯就沒有使用過。
sudo make clean //清除舊資料 ,新解壓的核心源碼就不需要這一步了

sudo make –j2 可以分兩個線程來進行編譯工作,不過我用make –j4 卻發現系統有9個make進程在工作。所以這個參數未必起作用。
sudo make bzImage //編譯核心,將儲存到/usr/src/linux-2.6.24/arch/i386/boot/下
sudo make modules //編譯模組
sudo make modules_install //安裝模組
sudo mkinitramfs -o /boot/initrd-2.6.24.img 2.6.24

此時可能提示找不到這樣的一個檔案夾“/lib/firmware/2.6.24”,你需要手工建立一個這樣的檔案夾。

sudo mkdir /lib/firmware/2.6.24
sudo make install //安裝核心

安裝完後/boot下將增加以下幾個檔案(用ls -l *24*查看)

helight@helight-desktop:/boot$ ls -l *24*

-rw-r–r– 1 root root    85203 2008-03-14 22:24 config-2.6.24

-rw-r–r– 1 root root    85203 2008-03-14 20:23 config-2.6.24.old

-rw-r–r– 1 root root 37968871 2008-03-15 08:31 initrd-2.6.24.img

-rw-r–r– 1 root root  4014080 2008-03-14 22:24 initrd.img-2.6.24

-rw-r–r– 1 root root   932315 2008-03-14 22:24 System.map-2.6.24

-rw-r–r– 1 root root   932315 2008-03-14 20:23 System.map-2.6.24.old

-rw-r–r– 1 root root  1858864 2008-03-14 22:24 vmlinuz-2.6.24

-rw-r–r– 1 root root  1858864 2008-03-14 20:23 vmlinuz-2.6.24.old

helight@helight-desktop:/boot$

給/boot/grub/menu.lst中添加一個新的啟動項,如我的menu.lst增加了如下一段文字

title            Ubuntu, kernel 2.6.24

root            (hd0,0)

kernel          /boot/vmlinuz-2.6.24root=UUID=d7e2cf74-ebf5-4c78-ac2c-9f85a9809eae ro

initrd          /boot/initrd-2.6.24.img


從新啟動即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.