diff options
author | Hannu Nyman <hannu.nyman@iki.fi> | 2022-02-09 23:54:47 +0200 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2022-02-24 20:45:12 +0100 |
commit | 97158fe10e6090a8b21629df130734bac53f87ee (patch) | |
tree | 5eb053bb9d381a65141acf24232a920235db1755 /package/kernel/linux | |
parent | 1050e66c8f7c67ab8b3d1895e2559f03baeb2345 (diff) | |
download | upstream-97158fe10e6090a8b21629df130734bac53f87ee.tar.gz upstream-97158fe10e6090a8b21629df130734bac53f87ee.tar.bz2 upstream-97158fe10e6090a8b21629df130734bac53f87ee.zip |
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)
Diffstat (limited to 'package/kernel/linux')
-rw-r--r-- | package/kernel/linux/modules/fs.mk | 21 | ||||
-rw-r--r-- | package/kernel/linux/modules/other.mk | 35 |
2 files changed, 56 insertions, 0 deletions
diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk index b6d2a120d4..91cf1ea233 100644 --- a/package/kernel/linux/modules/fs.mk +++ b/package/kernel/linux/modules/fs.mk @@ -498,6 +498,27 @@ endef $(eval $(call KernelPackage,fs-ntfs)) +define KernelPackage/pstore + SUBMENU:=$(FS_MENU) + TITLE:=Pstore file system + DEFAULT:=m if ALL_KMODS + KCONFIG:= \ + CONFIG_PSTORE \ + CONFIG_PSTORE_COMPRESS=y \ + CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" \ + CONFIG_PSTORE_DEFLATE_COMPRESS=y \ + CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y + FILES:= $(LINUX_DIR)/fs/pstore/pstore.ko + AUTOLOAD:=$(call AutoLoad,30,pstore,1) +endef + +define KernelPackage/pstore/description + Kernel module for pstore filesystem support +endef + +$(eval $(call KernelPackage,pstore)) + + define KernelPackage/fs-reiserfs SUBMENU:=$(FS_MENU) TITLE:=ReiserFS filesystem support diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index f712c95c8e..5ccc860790 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -770,6 +770,41 @@ endef $(eval $(call KernelPackage,mtdram)) +define KernelPackage/ramoops + SUBMENU:=$(OTHER_MENU) + TITLE:=Ramoops (pstore-ram) + DEFAULT:=m if ALL_KMODS + KCONFIG:=CONFIG_PSTORE_RAM + DEPENDS:=+kmod-pstore +kmod-reed-solomon + FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko + AUTOLOAD:=$(call AutoLoad,30,ramoops,1) +endef + +define KernelPackage/ramoops/description + Kernel module for pstore-ram (ramoops) crash log storage +endef + +$(eval $(call KernelPackage,ramoops)) + + +define KernelPackage/reed-solomon + SUBMENU:=$(OTHER_MENU) + TITLE:=Reed-Solomon error correction + DEFAULT:=m if ALL_KMODS + KCONFIG:=CONFIG_REED_SOLOMON \ + CONFIG_REED_SOLOMON_DEC8=y \ + CONFIG_REED_SOLOMON_ENC8=y + FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko + AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1) +endef + +define KernelPackage/reed-solomon/description + Kernel module for Reed-Solomon error correction +endef + +$(eval $(call KernelPackage,reed-solomon)) + + define KernelPackage/serial-8250 SUBMENU:=$(OTHER_MENU) TITLE:=8250 UARTs |