免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2371 | 回复: 11
打印 上一主题 下一主题

请教一个内核升级的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-20 11:48 |只看该作者 |倒序浏览
我升级2.6.9到2.6.15
我是先编译,然后打包成rpm包,然后执行rpm安装
再mkinitrd /boot/initrd-2.6.15.img 2.6.15  后,但grub.conf不会自动改变

我就自己手动去修改grub.conf,可以起来2.6.15

但是有一个问题是我每次要手动启动,比较麻烦。我做了一个脚本去自动修改grub.conf
# set the first boot kernel edition
sed '/default/d' /boot/grub/grub.conf > /tmp/a.out
sed '9adefault=2' /tmp/a.out > /tmp/b.out
rm -f /tmp/a.out
echo "title Red Hat Enterprise Linux ES (2.6.15)" >> /tmp/b.out
echo "        root (hd0,0)" >> /tmp/b.out
echo "        kernel /vmlinuz-2.6.15 ro root=LABEL=/" >> /tmp/b.out
echo "        initrd /initrd-2.6.15.img" >> /tmp/b.out
mv /boot/grub/grub.conf /boot/grub/grub_back_conf
mv /tmp/b.out /boot/grub/grub.conf

但是出现一个问题,就是每次重装系统的话,2.6.9kenerl的root=LABEL=后面的值会变,但我装系统是通过kickstart自动安装的,所以分区格式是一样的。因为LABEL后面的值会变,搞的我脚本上写死kernel /vmlinuz-2.6.15 ro root=LABEL=/ 这句后,有时装某些机子时会启动不起来,比如有些时候kernel /vmlinuz-2.6.9-5.EL ro root=/1  . 请教此问题应该如何解决?
或者有没什么命令可以自动更新grub.conf的呢? 另外如果不能更新,请教能否通过grep命令去读取LABEL=的后面的那个值呢?

论坛徽章:
0
2 [报告]
发表于 2006-02-20 12:30 |只看该作者
为何不 make install?
make install 会自动完成 mkinitrd 和修改 /etc/grub.conf 的工作

论坛徽章:
0
3 [报告]
发表于 2006-02-20 12:36 |只看该作者
因为我是想做成自动安装盘内,因为之前的时候自己已经做好了定制的Redhat ES4自动安装盘,现在想升级服务器系统,所以也想在新装系统时就自动安装和升级好所有东西,而Make install的话需要copy编译好的源文件等,我曾经试过tar打包起来,发现有400多M,太大了,所以我才尝试在另外一台机子上编译好后生成一个rpm文件(才60多M)这样来安装的。

论坛徽章:
0
4 [报告]
发表于 2006-02-20 12:38 |只看该作者
LZ你的帖會直接顯示在linux主版上,不用到各子版重複發帖

论坛徽章:
0
5 [报告]
发表于 2006-02-20 14:11 |只看该作者
谢谢,因为刚来不久,可能还不太懂这里规矩,望各位海涵~

论坛徽章:
0
6 [报告]
发表于 2006-02-20 14:12 |只看该作者
怎么去從make install 中找出更新grub的部分呢?

论坛徽章:
0
7 [报告]
发表于 2006-02-20 14:22 |只看该作者
原帖由 zcongwei 于 2006-2-20 14:12 发表
怎么去從make install 中找出更新grub的部分呢?

先保存一份,再 make install,之后比较就知道动了哪里了

论坛徽章:
0
8 [报告]
发表于 2006-02-20 14:37 |只看该作者
原帖由 platinum 于 2006-2-20 14:22 发表

先保存一份,再 make install,之后比较就知道动了哪里了


呃,是make install这个动作里面 更新grub的一些命令.不是grub被更新了哪些.
如果可以找到里面怎么去自动更新grub.conf的动作那样我就可以加入到脚本当中了。不知版主有没这方面的研究,请教一下

论坛徽章:
0
9 [报告]
发表于 2006-02-20 14:51 |只看该作者
哦,这个恐怕要去挖 kernel 里面的 Makefile 了,我还没研究过这个 ^_^

论坛徽章:
0
10 [报告]
发表于 2006-02-20 15:08 |只看该作者
我之前看过kernel里面的Makefile,但只发现有make modules_install 的一些详细动作

另外我现在考虑不知能否通过grep加一些其他动作去读取kernel /vmlinuz-2.6.9-5.EL ro root= 后面的那个值,不知有没谁试过去读取某一行特定位置的值赋予一个变量的呢?
那样命令不知怎么来写比较好?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP