Linux中怎么实现内核升级操作

Linux中怎么实现内核升级操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联是一家集网站建设,宝山企业网站建设,宝山品牌网站建设,网站定制,宝山网站建设报价,网络营销,网络优化,宝山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

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内的硬盘信息节点。

主要是解决”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.重新启动系统

reboot

看完上述内容,你们掌握Linux中怎么实现内核升级操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前名称:Linux中怎么实现内核升级操作
浏览路径:http://azwzsj.com/article/jdsoco.html