很明显,您需要“第一个”内核中的 kexec 系统调用。但是应该加载的内核(使用kexec_load
和reboot
)是否需要使用 kexec 进行编译?
如果是,需要在内核内部执行哪些额外代码才能执行 kexec 引导而不是正常引导?
答案1
我还没有看到关于这一点的明确声明,也没有尝试过,但我想这是没有必要的。除了我的猜测之外,手册页还说:
kexec 从内核内部执行引导加载程序的功能。
仅当涉及一些黑魔法而不是引导加载程序时,才需要对要加载的内核进行调整,但如果正在运行的内核像引导加载程序一样进行采样,则不需要。