免费注册 查看新帖 |

Chinaunix

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

请教一下grub.conf问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-20 11:45 |只看该作者 |倒序浏览
我升级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:08 |只看该作者
看看kernel make install 的代碼可能有這個動作

make install

然後grub就更新了

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

论坛徽章:
0
4 [报告]
发表于 2006-02-20 12:43 |只看该作者
看看kernel make install 的代碼可能有這個動作

所以偶就說從make install 中找出更新grub的部分加入script 中

论坛徽章:
0
5 [报告]
发表于 2006-02-20 12:52 |只看该作者
重复发贴,此贴锁了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP