Linux中怎么實現內核升級操作,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)是一家集網站建設,寶山企業(yè)網站建設,寶山品牌網站建設,網站定制,寶山網站建設報價,網絡營銷,網絡優(yōu)化,寶山網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
1.下載內核
cd /usr/src 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 tar zxvf linux-2.6.38.tar.gz cd linux-2.6.38
2.下載熱點內核標準配置文件
wget http://vbets.googlecode.com/files/config mv config .config
3.編譯內核
make menuconfig
選中Load an Alternate Configuration File ,然后選擇剛下載的。config
另外,要特別選中:
1)通過make menuconfig選中以下對應的選項
General setup –> [*] 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 make modules make modules_install make install
4.解壓修改內核
cp /boot/initrd-2.6.38.img /tmp cd /tmp/ mkdir newinitrd cd newinitrd/ zcat /initrd-2.6.38.img |cpio -i rm -rf /tmp/initrd-2.6.38.img vi init
找到這2行一樣的,去掉1行
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
這主要是解決:”insmod: error inserting ‘/lib/dm-region-hash.ko’: -1 File exists”這樣的錯誤
5.從新打包內核
find .|cpio -c -o > /initrd cd / gzip -9 < initrd > initrd-2.6.38img rm -rf /boot/initrd-2.6.38.img cp initrd-2.6.38.img /boot rm -rf /cd /usr/src/linux-2.6.38.tar.gz rm -rf /cd /usr/src/linux-2.6.38
6.設置從新內核啟動
vi /boot/grub/grub.conf
把default=1改為default=0
7.重新啟動系統(tǒng)
reboot
看完上述內容,你們掌握Linux中怎么實現內核升級操作的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!