recovery输出log+recovery模式关闭selinux

recovery log输出机制:

1、在recovery mode下:adb pull /tmp/recovery.log %cd%/recovery.log

2、recovery mode 下 reboot 进入系统后: adb pull /cache/recovery %cd%/recovery

那问题来了,如何输出到uart?

直接修改\bootable\recovery\recovery.cpp:

//static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log";

static const char *TEMPORARY_LOG_FILE = "/dev/console";

发现不行,加测试代码再加推论得出结论是selinux导致权限不够的原因,于是我直接把selinux关掉就可以了

路径:system/core/init/init.cpp

  1. 方式一
  2.   static bool selinux_is_disabled(void)
  3.  {
  4.     if (ALLOW_DISABLE_SELINUX) {
  5.         if (access("/sys/fs/selinux", F_OK) != 0) {
  6.             return true;
  7.         }
  8.  
  9.         //return selinux_status_from_cmdline() == SELINUX_DISABLED;
  10.         改为:
  11.         return true;
  12.     }
  13.     return false;
  14.  }

——————————————android 7.1关闭selinux方法——————————————————

/system/core/init/init.cpp

selinux_status_from_cmdline函数:

selinux_enforcing_status status = SELINUX_ENFORCING;

改成: selinux_enforcing_status status = SELINUX_PERMISSIVE;

recovery输出log+recovery模式关闭selinux_第1张图片

从代码可看出,也可以修改cmdline来实现

————————————————————————————————————————————

kernel :正常启动 make bootimage

recovery 模式: make recoveryimage     out\target\product\msm8909\recovery\root\init更新

recovery输出log+recovery模式关闭selinux_第2张图片

https://blog.csdn.net/u010164190/article/details/78659476

修改boot.image里面的cmdline 加权限:在commandline里加入androidboot.selinux=permissive

http://www.miui.com/thread-9137678-1-1.html

你可能感兴趣的:(高通,recovery)