On Wed, Jan 08, 2014 at 09:24:22AM +0800, Dave Young wrote: > On 01/07/14 at 09:37am, Vivek Goyal wrote: > > On Tue, Jan 07, 2014 at 10:34:06AM +0800, Dave Young wrote: > > > Hi, all > > > > > > I have a question in mind: can we copy and prepare kexec kernel while > > > normal booting? > > > > > > Just like below wild idea: > > > > > > Kernel uncompress itself (assume kernel is relocatable) > > > -> copy the kernel image somewhere for backup > > > -> reserver crashkernel memory > > > -> copy the backuped kernel image/initrd image to reserved memory > > > -> copy the purgatory which can be embedded in elf section? > > > -> prepare the e820 memory ranges which is for kdump kernel > > > > > > So userspace only need to call kexec reboot, kexec_load is not necessary. > > > The initrd for kdump should be different, but we can add some different logic > > > which will be only for kdump and it can be skipped in normal boot. > > > > > > Is it doable? > > > > What's the advantage of doing all this? Why are you trying to skip load > > step. > > Hi, Vivek > > It's just a thought that kernel already have all the information for kexecing so > we can save user space works. Rethinking about it it benefits more to kexec than > kdump. For kexec user he can reboot with kexec without any user space actions. > For kdump there's no much advantage though. We should rather have a kexec service which starts and loads the kernel at startup and reboot will simply use kexec boot to boot into that kernel. We don't need to do anything at kernel level. Thanks Vivek