LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: d00m3d

【毁灭小贴士】用 kexec 迅速切换内核

[复制链接]
发表于 2008-10-9 08:09:28 | 显示全部楼层
暂时不想重启折腾,简单复述一下我的理解:
kexec -l <kernel-image> --append="<command-line-options>"
这个单纯装载内核,但是当前系统并不改变。(从后边的命令可以看出来。)
root@BlackMesa:~# kexec -e
运行这个步骤后,就会跟关机重启一样(停止所有服务)然后直接进入加载内核状态(就跟开机grub按了选项后),模块等也重新加载。区别就是跳过了bios阶段。

不知道我理解是否正确?老大来点评一下吧。:D。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-9 20:02:29 | 显示全部楼层
的确是这样的,引自 http://www.ibm.com/developerworks/linux/library/l-kexec.html
The magic of kexec

The task of overwriting the old kernel with the new one is done in three stages:

   1. Copy the new kernel into memory.
   2. Move this kernel image into dynamic kernel memory.
   3. Copy this image into the real destination (overwriting the current kernel), and start the new kernel.
Benefits of kexec

Systems with high availability requirements and kernel developers who have to constantly reboot their systems will benefit most from kexec. Because kexec skips the most time-consuming parts of system reboot, namely the firmware stage, reboots are extremely quick and availability is increased.

Btw,原来该文章是有中文版的:

http://www.ibm.com/developerworks/cn/linux/l-kexec/index.html
回复 支持 反对

使用道具 举报

发表于 2008-10-21 10:13:40 | 显示全部楼层
Post by d00m3d;1888075
剛看了一下,有些地方請改正:



提交首頁還得重新排版,老大也辛苦了。
已经修正了,修正的晚了点。请兄弟查看一下对否????

辛苦了,谢谢。

北南 呈上
回复 支持 反对

使用道具 举报

发表于 2008-10-30 22:45:19 | 显示全部楼层
新概念?
实模式保护模式切换听多了,内核也可以了
回复 支持 反对

使用道具 举报

发表于 2008-10-31 03:09:31 | 显示全部楼层
编译时配置为
./configure --prefix=/
就不用从/usr/sbin往/sbin里移了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-31 07:18:33 | 显示全部楼层
因为我想把 kexec_test 留在 /usr/lib 里
回复 支持 反对

使用道具 举报

发表于 2008-11-9 22:08:05 | 显示全部楼层
有人实现了不同操作系统间的切换 http://www.linuxforum.net/forum/ ... sb=&o=&vc=1
回复 支持 反对

使用道具 举报

发表于 2008-11-13 22:40:09 | 显示全部楼层
巨强,巨牛,收藏
回复 支持 反对

使用道具 举报

发表于 2008-11-19 11:03:14 | 显示全部楼层
除了tty会有问题外无任何问题
不过没有试过在tty下切换
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-18 18:33:55 | 显示全部楼层
刚利用分区移植改用 ext4 测试了,可以利用 kexec 变相切换 Linux 系统

此处有一机器,http://www.linuxsir.cn/bbs/thread343284.html

/boot 是独立及共用的,只要 sda6 及 sda8 各自的 /lib/modules 里都带有相同的内核模块,那麽只需用 root=/dev/sda8 就用 Debian, root=/dev/sda6 就用 LFS,哈哈!好不快哉!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表