最近在开机加一些自己的测试程序,编译的是eng版本,希望安卓开机后能够看到自己的调试信息,可是一开机就会有很多其它的信息干扰我的调试,那么如何屏蔽掉kernel的kmsg打印的这些信息呢?
很简单,我们找到以下这个文件:
在我的源码目录下:MT8127_M0_MP8_0407_BK\bootable\lk\app\mt_boot\mt_boot.c
找到以下代码:
#ifdef USER_BUILD
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0");
#else
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
#endif
我们看到,当编译的版本为USER_BUILD的时候,
printk.disable_uart=0
因为USER版本默认开机后进入终端不会打印这些LOG。
而ENG版本如果需要这样设置就可以将上面的#else分支下的=1改为0重新编译源码然后下载lk.bin即可。
那如果要其它打印信息怎么办呢?
直接在终端按回车,打印信息就出来了。
关于这部分的代码我还不是特别的熟悉,等有时间,我再分析一下完善我的这篇博客。