文档时间: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串口成功
来源:oschina
链接:https://my.oschina.net/u/4331227/blog/3278926