星期五, 一月 12, 2007

recompile kernel remotely

有时侯可能不得不远程编译和升级内核,但问题是,如果在启动管理器的配置中设置了新内核为默认选项,而新内核启动失败,那么通常你就只能跑到机房去实地调试了(我不知道机房的管理人员在帮忙重启机器的时候,除了按一按开关之外还能有什么别的帮助?),那么远程编译还有什么意义?

如果本地有和远端一样的主机,那么不妨先在本地进行编译和配置,确保可以启动之后再将内核拷贝到远端或直接在远端编译。在拷贝时注意确保3样东西:
1. kernel
2. Red Hat Linux(如果是)或自己配置的 initrd
3. 所有的内核模块:/lib/modules/$kernel-version

之后最好再运行一下 /sbin/depmod -ae -F System.map-$kernel-version $kernel-version 以确保内核模块都没有问题。

拷贝之后再更改 /boot/grub/grub.conf,添加新的条目。

对于远程的重启操作,关键是 grub 的 grub-set-default 程序和 savedefault & fallback 选项!但目前都不行,不知道为什么?

2 条评论:

Unknown 说...

灌点水,增加人气,^_^。

Roc Zhou 说...

教授最近怎样?多用邮件和 MSN 联系吧,你不是有个 gmail 的邮箱吗 :-)