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