Linux的內核是系統(tǒng)的核心,所以升級內核是Linux系統(tǒng)管理員的一項基本技能,所以我就分享了系統(tǒng)運維實務上的一篇文章,當然我對源文件稍做了一些內容的增加,就是把遇到的問題及解決方案也加上了,希望對各位Linux系統(tǒng)管理員有所幫助!
1.下載內核
cd /usr/src</p>
<p>wget linux/kernel/v2.6/linux-2.6.38.tar.gz">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz</p>
<p>tar zxvf linux-2.6.38.tar.gz</p>
<p>cd linux-2.6.38
2.下載熱點內核標準配置文件
wget http://vbets.googlecode.com/files/config</p>
<p>mv config .config
3.編譯內核
make menuconfig
選中Load an Alternate Configuration File ,然后選擇剛下載的。config
另外,要特別選中:
1)、通過make menuconfig選中以下對應的選項
General setup –></p>
<p>[*] enable deprecated sysfs features to support old userspace tools
2)、修改。config文件
修改。config文件中CONFIG_SYSFS_DEPRECATED_V2,將原本被注釋掉的
CONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y
注: 修改這項是因為舊版的mkinitrd及其nash在內核沒有CONFIG_SYSFS_DEPRECATED_V2參數時默認使用舊版sysfs路徑格式,從而在新內核下無法正確訪問/sys內的硬盤信息節(jié)點。
主要是解決"mount:could not find filesystem '/dev/root'"這樣的錯誤
make bzImage</p>
<p>make modules</p>
<p>make modules_install</p>
<p>make install
4.解壓修改內核
cp /boot/initrd-2.6.38.img /tmp</p>
<p>cd /tmp/</p>
<p>mkdir newinitrd</p>
<p>cd newinitrd/
zcat /initrd-2.6.38.img |cpio -i
rm -rf /tmp/initrd-2.6.38.img
vi init[/code]
找到這2行一樣的,去掉1行
echo "Loading dm-region-hash.ko module"</p>
<p>insmod /lib/dm-region-hash.ko</p>
<p>echo "Loading dm-region-hash.ko module"</p>
<p>insmod /lib/dm-region-hash.ko
這主要是解決:"insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists"這樣的錯誤
5.從新打包內核
find .|cpio -c -o > /initrd</p>
<p>cd /</p>
<p>gzip -9 < initrd > initrd-2.6.38img</p>
<p>rm -rf /boot/initrd-2.6.38.img</p>
<p>cp initrd-2.6.38.img /boot</p>
<p>rm -rf /cd /usr/src/linux-2.6.38.tar.gz</p>
<p>rm -rf /cd /usr/src/linux-2.6.38
6.設置從新內核啟動
vi /boot/grub/grub.conf
把default=1改為default=0
7.重新啟動系統(tǒng)
reboot
香港服務器租用
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。