歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

CentOS 5.5下編譯安裝新內核

CentOS 5.5下編譯安裝新內核


熱度1 評論 108 www.BkJia.Com  網友分享於:  2017-02-12 06:02:58     浏覽數657次

CentOS 5.5下編譯安裝新內核


第一步:下載內核

傳送門:地址.筆者下載的是3.2.84版本

第二步:解壓編譯內核

由於我下的是.tar.xz文件,用tar命令不能直接解壓。
1.我的系統裡不帶xz解壓軟件,先下載xz-5.0.3.tar.bz2文件並解壓安裝

tar -jvxf xz-5.0.3.tar.bz2 cd  /opt/xz-5.0.3    #進入解壓後的文件夾./configuremakemake install

2.解壓內核

xz -d linux-3.2.84.tar.xztar -xvf linux-3.2.84.tar

3.如果是第一次編譯內核,並沒有上次殘留的文件可以跳過該步驟(最好仔細看下指令對應的功能)

make mrproper             make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。

4.搭建編譯內核所需要的環境

yum -y install gccyum install ncurses ncurses-develyum install openssl-devel

5.進入內核解壓文件夾配置內核參數 由於我是個小白不會選,為了方便,直接用make localmodconfig命令,這個命令是以本來的.config文件為基礎去選,可以參考論文:嵌入式linux系統的裁剪優化和測試技術.然後我就一直回車直到結束。然後再輸入make menuconfig命令進入圖形選擇菜單,將kenel hacking中的Sample..選項去掉(具體那一項我忘了,尴尬),退出保存。然後編輯.config文件中的“CONFIG_SYSFS_DEPRECATED”,默認該選項為not set,被注釋掉的,將其改為y,即修改為“CONFIG_SYSFS_DEPRECATED=y”,之後可能還要修改,後面再說。 6.編譯新內核

make bzImage && make modules && make modules_install

7.安裝內核

make install

8.編譯安裝可能出現的情況 應該是沒什麼問題, 不過也不排除會出現下面的情況:make:警告:檢測到時鐘錯誤。您的創建可能是不完整的。 解決辦法:find . -type f -exec touch {} \; 重新編譯下就好了。 9.處理下img中的東西(我說不清楚= =) 1)解壓initrd文件

# cp /boot/initrd-3.2.84.img /tmp# cd /tmp/# lsinitrd-2.6.30.4.img# mkdir newinitrd# cd newinitrd/# zcat ../initrd-2.6.30.4.img | cpio -i

釋放之後看到如下內容

# lsbin   dev   etc   init   lib   proc   sbin   sys   sysroot

2)編輯init,刪掉其中重復的四行中的兩行 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 > ../initrd11538 blocks# cd ..# gzip -9 < initrd > initrd.img# lsinitrd-2.6.30.4.img    initrd    initrd.img     

這裡面的initrd.img就是重新打包後的文件。 4)把initrd.img復制到/boot下 命令:#cp initrd.img /boot 5)修改grub.config,在/etc文件夾下 把initrd-3.2.84.img改為initrd.img就可以了 6)reboot重啟 記得選擇自己的內核!別錯過啦!

這是個人的經驗,希望對大家有點幫助!如果有不對的地方,還請不吝賜教!

 

Copyright © Linux教程網 All Rights Reserved