在开发,生产,测试等环节,遇到问题导致无法继续使用,例如:关机卡死,开机卡死等,串口信息可以帮助我们收集一些系统日志看不到的细节,以及硬件的返回值
? 串口(串行端口),一般场景下使用的串口多为三针角,分别为:TXD、RXD、GND
TXD:发送数据
RXD:接收数据
GND:信号地
主板对应上也会有三个同样的接口,连接需要硬件厂商提供串口线,将对应发送、接收、地址连接即可
值得注意的是,有些机器主板上(大多为笔记本)串口针不是突出的(只有一个焊锡的小点点),此时就需要联系硬件同事把串口线利用焊锡焊在主板上
串口线长这样(在主板上俗称公口,连接是为下图母口加 USB 转接线):
为了能更好的更全面的记录串口输出的日志信息,需要修改 grub 中的内核参数
修改分为两种:
此方法启动后就会失效,重启,s4再次到grub菜单时需要再次修改,适用于临时改动
修改步骤:
quiet
参数去掉,并将 loglevel=0
修改为 loglevel=7
如下图ctrl + x
即可启动系统,并在串口输出端完成完整打印信息(串口输出端配置见标题 4)长久修改是进系统之后,修改 grub.cfg 此种方式修改后会长久生效,每次重启,s4时不需要再次改动
需要注意的是,更新内核或执行命令 update-grub
后,该修改会失效
桌面右击 - 打开终端,执行 sudo su
获取 root 权限
编辑文件 vim /boot/efi/boot/grub.grub.cfg
(efi 和 传统引导的 grub 文件位置不同,配置文件根据自己的环境来更改哦)
进入到 grub 菜单后,找到 grub 菜单默认启动内核入口 menuentry ‘Kylin V10 4.4.131-20200710.kylin.x86-generic’
,可参考下列修改后 grub,实际情况根据环境变化而定
menuentry ‘Kylin V10 4.4.131-20200710.kylin.x86-generic‘ --class kylin --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-a2533f78-c422-4b9a-a355-5a7b555a6daf‘ {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos1‘
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 3fe01578-2edf-454b-bf0a-35066831d915
else
search --no-floppy --fs-uuid --set=root 3fe01578-2edf-454b-bf0a-35066831d915
fi
linux /vmlinuz-4.4.131-20200710.kylin.x86-generic root=UUID=a2533f78-c422-4b9a-a355-5a7b555a6daf ro locale=zh_CN splash loglevel=7 resume=UUID=a7260390-d01c-4e72-aee8-160140054ce1 security=
initrd /initrd.img-4.4.131-20200710.kylin.x86-generic
}
若是在做稳定性测试时出现异常,则需要在 gurb 参数行尾(loglevel=7 那一行)添加 initcall_debug=1
,此参数会在做 shutdown、reboot、s3、s4 测试时打印更为详细的内核日志
一般串口识别为 /dev/ttyUSB0
,根据情况也可能识别为 /dev/ttyAMA0
或 /dev/ttyS0
,具体识别为哪个根据现场环境来判断
系统串口不输出东西:若串口无法输出信息,检查线序是否接对,检查串口识别成哪个,然后在 grub 行尾添加串口识别信息,例: console=ttyS0,115200
,若还不行可考虑是否为串口线或其他硬件问题
系统串口输出乱码:可查看系统下有无 pabiometric 软件包,此软件包会影响串口输出,可直接卸载
# dpkg -P pabiometric
串口默认频率是 115200,若一直输出乱码,可通过命令来修改串口频率
1. 查看对应串口频率
# stty -F /dev/ttyUSB0
speed 115200 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel iutf8 -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
2. 修改串口频率
# stty -F /dev/ttyUSB0 115200
在 release 版本中,一般都会存在一个命令 minicom
使用方法:
# minicom -s
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
Serial port setup
选项,然后摁 enter
键,会弹出如下图界面利用上面确认串口识别命令确认好串口设备后,按 shift a
切换到 Serial Device
选项上修改对应的串口设备,根据频率按 shift e
切换到 Bps/Par/Bits
选项上修改串口频率,修改完成后按 enter
键
然后利用上下光标移动到 save setup as dfl
选项上按 enter
键保存
然后利用上下光标移动到 exit
选项上按 enter
键进入到串口输出界面
原文:https://www.cnblogs.com/Tzyyviki/p/14677610.html