我有通过Magisk给出的instructions使用root的Samsung S10 5G。我正在尝试修改system.img
以在ROM的AP文件中修补SELinux策略。当我使用Odin将AP文件与其他文件一起刷新时,它会因引导循环而失败。为了调试原因,我使用了pstore
,其在设备上的配置如下:
init.rc
中,pstore
如下安装在/sys/fs/pstore
上:314: # pstore/ramoops previous console log
315: mount pstore pstore /sys/fs/pstore nodev noexec nosuid
316: chown system log /sys/fs/pstore/console-ramoops
317: chmod 0440 /sys/fs/pstore/console-ramoops
318: chown system log /sys/fs/pstore/console-ramoops-0
319: chmod 0440 /sys/fs/pstore/console-ramoops-0
320: chown system log /sys/fs/pstore/pmsg-ramoops-0
321: chmod 0440 /sys/fs/pstore/pmsg-ramoops-0
$ cat config | grep PSTORE
CONFIG_PSTORE=y
CONFIG_PSTORE_ZLIB_COMPRESS=y
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_PMSG_SSPLOG=y
CONFIG_PSTORE_RAM=y
./sys/module/ramoops/parameters/console_size 262144
./sys/module/ramoops/parameters/dump_oops 1
./sys/module/ramoops/parameters/ecc 0
./sys/module/ramoops/parameters/ftrace_size 262144
./sys/module/ramoops/parameters/mem_address 3241148416
./sys/module/ramoops/parameters/mem_size 1048576
./sys/module/ramoops/parameters/mem_type 0
./sys/module/ramoops/parameters/pmsg_size 262144
./sys/module/ramoops/parameters/record_size 262144
现在,我正在学习本教程:Reading kernel logs
,但是/sys/fs/pstore
目录中没有日志。当我在另一台设备(OnePlus 6T)上尝试了相同的步骤后,便可以看到日志。
此外,我还尝试按照以下说明检查日志,以了解ROM闪烁的真正原因:
/sys/fs/pstore
目录中的日志。这也不起作用。
与检查/sys/fs/pstore
目录一起,我也尝试过使用mount -t pstore - /dev/pstore
将pstore挂载在其他位置,但是没有日志。
我需要一个帮忙
pstore
问题?答案 0 :(得分:0)
我看到很多人在使用 pstore 时遇到了同样的问题。检查您是否有以下输出:
#cat /sys/module/pstore/parameters/backend
(null)
后端参数是“要使用的 Pstore 后端”(source)
Pstore only supports one backend at a time. If multiple
backends are available, the preferred backend may be
set by passing the pstore.backend= argument to the kernel at
boot time.
来自 https://www.kernel.org/doc/Documentation/ABI/testing/pstore
如果可用,请尝试 pstore_blk、mtdpstore、mmcpstore、phram 或 android ram 控制台。
你的命令行是什么?
你是否加载了 reed_solomon 模块? ramoops需要它
Pstore_console 可能需要 CONFIG_VT 才能工作。
工作命令行是“ramoops.mem_address=0x11ff000000 ramoops.mem_size=0x1000000 pstore.backend=ramoops”,对于blk后端是“pstore_blk.blkdev=179:7 pstore_blk.oops_size=64”
如果你想要 pstore/blk 记住,需要在 mmc/sdcc/sdhci 驱动程序中支持 panic_write。这在安卓手机上很常见。例如,您不能在 android 手机上使用工作帧缓冲区控制台。您有 MSM FB 驱动程序,但不支持 fbcon。如需更多帮助,请参阅 https://github.com/gmpy/articles/blob/master/pstore/Test-Pstore-Block.md
并检查 https://www.openwall.com/lists/kernel-hardening/2019/10/10/3