前言
嵌入式设备在不需要图形桌面的情况下,可以将图形桌面切换为命令行模式,并将设备的调试信息输出至显示屏,以减少桌面环境对系统资源的消耗。本文以Rockchip RK3568 Linux 系统为例,说明配置系统支持调试信息重定向至显示屏的方法。
内核配置
- 配置内核支持 Framebuffer Console,在内核源码目录进入 menuconfig 配置界面,使能下列功能
FRAMEBUFFER_CONSOLE [=y]
- 设备树中,将 bootargs 参数的 console 值设置为 tty1
-
RK3568 Linux SDK 文件路径为:kernel/arch/arm64/boot/dts/rockchip/rk3568-linux.dtsi
chosen: chosen { bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=tty1 root=PARTUUID=614e0000-0000 rw rootwait"; };
桌面配置
在配置了系统的内核支持后,将会在显示屏上看到系统输出的日志。但是当系统的桌面环境启动后,显示屏将会再次被桌面显示占用。为了能够让调试信息保持显示在显示屏上,还需要将系统的桌面管理器关闭。
以Debian10 buster Desktop系统为例,界面关闭方法如下
systemctl disable lightdm
执行完以上命令并重启系统,桌面将不再启动,此时显示屏将能保持输出系统的日志,并显示登陆终端。
在关闭桌面管理器的情况下,可以执行一下命令恢复至图形桌面系统
dpkg-reconfigure lightdm
系统日志等级配置
系统的日志消息由 systemd journal 服务管理,journal 在接收到程序输出的日志消息后,将会向syslog、kmsg和调试终端发送,为了避免调试终端被不重要的日志输出干扰,可以通过修改 journal 配置来控制输出到调试终端的日志等级。系统日志有7个等级,由低到高,分别为:emerg、alert、crit、err、warning、notice、info、debug。
Debian10 系统的日志等级配置文件为:/etc/systemd/journald.conf
默认情况下终端日志等级为 info,即只有等级小于或等于 info 的日志可以输出,大于 info 等级的日志将被丢弃。为了避免调试终端被普通日志输出干扰,可修改配置文件,将 info 变更为更小的 err,从而减少输出到调试终端日志。修改方法如下:
#MaxLevelConsole=info
MaxLevelConsole=err
产品图片与资料
IDO-SOM3568-V1邮票孔版本正面
IDO-SOM3568-V1邮票孔版本反面
IDO-SOM3568-V2金手指版本正面
IDO-SOM3568-V2金手指版本反面
详情资料请查看
触智能 觉未来- 深圳触觉智能科技有限公司 (industio.cn)