如何关闭系统的ramdump功能?

karina17 2024-05-30 16:59:47

如何关闭系统的ramdump功能?

...全文
1381 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2024-05-31
  • 打赏
  • 举报
回复

1, 什么是ramdump?
RAM转储是指将运行内存(RAM)的内容转储到持久存储介质的过程。在计算机系统或移动设备中,RAM用于临时存储操作系统、应用程序和数据等信息。当系统遇到故障、崩溃或其他问题时,RAM转储可以记录当时RAM中存在的数据,用于故障排除和分析目的。
系统崩溃后启用和禁用ramdump的区别:
启用:它将进入900E。
禁用:不会进入900E,但会自动重启。

2, 通过 /proc/config.gz.获取您正在使用的配置
不同的配置有不同的方法来检查、启用和禁用RAM转储模式。
要检查设备上的内核配置,请运行“adb pulproc/config. gz.”以拉取配置文件。
解压config. gz并检查后,发现CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE或CONFIG_QCOM_DLOAD_MODE存在。
如果CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE,参照第3章,否则参照第4章。

img

3, 对于使用CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE的目标。
内核-5.4及以后版本中的一些目标已经迁移到使用安全PMIC,如Atherton、Kodiak。对于这样的目标,请启用CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE=y。
检查ramdump模式

adb shell cat /sys/module/qcom_dload_mode/parameters/download_mode
(0 for disable, 1 for enable)

启用ramdump模式。
默认情况下,非安全设备上的userdebug构建将启用ramdump。

/drivers/power/reset/qcom-dload-mode.c
static bool enable_dump =
       IS_ENABLED(CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE_DEFAULT);

如果不确定,将enable_dump设置为true。

/drivers/power/reset/qcom-dload-mode.c
static bool enable_dump = true;

检查是否启用了ramdump模式。
输入以下命令,检查设备是否进入900E模式。

adb shell echo c > /proc/sysrq-trigger

禁用ramdump模式。

diff --git a/drivers/power/reset/qcom-dload-mode.c b/drivers/power/reset/qcom-dload-mode.c
index 113db59c2aab..d85e27cc5d9a 100644
--- a/drivers/power/reset/qcom-dload-mode.c
+++ b/drivers/power/reset/qcom-dload-mode.c
@@ -35,8 +35,9 @@ struct qcom_dload {

 #define QCOM_DOWNLOAD_BOTHDUMP (QCOM_DOWNLOAD_FULLDUMP | QCOM_DOWNLOAD_MINIDUMP)

-static bool enable_dump =
-       IS_ENABLED(CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE_DEFAULT);
+static bool enable_dump = false;

检查ramdump模式是否被禁用。
输入以下命令,查看设备是否未进入900E模式但已正常重启。

adb shell echo c > /proc/sysrq-trigger

4, 对于使用CONFIG_QCOM_DLOAD_MODE的目标
请启用CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE=y。
检查ramdump模式。

adb shell cat /sys/module/msm_poweroff/parameters/download_mode_mode
(0 for disable, 1 for enable)

启用ramdump模式。
默认情况下,非安全设备上的userdebug构建将启用ramdump。

drivers/power/reset/msm-poweroff.c
static int download_mode = 1;

检查是否启用了ramdump模式。
输入以下命令,检查设备是否进入900E模式。

adb shell echo c > /proc/sysrq-trigger

禁用ramdump模式。

  diff --git a/drivers/power/reset/msm-poweroff.c b/drivers/power/reset/msm-poweroff.c
  index 8db5b7286ac3..f52636963cf7 100644
  --- a/drivers/power/reset/msm-poweroff.c
  +++ b/drivers/power/reset/msm-poweroff.c
  @@ -57,7 +57,7 @@ static struct nvmem_cell *nvmem_cell;
    * There is no API from TZ to re-enable the registers.
    * So the SDI cannot be re-enabled when it already by-passed.
    */
  -static int download_mode = 1;
  +static int download_mode = 0;
   static struct kobject dload_kobj;

   static int in_panic;

检查ramdump模式是否被禁用。
输入以下命令,查看设备是否未进入900E模式但已正常重启。

adb shell echo c > /proc/sysrq-trigger

3,302

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧