Android--Linux kernel log級別修改
阿新 • • 發佈:2019-02-07
在我們開發過程中,核心的資訊一開機就會很多,然後一直打個不停,很煩人,也不好看除錯資訊,更不好在串列埠終端輸入相關的命令進行除錯。
那麼有什麼辦法可以解決?
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。