(1).kexec -l <kernel-image> --append="<command-line-options>" [--initrd=xxxxxxxxxxx一般是要的,不过某些情况下可选]
例如: kexec -l /boot/vmlinuz-2.6.31 --append="root=/dev/sda6 ro nomce vga=0x317" --initrd=xxxxxxxxxxx
(2).kexec -e
再或者用kexec -p
下面仅分析kexe -l & -e的形式
|
|
|
|
看以下kexe -e执行的操作:
|
+++++++++++++++++++++++trap into kernel,我是分隔线+++++++++++++++++++++++++++++
|
|
简单小结下此阶段作的工作:
就是将kexec -l命令行的新内核先拷贝到kernel_buf,然后再加载到结构体kexec_info info中,最后通过sys_kexec_load系统调用转移到动态内核内存页,这个系统调用给每个从用户空间传递而来的段分配动态内核页,并将段拷贝到这些内核页上
|
|
|