热重启是指在不断电的情况下重启设备,是软件层面的重启,比如系统执行reboot命令或者系统崩溃异常重启,过程基本描述如下: 整机包括cpu和内存处于正常运行状态 -> 系统执行reboot命令或者系统崩溃异常重启 -> CPU和内存均清0(除了一些特殊的内存) -> CPU上电执行CPU内部启动程序 -> CPU跳转到外部启动程序uboot -> u...
sys_reboot 系统调用简要分析 为了研究kexec -e内核切换时调用的 reboot 流程与正常系统 reboot 的区别,需要对 sys_reboot 系统调用有一个代码上的认识。 sys_reboot 系统调用实现于kernel/reboot.c文件中,函数签名如下: SYSCALL_DEFINE4(reboot,int, magic1,int, magic2,unsignedint, cmd,void__user *, arg) ...
当执行kexec -e 时,进行reboot系统调用,并由kernel_kexec接管。该函数先进行重启之前例行操作,如kernel_restart_prepare, migrate_to_reboot_cpu,machine_shutdown等,最后是调用machine_kexec(kexec_image)进行kexec模式重启。 之前准备好的kernel被打散到内核内存中,这个函数将完成kernel的重定位,并且从image->start即e...
字节跳动最新贡献的 "faster kexec reboot" 系列补丁如名字所示,可加快 Kexec 的重启速度。他们的优化目标是减少大约 500 毫秒的时间,将机器使用 Kexec 启动内核功能的时间缩短到只有 15 毫秒。字节跳动提出的优化措施包括:在 x86/x86_64 上支持启用未压缩的内核,以加快启动过程,而不是压缩内核镜像,避免在内核...
字节跳动最新贡献的"faster kexec reboot"系列补丁如名字所示,可加快 Kexec 的重启速度。他们的优化目标是减少大约 500 毫秒的时间,将机器使用 Kexec 启动内核功能的时间缩短到只有 15 毫秒。 字节跳动提出的优化措施包括:在 x86/x86_64 上支持启用未压缩的内核,以加快启动过程,而不是压缩内核镜像,避免在内核未压缩...
字节跳动最新贡献的 "faster kexec reboot" 系列补丁如名字所示,可加快 Kexec 的重启速度。他们的优化目标是减少大约 500 毫秒的时间,将机器使用 Kexec 启动内核功能的时间缩短到只有 15 毫秒。 字节跳动提出的优化措施包括:在x86/x86_64 上支持启用未压缩的内核,以加快启动过程,而不是压缩内核镜像,避免在内核未压...
但是,每当我试图使用sudo reboot重新启动机器时,系统就会使用kexec并加载2.6.28-19通用内核,该内核也被嵌入在机器上。 那么,如何在重新启动后指定要加载哪个内核映像呢?另外两个内核安装在2.6.28-19通用型和2.6.28-6-386型机器上.我已经检查过,在调用重新引导之后,机器实际上不会重新启动,而是使用kexec加载19-泛型...
EN在从18.04升级到20.04之后,运行此命令仍然会重新启动系统,但是现在它会进行“硬”重新引导,它会...
很早以前就希望实现如何不重置起动(冷起动 System reboot)就使用新建成或者测试不同版本的内核,这个话题好像比较少人探讨,我以前曾经提问过,http://www.linuxsir.org/bbs/showthread.php?t=211738 也很感谢有兄弟提供正面的回覆,可是因为当时水平有限,未能成功。今天为了纪念 linuxsir 重光,特书本文以示热烈庆祝,欢...
A promising approach employs kernel-to-kernel bootloaders to reboot to a new kernel without clear- ing memory and thereafter write out the preserved state to the target device. However, a weakness of this option has been the limit on how much of total memory state can actually be saved, ...