android -/sys/fs/pstore 不适用于 poco m3 android,有办法修复吗?

标签 android linux debugging kernel selinux

我正在尝试在我的 Poco M3 上使用 pstore 日志。我尝试了一切。 PSTORE 配置在内核上激活,pstore 模块加载到手机上,手机已 root,/sys/fs/pstore 自动安装但不包含任何内容。

130|citrus:/ # dmesg | grep pstore
[    0.094327] console [pstore-1] enabled
[    0.094468] pstore: Registered ramoops as persistent store backend
[    1.065975] pstore: Using compression: deflate
[   98.052156] type=1400 audit(1654268897.690:3752): avc: denied { read } for comm="ls" name="/" dev="pstore" ino=1197 scontext=u:r:shell:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1
[   98.052450] type=1400 audit(1654268897.690:3753): avc: denied { open } for comm="ls" path="/sys/fs/pstore" dev="pstore" ino=1197 scontext=u:r:shell:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1

看起来selinux正在阻止/sys/fs/pstore上的ls。有没有办法让它始终允许/sys/fs/pstore 上的 ls,即使在重新启动后也是如此?

我已经将 androidboot.selinux=permissive 添加到我的启动命令行中,并且它可以在手机上识别:

130|citrus:/ # getenforce
Permissive 

更新:我刚刚了解到宽容意味着只记录而不阻塞,所以这不是阻塞,我的 pstore 确实是空的。我说得对吗?

最佳答案

enter image description here/sys/fs/pstore 的用途非常明确 - 持久存储崩溃文件 - 内核 oops 和最后一个 RAM 控制台。因此,从某种程度上来说,它不包含任何内容实际上是件好事。

亲自看看 - 模拟 panic 。这需要将“c”写入/proc/sysrq_trigger (并且可能通过/proc/sys/kernel/sysrq 掩码启用该功能)。设备将重新启动,启动时您将看到存储文件出现。 (请注意,这必须是崩溃后立即启动,因为此后文件将被清除。

顺便说一下 - Re:SELinux,您显示的那些 AVC 日志是因为 SELinux 拒绝了“ls”操作本身。这是强制访问控制保护,可防止读取目录(即使目录为空)。所以这不会有太大改变。

关于android -/sys/fs/pstore 不适用于 poco m3 android,有办法修复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72491923/

相关文章:

java - 如何将 map 写入包裹?

linux - 在解析运行日志时,有什么可以替代 echo grep?

java - LWJGL grabbed mouse - 如果应用程序挂起或使用抓取的鼠标命中断点时进行调试

android - Android Studio 中 NFC 技术过滤器不支持的类型技术列表

java - 使用此路径检索 SD 卡上的文件 : "/document/primary:..."

android - 在 android native 中,Mediacodec.dequeueInputBuffer 不返回

linux - 确保 udiksd 正在运行的最佳方法

linux - 如何在unix中通过数据分组来验证计数

c++ - gdb:tstart 错误 "You can' 的含义 t 当你的目标是 `exec' 时执行此操作“

node.js - Nodejs 进程挂起,我该如何调试它或收集转储?