Hi, I’m the Toradex AI Assistant.
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
PSTORE/Ramoops Configuration for Toradex Modules
Your PSTORE configuration looks mostly correct, but there are a few key areas to verify. Let me walk you through the proper setup based on Toradex documentation.
1. Kernel Configuration Verification
First, ensure you have all the necessary kernel configurations enabled(1):
$ zcat /proc/config.gz |grep PSTORE
CONFIG_PSTORE=y
CONFIG_PSTORE_ZLIB_COMPRESS=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_RAM=y
(1)
2. Memory Address Selection
The most critical aspect is selecting the correct physical memory address. You need to determine available memory space that won’t conflict with the kernel(1).
To check your system’s memory layout, run:
$ cat /proc/iomem
(1)
Look for the System RAM range and choose an address outside of the Kernel code and Kernel data regions(1). In the Toradex example, they used 0x30000000 for a 1MB region on an Apalis iMX6(1).
3. Device Tree Configuration
Your device tree configuration should be added to the appropriate location. For example, in arch/arm/boot/dts/imx6q.dtsi under the reserved-memory node(1):
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
ramoops_region: ramoops@30000000 {
compatible = "ramoops";
reg = <0 0x30000000 0 0x100000>; /* 1MB */
record-size = <0x20000>;
console-size = <0x20000>;
ftrace-size = <0x20000>;
pmsg-size = <0x20000>;
ecc = <0>;
no-map;
};
};
(1)
4. Verification Steps
After booting with your updated kernel and device tree, verify that ramoops is properly initialized:
$ dmesg | grep ramoops
(1)
You should see output similar to:
[ 0.071682] pstore: Registered ramoops as persistent store backend
[ 0.071707] ramoops: attached 0x100000@0x30000000, ecc: 0/0
(1)
5. Testing the Configuration
To test your setup:
- Set the system to reboot after kernel panic(1):
$ echo 1 > /proc/sys/kernel/panic
(1)
- Trigger a kernel panic(1):
$ echo c > /proc/sysrq-trigger
(1)
- After reboot, mount pstore and check for logs(1):
$ mkdir -p /home/root/pstore
$ mount -t pstore pstore /home/root/pstore
$ ls pstore/
(1)
Troubleshooting Tips
- Address conflicts: Ensure your chosen memory address doesn’t conflict with existing memory mappings
- Size alignment: Make sure your record sizes add up correctly within the total allocated space
- Cold boot limitation: Remember that ramoops data is lost during power cycles, only preserved during soft reboots(1)
The key issue in your setup might be the memory address 0x50000000. Verify this address is available and doesn’t conflict with your system’s memory layout by checking /proc/iomem first.
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.