|
|
第 1 帖 | |
|
|
标题: 【毁灭小贴士】用 kexec 迅速切换内核 先始声明
本文旨在技术探讨,任何人如因本文而引起任何损毁,资料及精神损失等,或一切问题,本人绝不负责,You are at your own risks! 前言 很早以前就希望实现如何不重置起动(冷起动 System reboot)就使用新建成或者测试不同版本的内核,这个话题好像比较少人探讨,我以前曾经提问过,http://www.linuxsir.org/bbs/showthread.php?t=211738 也很感谢有兄弟提供正面的回覆,可是因为当时水平有限,未能成功。今天为了纪念 linuxsir 重光,特书本文以示热烈庆祝,欢贺一番:) 部骤 首先,有两个先要满足条件(Pre-requisites): 代码:
只要检查 /boot/config-2.6.xxxxxxxx 就知道了 代码:
如果内核是自己动手编译的话,请谨记加入 kexec 系统呼叫的支援: 代码:
如要编译就先下载 kexec-tools 源码,可以到内核官方网站,路径是: http://www.kernel.org/pub/linux/kern...s/kexec-tools/ 今天为止,最新版本是 2.0.0: http://www.kernel.org/pub/linux/kern...-2.0.0.tar.bz2 PHP 代码:
PHP 代码:
/usr/lib/kexec-tools/kexec_test /usr/sbin/kdump /usr/sbin/kexec 一般发行版或教材都是将命令放在 /sbin 里的,没关系,就移一下吧: PHP 代码:
apt-get install kexec-tools 或 emerge -av kexec-tools 之类,总之就是为了加入 /sbin/kexec 这个系统命令。 如果一切顺利,现在就有戏了。先检查一下 /boot 里安装了哪些内核: 代码:
代码:
要用 /sbin/kexec 加载另一内核,语法是: 代码:
代码:
我一直不喜欢使用 ramdisk 或者 initramfs 之类,所以没有 initrd,如果系统需要使用 initrd,就将其正确路径加入便行,如: 代码:
代码:
代码:
代码:
补充一句,新加载的内核也可以是: 1. 当前内核本身,不停变更都可以的 2. 或者是旧版没有编入 kexec 系统呼叫支援的内核,只不过 warm boot 启动後再无法执行 /sbin/kexec 去变更另一版了 结语 很多时候,冷启动重启系统是很讨厌的,花时甚长,有了 /sbin/kexec,只要当前内核加入了 kexec 系统呼叫的支援,就能随意切换另一版本的内核,对经常调试内核或想尝鲜的人提供了方便,好不快哉! d00m3d 敬上 (2008年9月25日 Linuxsir 重光纪念) 參考文献 http://www.ibm.com/developerworks/li...y/l-kexec.html http://gentoo-wiki.com/TIP_kexec http://code.google.com/p/atv-bootloa...rstandingkexec PS:还有其他小贴士集合在此 【毁灭小贴士】集合 :) http://www.linuxsir.org/bbs/thread329032.html
__________________
nO ^^4+73R wH1<h d!5+R0z j00 42E U$1N9 7r% LpHZ 4+ l3457 oN(& 此帖于 08-09-27 09:27 被 d00m3d 编辑. |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
顶,沙发。
收藏
__________________
CLFS : All Packages http://cross-lfs.org/files/wget/svn/all.list openSUSE-Factory KDE4 2.6.31-rc9-7-desktop x86_64 |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
好像非常复杂的样子,目前没有这个需求。谁没事换内核玩啊。哈哈
__________________
AMD Turion MT-34 1.8G,1G+256M ddr333,VIA,AMD-ATI X700 128M,160G IDE,15.4宽... Archlinux -- 最新,最快,最方便 |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
d00m3d 兄一出手,果然就是大手笔,赞一个。
__________________
我的博客:http://drunkedcat.cublog.cn 新机器:HP6535sNH361PA:Athlon 64x2(2.1Gx2),2G Ram, 集成 ati3200, 320G硬盘,bcm4312 b/g 无线, OS:gentoo 基本系统 X: xorg + xmonad + conky + urxvt 开发:emacs + vim + texlive2005 + svn + ghc + jdk 网络:firefox-bin + pidgin 多媒体:mplayer Haskell : type代表一种数据collection,class代表一种结构,instance只是让数据与某种结构结合后的结果,让一个type instance了某个class就构成了一个范畴。从范畴论的思维来说,联系是普遍的,变是不变的.它的意思是说,对象与对象之间不是孤立而是普遍联系的,我们所研究的对象总是千变万化的,但是连接对象之间的关系是永恒不变的。 fibs = 0 : 1 : [ a + b | (a, b) <- zip fibs (tail fibs)] |
|
|
|
|
|
|
|
第 5 帖 | |
|
|
谢谢赞赏。
刚刚排了一下版,应该看起来不再覆杂了。 |
|
|
|
|
|
|
|
第 6 帖 | |
|
|
很久以前就看到这个kexec了,觉得想法好夸张,一直没有敢玩。今见LZ文章,测试了一下,果然很好用。
这样在Linux测试就不用冷启动了。
__________________
在未上大学时,我一直以为自己是个天才。 正在上大学时,我以为自己将是个天才。 读完大学后,我才发现自己是并且从来就是一个彻头彻尾的傻瓜, 自大。。。浮躁。。。终究一无是处。 |
|
|
|
|
|
|
|
第 7 帖 | |
|
|
很久以前就看到这个kexec了,觉得想法好夸张,一直没有敢玩。今见LZ文章,测试了一下,果然很好用。
这样在Linux测试就不用冷启动了。 |
|
|
|
|
|
|
|
第 8 帖 | |
|
|
恩,有参考价值!
__________________
新手提问前请先看下面这个链接,谢谢大家配合: bbs.linuxsir.org/showthread.php?t=112318 我的博客http://blog.chinaunix.net/u/33031/ Intel Core 2 Due E6550/G31M-ES2C/2x1G/NVIDIA GT 440/WD1600AAJS/NEC LCD195VX/archlinux |
|
|
|
|
|
|
|
第 9 帖 | |
|
|
可不可以把kexec当bootloader使,比如启动freebsd?
PS:还以为这个站点彻底挂了,回来真好。 |
|
|
|
|
|
|
|
第 10 帖 | ||
|
|
引自 http://gentoo-wiki.com/TIP_kexec
引用:
我參考 Fedora 資訊新間的時候,http://fedoranews.org/mediawiki/inde...ump_in_Rawhide 發現另一個叫 kboot 的玩意,http://kboot.sourceforge.net/ 似乎能滿足深空兄要求,還有一個叫 kexec-loader 的東西,http://www.solemnwarning.net/kexec-loader/ 可能也有參考價值 |
||
|
|
|
||
|
|
第 11 帖 | |
|
|
什么时候可以直接切换呢? 不用关掉所有的应用程序。
|
|
|
|
|
|
|
|
第 12 帖 | |
|
|
d00m3d兄弟宝刀不老,仍在出大作。
哈哈。一会整理一下放到首页喽。 THX了。。
__________________
请弟兄们发帖时要写个好标题,多谢! 签名不支持html和bbcode,请弟兄为了版面的整洁,请更改签名档,谢谢! 请各版版主及初学Linux的弟兄,请在您的签名写上机器的配置,以及您所用的系统(包装版本号,内核),谢谢。 Slackware64 13.x kernel 2.6.29.6 **************************************** 因为太笨,所以努力; **************************************** |
|
|
|
|
|
|
|
第 13 帖 | |
|
|
一直再找的东西,谢谢了
|
|
|
|
|
|
|
|
第 14 帖 | |
|
|
目前暂无此需求,先作个记号~~~
|
|
|
|
|
|
|
|
第 15 帖 | |
|
|
新人 看到此帖正是时候 我正在FC9下 安装vmware 6.0.0 由于FC9内核太新 下载了2.6.17得正在编译
正好不用重启了。。
__________________
用了Linux两年多了 感觉还是很 菜菜。。 |
|
|
|
|
|