文檔時間:2018-10-09
模塊平台:EC25EFA
Linux的默認控制台是debug串口,想要改變控制台,首先需要釋放debug串口。
釋放debug串口的步驟主要分為三步:1.禁止aboot的log輸出 2.禁止linux啟動過程的log輸出 3.取消linux console控制台。
1,Aboot啟動過程中會默認向debug串口打印消息,想取消這些打印信息,需要進行修改並重新編譯aboot。
1),添加打印關閉宏
vim apps_proc/bootable/bootloader/lk/project/mdm9607.mk
2),添加DEFINES += DEBUG_LOG_DISABLE=1宏
3),修改 uart_dm.c(位於xxx/apps_proc/bootable/bootloader/lk/platform/msm_shared/目錄下)
#ifdef DEBUG_LOG_DISABLE static unsigned int msm_boot_uart_dm_write(uint32_t base, char *data, unsigned int num_of_chars) { return MSM_BOOT_UART_DM_E_SUCCESS; } #else /* * UART transmit operation */ static unsigned int msm_boot_uart_dm_write(uint32_t base, char *data, unsigned int num_of_chars) { 。。。 } #endif
紅色部分為新增代碼
4),重新編譯aboot
rebake virtual/bootloader
2,禁止linux啟動過程的log輸出
在linux啟動過程中,會打印出一些信息,想去除這些消息,需要進行修改aboot傳給linux kernel的啟動參數
1),禁止linux啟動過程輸出log請在sdk目錄執行以下命令($為命令行提示符)
$ sed -i 's/console=ttyHSL0,115200,n8/console=disable/g' ql-ol-extsdk/tools/quectel_mkboot/mkqcomboot
2),重新編譯內核
$ make kernel
NOTE:
1),如果想恢復linux啟動log:sed -i 's/console=disable/console=ttyHSL0,115200,n8/g' ql-ol-extsdk/tools/quectel_mkboot/mkqcomboot
2),禁止log不能使用make debug_kernel_menuconfig來配置內核,否則內核會崩潰
3,取消linux console控制台
Linux console控制台的指定在rootfs中的/etc/inittab文件中,修改此文件就可以取消linux console控制台。
首先打開inittab文件,例如:vim ql-ol-rootfs/etc/inittab
注釋掉指定console控制台的語句
重新編譯rootfs
make rootfs
4,驗證
完成1,2,3步驟后,使用adb重新下載aboot,kernel和rootfs,開機后debug串口不在有任何輸出,使用adb shell可以登錄上去就說明釋放debug串口成功