aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/linux
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2022-02-09 23:54:47 +0200
committerChristian Lamparter <chunkeey@gmail.com>2022-02-24 20:45:12 +0100
commit97158fe10e6090a8b21629df130734bac53f87ee (patch)
tree5eb053bb9d381a65141acf24232a920235db1755 /package/kernel/linux
parent1050e66c8f7c67ab8b3d1895e2559f03baeb2345 (diff)
downloadupstream-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.mk21
-rw-r--r--package/kernel/linux/modules/other.mk35
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