recovery log直接输出到串口

我们在调试recovery升级的时候,我们经常需要查看recoveryloggoogle的原始逻辑中,recoverylog并非直接输出到串口,我们需要输入命令才能获取,我们有三种方式:

 

    第一种:recovery下,遥控器选择view recovery logs界面上查看。

    第二种:recovery下,输入命令,cat /tmp/recovery.log

    第三种:android下,输入命令,cat  /cache/recovery/last_log

 

 

    有时候我们需要把recoverylog直接输出到终端串口,则我们需要修改下recovery的代码即可,下面以android L5.1)版本的代码修改说明下:

bootable/recovery/recovery.cpp

 

static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log";
static void redirect_stdio(const char* filename) {
    // If these fail, there's not really anywhere to complain...
    freopen(filename, "a", stdout); setbuf(stdout, NULL);
    freopen(filename, "a", stderr); setbuf(stderr, NULL);
}
 
Int main(int argc, char **argv) {
    time_t start = time(NULL);
   redirect_stdio(TEMPORARY_LOG_FILE);

}


 


 

我们只需要把redirect_stdio函数的参数,有”/tmp/recovery.log”修改为”/dev/console”即可。redirect_stdio(”/dev/console”); 不同的平台可能有所不一样,可以先这样验证,echo “111111111” > /dev/console,检验下是否能够把打印正常输出到串口。

posted @   leo21sun  阅读(2820)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示