kernel: package ramoops pstore-ram crash log storage

Package the ability to log kernel crashes to 'ramoops' pstore
files into RAM in /sys/fs/pstore

Reference to the ramoops admin guide in upstream Linux:
https://www.kernel.org/doc/html/v5.10/admin-guide/ramoops.html

The files in RAM survive a warm reboot, but not a cold reboot.

Note: kmod-ramoops selects kmod-pstore and kmod-reed-solomon.

The feature can be used by selecting the kmod-ramoops and
adding a ramoops reserved-memory definition to the device DTS.
Example from R7800:

       reserved-memory {
                rsvd@5fe00000 {
                        reg = <0x5fe00000 0x200000>;
                        reusable;
                };

                ramoops@42100000 {
                        compatible = "ramoops";
                        reg = <0x42100000 0x40000>;
                        record-size = <0x4000>;
                        console-size = <0x4000>;
                        ftrace-size = <0x4000>;
                        pmsg-size = <0x4000>;
                };
        };

If no definition has been made in DTS, no crash log is stored
for the device.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(added CONFIG_EFI_VARS_PSTORE disable)
This commit is contained in:
Hannu Nyman
2022-02-09 23:54:47 +02:00
committed by Christian Lamparter
parent 1050e66c8f
commit 97158fe10e
3 changed files with 72 additions and 0 deletions

View File

@@ -1760,6 +1760,7 @@ CONFIG_DYNAMIC_DEBUG_CORE=y
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EFI is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_VARS_PSTORE is not set
# CONFIG_EFS_FS is not set
CONFIG_ELFCORE=y
# CONFIG_ELF_CORE is not set
@@ -4589,6 +4590,18 @@ CONFIG_PROC_SYSCTL=y
# CONFIG_PSB6970_PHY is not set
# CONFIG_PSI is not set
# CONFIG_PSTORE is not set
# CONFIG_PSTORE_COMPRESS is not set
# CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_DEFLATE_COMPRESS is not set
# CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
# CONFIG_PTP_1588_CLOCK is not set
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
@@ -4698,6 +4711,9 @@ CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
# CONFIG_READ_ONLY_THP_FOR_FS is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_REDWOOD is not set
# CONFIG_REED_SOLOMON is not set
# CONFIG_REED_SOLOMON_DEC8 is not set
# CONFIG_REED_SOLOMON_ENC8 is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_REGMAP is not set
# CONFIG_REGMAP_I2C is not set