重定向开发板串口 ttyS0

 

1. 开发板默认的串口输出是 ttyS0, 可以从bootargs看出

Starting kernel ...

[    0.000000] Linux version 3.14.77 (sprint@dell) (gcc version 5.2.0 (HOS GCC 5.2.0 unknown) ) #4 Mon Aug 13 17:54:40 CST 2018
[    0.000000] arg 1: bootargs=console=ttyS0,115200
[    0.000000] arg 2: root=31:02
[    0.000000] arg 3: rootfstype=jffs2
[    0.000000] arg 4: init=/sbin/init
[    0.000000] arg 5: mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib)
[    0.000000] arg 6: ramdisk_size=128M
[    0.000000] arg 7: mem=126M
[    0.000000] bootconsole [early0] enabled

尝试去修改bootloader的传递参数 boot args,修改方法为: 

setenv bootargs "bootargs=console=ttyUSB0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib)"

结果: kernel的启动log显示已经修改为 ttyUSB0了,可是实际上还是使用的串口ttyS0进行的输出

Starting kernel ...

[    0.000000] Linux version 3.14.77 (sprint@dell) (gcc version 5.2.0 (HOS GCC 5.2.0 unknown) ) #4 Mon Aug 13 17:54:40 CST 2018
[    0.000000] arg 1: console=ttyUSB0,115200
[    0.000000] arg 2: root=31:02
[    0.000000] arg 3: rootfstype=jffs2
[    0.000000] arg 4: init=/sbin/init
[    0.000000] arg 5: mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib)
[    0.000000] arg 6: ramdisk_size=128M
[    0.000000] arg 7: mem=126M
[    0.000000] bootconsole [early0] enabled

2. 修改/etc/inittab文件,在里边将 ttyS0修改为 ttyUSB0:

root@AP-54:F0:~# cat /etc/inittab 
::sysinit:/etc/init.d/rcS S boot
::sysinitc:/etc/init.d/rcS S boot
::sysinito:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
ttyS0::respawn:/sbin/getty -L ttyUSB0 115200 vt100

修改后,执行reboot,前半段的log是由ttyS0输出,后半段的log是由ttyUSB0输出的,估计是 inittab脚本执行后就将串口重定向到了ttyUSB0了。

至此,问题基本解决

猜你喜欢

转载自www.cnblogs.com/dream-2017/p/9470672.html