On Sat, 2008-10-18 at 21:27 -0700, ron minnich wrote: > On Fri, Oct 17, 2008 at 7:33 PM, Matt Price <[EMAIL PROTECTED]> wrote: > > On Fri, 2008-10-17 at 16:55 -0700, ron minnich wrote: > >> I think this is possible, given someone who is motivated :-) > >> > > can you give me a sense of what "motivation" entails? where i should i > > start digging to try to figure this out? thanks, > > > > Where is the suspended kernel saved? What does kernel A do to boot > Kernel B? Basic kexec? > > we need those three answers first. > here's what i think so far: - the suspened image is saved to a swap partition, whose location needs to be specified within the initramfs which will be part of the payload. i don't know if that's a problem or not; presumably one would set it up outside of any LVM, RAID, or more complex arrangement. - as i understand it (and i'm not sure about this) kernels since 2.6.26 can use a hibernation image written by another kernel. So when there is a valid suspended image in the right place, kernel A simply activates the normal resume sequence, and we automatically end up with kernel B at the end of the resume process. - one would need some other process for booting kernel B in cases where there's no good hibernation image -- like on the system's first boot! -- i guess one could use kexec in an initramfs script. I haven't put this system together yet so I don't know whether there might be driver issues using kexec.
i guess one could start with a proof-of-concept minimal kernel in qemu & see if things work? i'm not sure how well the in-kernel suspend works with qemu, though -- i've always used the "save state" option there... anyway does that sound about right? matt > ron > > -- > coreboot mailing list: [email protected] > http://www.coreboot.org/mailman/listinfo/coreboot -- Matt Price [EMAIL PROTECTED] -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

