分析设备无法开机或开机出现异常,得用串口抓取开机log,但是user版默认是关闭串口的,所以你得去 lk 把串口打开。
Android 5、6的修改方法:
diff --git a/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c b/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
old mode 100644
new mode 100755
index 2440e9a016..06951b9850
--- a/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
+++ b/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
@@ -813,7 +813,8 @@ int boot_linux_fdt(void *kernel, unsigned *tags,
if (!has_set_p2u) {
#ifdef USER_BUILD
- sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+ //sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+ sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0");
#else
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
#endif
@@ -1020,7 +1021,8 @@ void boot_linux(void *kernel, unsigned *tags,
#endif
if (!has_set_p2u) {
#ifdef USER_BUILD
- sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+ //sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+ sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0");
#else
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
#endif
printk.disable_uart=1修改为 printk.disable_uart=0 ,上面涉及到两处修改、其实开机的时候可能只调用到一处,本人懒得验证了就两处都修改了。
Android 10 高版本的修改:
--- a/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
@@ -1258,7 +1258,7 @@ int boot_linux_fdt(void *kernel, unsigned *tags,
#endif
cmdline_append("printk.disable_uart=1 slub_debug=-");
else
- cmdline_append("printk.disable_uart=0");
+ cmdline_append("printk.disable_uart=1");
break;
case BUILD_TYPE_ENG:
**Anddoid10 的修改恰好与Android低版本的修改相反,而是将printk.disable_uart=0 修改为 printk.disable_uart=1!这是值得注意的地方!!! **
编译lk然后烧录lk,用串口抓取日志时不知道波特率的话可以查看
/bootable/bootloader/lk/platform/mediatek/common/drivers/uart/uart.c
#define CONFIG_BAUDRATE 921600