Saveoops: Making Kexec purgatory position-independent?

Ahmed S. Darwish darwish.07 at gmail.com
Sat Feb 26 11:20:08 EST 2011


Hi,

I'm continuing work on 'Saveoops', saving both early and normal Linux
oops log to disk upon panic [*], using Kexec and bootloaders this time.

Purgatory, the transitional mini-kernel used by kexec, is a relocatable
ELF file. Userspace kexec-tools finds the final load address of such
code (by parsing /proc/iomem, etc) and then applies the relocations
itself before passing the now-ready executable image to kernel.

Since capturing early oopses is the major goal, doing such relocation
in userspace won't fit my purposes. Two options remain:
   - relocate purgatory entries in the kernel early boot path
   - or compile purgatory as position-independent, thus simplifying
     the kernel load logic

The former will add extra logic in a sensitive path (early boot), while
the latter will require changes inside the purgatory code itself,
especially i386 assembly files.

Any preferable option from our kexec and x86 maintainers?

thanks!

[*] http://news.gmane.org/find-root.php?message_id=<20110125134748.GA10051@laptop>
    http://news.gmane.org/find-root.php?message_id=<20110126124954.GC24527@laptop>

-- 
Darwish
http://darwish.07.googlepages.com



More information about the kexec mailing list