第一步 安裝必要的工具
首先要安裝必要的包。
包有:libncurses5-dev(menuconfig需要的)和essential
sudo apt-get install build-essential kernel-package(內(nèi)核打包deb的可以不用裝手動(dòng)安裝)
sudo apt-get install make
sudo apt-get install gcc
另外,查看系統(tǒng)是否有這樣的兩個(gè)命令
mkinitramfs mkisofs
這兩個(gè)工具在編譯內(nèi)核時(shí)用來(lái)生成 *.img文件的。如果沒(méi)有就需安裝。
第二步 下載內(nèi)核
到www.kernel.org下載新內(nèi)核到/usr/src
我下載的是linux-2.6.30.tar.gz
解壓linux-2.6.30.tar.gz到linux-2.6.30
cd /usr/src
sudo tar zxvf linux-2.6.30.tar
cd linux-2.6.30/
第四步 開(kāi)始編譯
以下所有的工作都在/usr/src/linux-2.6.30下完成
sudo make menuconfig //用menuconfig的話還需要Ncurses,或者用
sudo make xconfig
sudo make menuconfig //一般是用menuconfig
配置完以后保存(系統(tǒng)中保存的一份內(nèi)核配置文件是在/usr/src/linux-2.6.30下名為.config,你也可以自己在別的地方另存一份)
不會(huì)配置,就選用默認(rèn)配置可能也能用(就是make menuconfig 后直接退出)
sudo make dep //也許系統(tǒng)會(huì)提示現(xiàn)在不必要進(jìn)行make dep,那就下一步 2.6.30的我編譯就沒(méi)有使用過(guò)。
sudo make clean //清除舊數(shù)據(jù) ,新解壓的內(nèi)核源碼就不需要這一步了
sudo make –j4 // -jn 參數(shù)指要衍生的作業(yè)數(shù),一般每個(gè)處理器2個(gè)作業(yè),所以,雙核可以選擇-j4
sudo make bzImage //編譯內(nèi)核,將保存到/usr/src/linux-2.6.30/arch/i386/boot/下
sudo make modules //編譯模塊
sudo make modules_install //安裝模塊#把編譯好的模塊安裝到系統(tǒng)的/lib/modules下
sudo mkinitramfs -o /boot/initrd-2.6.30.img 2.6.30#根據(jù)安裝好的模塊做鏡像后面的參數(shù)號(hào)是指你的版本號(hào),也就是modules下你安裝的文件夾名
此時(shí)可能提示找不到這樣的一個(gè)文件夾“/lib/firmware/2.6.30”,你需要手工創(chuàng)建一個(gè)這樣的文件夾。
sudo mkdir /lib/firmware/2.6.30
sudo make install //安裝內(nèi)核
#以上的幾個(gè)步驟不能亂來(lái)要搞清楚各個(gè)步驟的實(shí)質(zhì)內(nèi)容 編譯(包括內(nèi)核和模塊)->安裝模塊->做模塊鏡像->安裝內(nèi)核順序不能亂
$ sudo gedit /etc/default/grub
找到如下行,并修改為:
#GRUB_HIDDEN_TIMEOUT=3
GRUB_TIMEOUT=XXX <---Make sure you put in a timeout value here.
保存文件,并執(zhí)行:
$ sudo update-grub
update-grub 會(huì)自動(dòng)探測(cè)已有的內(nèi)核
聯(lián)系客服