Saving the kernel log accross boots

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All

In case of a crash we would like to save the kernel log and retrieve it in the next boot. There are already several suggestions on how to do it on this and other lists.
(Kernel crashing and log buffers: Robin Getz)
Unfortunately we don't have extra SRAM to use for it. We need to do it in the 'normal' RAM.

ARCH=ARM

What we did:
- modify kernel/printk.c: use __attribute__((__section__(".bss.kringbuf"... to put the log related stuf into a separate section - modify the linker script to link .bss.kringbuf at the start of the .bss section - modify arch/arm/kernel/head-common.S to exclude the new section from being nulled (if it was a watchdog restart)
- modify kernel/printk.c to use cach_flush after prink
- make sure the bootloader does not overwrite that memory

This seems to work.
After a crash we get the messages from the new boot and the last crash.
It seems that the decompress code is using memory at the end of the kernel and destroys the log. So we have to use the bootloader to decompress the image into RAM.

Before digging any deeper I would like to know if someone as a better (more general) idea.

Regards, Martin
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux