在我们开发过程中,内核的信息一开机就会很多,然后一直打个不停,很烦人,也不好看调试信息,更不好在串口终端输入相关的命令进行调试。
那么有什么办法可以解决?
1、在kernel中修改log默认等级,
kernel-3.18/include/linux/printk.h
static inline void console_verbose(void)函数中的
console_loglevel = CONSOLE_LOGLEVEL_MIN; //CONSOLE_LOGLEVEL_MOTORMOUTH;
然后重新编译内核。
2、通过以下方法可以修改串口的用户等级,可以自主决定使用串口log的级别,仅限调试。
2.1 修改vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt8127/rules.mk
SELINUX_STATUS := 2
2.2 system/core/rootdir/init.rc b/system/core/rootdir/init.rc
service console /system/bin/sh
class core
console
disabled
//user shell
seclabel u:r:shell:s0
2.3 此时的串口为root用户,然后通过echo 0 > /proc/sys/kernel/printk 关闭串口或者打开。
需要重新编译 lk ,boot。