1. 程式人生 > >Android--Linux kernel log級別修改

Android--Linux kernel log級別修改

在我們開發過程中,核心的資訊一開機就會很多,然後一直打個不停,很煩人,也不好看除錯資訊,更不好在串列埠終端輸入相關的命令進行除錯。

那麼有什麼辦法可以解決?

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。