第一步:下載內(nèi)核
傳送門(mén):地址.筆者下載的是3.2.84版本
第二步:解壓編譯內(nèi)核
由于我下的是.tar.xz文件,用tar命令不能直接解壓。
1.我的系統(tǒng)里不帶xz解壓軟件,先下載xz-5.0.3.tar.bz2文件并解壓安裝
tar -jvxf xz-5.0.3.tar.bz2
cd /opt/xz-5.0.3 #進(jìn)入解壓后的文件夾
./configure
make
make install
2.解壓內(nèi)核
xz -d linux-3.2.84.tar.xz
tar -xvf linux-3.2.84.tar
3.如果是第一次編譯內(nèi)核,并沒(méi)有上次殘留的文件可以跳過(guò)該步驟(最好仔細(xì)看下指令對(duì)應(yīng)的功能)
make mrproper
make clean 刪除大多數(shù)的編譯生成文件, 但是會(huì)保留內(nèi)核的配置文件.config, 還有足夠的編譯支持來(lái)建立擴(kuò)展模塊
make mrproper 刪除所有的編譯生成文件, 還有內(nèi)核配置文件, 再加上各種備份文件
make distclean mrproper刪除的文件, 加上編輯備份文件和一些補(bǔ)丁文件。
4.搭建編譯內(nèi)核所需要的環(huán)境
yum -y install gcc
yum install ncurses ncurses-devel
yum install openssl-devel
5.進(jìn)入內(nèi)核解壓文件夾配置內(nèi)核參數(shù)
由于我是個(gè)小白不會(huì)選,為了方便,直接用make localmodconfig命令,這個(gè)命令是以本來(lái)的.config文件為基礎(chǔ)去選,可以參考論文:嵌入式linux系統(tǒng)的裁剪優(yōu)化和測(cè)試技術(shù).然后我就一直回車(chē)直到結(jié)束。然后再輸入make menuconfig命令進(jìn)入圖形選擇菜單,將kenel hacking中的Sample..選項(xiàng)去掉(具體那一項(xiàng)我忘了,尷尬),退出保存。然后編輯.config文件中的“CONFIG_SYSFS_DEPRECATED”,默認(rèn)該選項(xiàng)為not set,被注釋掉的,將其改為y,即修改為“CONFIG_SYSFS_DEPRECATED=y”,之后可能還要修改,后面再說(shuō)。
6.編譯新內(nèi)核
make bzImage make modules make modules_install
7.安裝內(nèi)核
8.編譯安裝可能出現(xiàn)的情況
應(yīng)該是沒(méi)什么問(wèn)題, 不過(guò)也不排除會(huì)出現(xiàn)下面的情況:make:警告:檢測(cè)到時(shí)鐘錯(cuò)誤。您的創(chuàng)建可能是不完整的。 解決辦法:find . -type f -exec touch {} \; 重新編譯下就好了。
9.處理下img中的東西(我說(shuō)不清楚= =)
1)解壓initrd文件
# cp /boot/initrd-3.2.84.img /tmp
# cd /tmp/
# ls
initrd-2.6.30.4.img
# mkdir newinitrd
# cd newinitrd/
# zcat ../initrd-2.6.30.4.img | cpio -i
釋放之后看到如下內(nèi)容
# ls
bin dev etc init lib proc sbin sys sysroot
2)編輯init,刪掉其中重復(fù)的四行中的兩行 echo “Loading dm-region-hash.ko module” insmod /lib/dm-region-hash.ko echo “Loading dm-region-hash.ko module” insmod /lib/dm-region-hash.ko 3)重新打包initrd
# find . | cpio -c -o > ../initrd
11538 blocks
# cd ..
# gzip -9 initrd > initrd.img
# ls
initrd-2.6.30.4.img initrd initrd.img
這里面的initrd.img就是重新打包后的文件。 4)把initrd.img復(fù)制到/boot下 命令:#cp initrd.img /boot 5)修改grub.config,在/etc文件夾下 把initrd-3.2.84.img改為initrd.img就可以了 6)reboot重啟 記得選擇自己的內(nèi)核!別錯(cuò)過(guò)啦!
以上內(nèi)容就是小編為大家?guī)?lái)的關(guān)于CentOS 5.5下編譯安裝新內(nèi)核的方法了,希望可以幫助到大家!