如何編譯linux核心? 相信你會得到很多種不同的答案,而我在寫此文章之前,總是獲得一些編譯錯誤的結果。
1. linux系統編譯核心的通用方法
核心**中的readme檔案對編譯過程有非常 詳細介紹,下而介紹的方法是linux核心通用的編譯方法,它是makefile檔案已定義好的編譯過程。
wget
2) 解壓,並把它放到/usr/src/目錄下
gzip -d linux-2.6.28.1.tar.gz
tar -xvf linux-2.6.28.1.tar
mv -rf linux-2.6.28.1 /usr/src
3) 在/usr/src/建立乙個軟鏈結到linux-2.6.28.1目錄
cd /usr/src
ln -s linux-2.6.28.1 linux
4) 清理源**(如果是之前已生成一些中間檔案可執行此命令,否則不必了)
make mrproper
5) 生成config檔案
cp /boot/config-`uname -r` ./.config
make menuconfig
在make menuconfig的配置介面中,先選擇load config file, 把該才拷貝的檔案載入進來再進行修改,修改完成後,直接選exit,然後在提示中選擇保當前配置檔案。
6) 編譯
make
7) 安裝模組
make modules_install
該命令會把模組及相關檔案放到目錄/lib/modules/2.6.18.1/下,並不會與當前核心產生衝突,除非核心版本是一樣的。
8)安裝核心
make install
該命令會把核心相關檔案(bzimage, initrd.img,system.map .config)放到/boot/目錄下,檔名均帶有核心版本名,與其它版本相關區別。
如果系統安裝了lilo,它會自己把該核心的啟動加進來。如果是grub程式,那要看情況而定。我在fodera系統中,它會自動新增該啟動項到/boot/grup/menu.lst檔案中,而在ubuntu中則不會,需要手動新增。新增完也,即可重啟進行新核心。
2. ubuntu核心編譯方法。
上面介如的通常方法適合於所有的linux系統,ubuntu也不例外。ubuntu同樣提供了編譯核心的方法。而且方法非常簡單,把上述第6)和7)步換成下面這一命令即可。
該命運行完畢後,生成兩個deb包,其它乙個是核心和模組的包;另乙個是標頭檔案的deb包。如果不需要,可在命令列上把kernel_header去掉。
安裝核心變異常簡單,只需安裝乙個生成的核心映象的deb包。使用如下命令:
dpkg - i linux-image-2.6.28.1_2.6.28.1-10.00.custom_i386.deb
安裝完後,所有的事情也就完成了,連/boot/grub/menu.lst的啟動選單項都修改好了,你所要做的事情就是重啟系統而已。
使用這種方法的好處是不言而喻的:你只需要在一台ubuntu上編譯好乙個較新的核心,就可以在整個實驗室中公升級,何樂而不為呢?
3. fodera 核心編譯方法
很抱歉,目前還未有找到很準確的fodera核心編譯方法,後面會補上。但這裡介紹的方法仍然適後fodera系統,那就是象ubuntu一樣,把核心編譯成為乙個rpm包。而且非常簡單,只需把上面的第6)和7)步換成下面的命令:
make rpm-pkg
執行完後,核心rpm包位於目錄/usr/src/rpm/rpms/i386/kernel-2.6.28.1.i386.rpm下,使用rpm -i kernel-2.6.28.1.i386.rpm命令即可安裝。
安裝rpm完成後,請檢查/boot/grup/menu.lst檔案是否有新核心的啟動,若否請手工新增。
核心刪除:
有時我們基於各種原因可能刪除一些老的核心,基本步驟如下:
1. 檢視當前系統的核心版本,千萬不要刪除錯了
#uname -r 或者 uname -a
2. 對於通過rpm方式安裝的核心,刪除就很簡單了。直接用rpm -e 相應的核心版本就能刪除掉了。
對於手工編譯安裝的核心,刪除起來稍微就要麻煩些了。
(1)、修改 /etc/grub/grub.conf 或 /etc/grub/menu.lst ,刪除那些不想要的核心選項。
(2)、刪除 /lib/modules/相對應的核心版本的目錄
(3)、刪除 /boot/相對應的核心版本的檔案
對於ubuntu系統:
$dpkg –get-selections|grep linux-image //檢視核心版本名稱
$sudo apt-get remove 核心版本(如:linux-image-2.6.15-23-386)
編譯 linux 核心
一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...
linux編譯核心
red hat linux版本的核心編譯 make j2 編譯 make modules make modules install make install cd boot mkinitramfs o initrd.img 2.6.30.10 2.6.30.10 此項可能不需要 vim boot g...
Linux核心編譯
經過幾天的努力,本人終於把乙個核心編譯成功了,嘿嘿,現在把編譯過程記下來,以後再接再勵,注意 以下的操作都要有root許可權。linux 2.6.36.tar.bz2。2 解壓縮。cd usr src tar xvf home ibm linux 2.6.36.tar.bz2.usr src下就會多...