目录
需求:
产品只有以太网接口,无外接调试串口;需要升级系统和固件(flash中的uboot);
硬件环境:
黑金 zynq7100 核心板 (qspiflash 16M * 2 + 16GB eMMC + 以太网)
软件环境:
vmware15 + ubuntu16.04 + petalinux2017.4;
内核版本: 官方 xilinx-linux-kernel 4.9.0
方案:
在ram中启用一套临时kernel + initramfs系统, 并升级flash中的固件和emmc中的系统;同时将启动信息发送到remote的syslog显示,让操作人员看到系统信息,判断升级结果。
步骤1:
修改linux根文件系统 /etc/syslog-startup.busybox文件;
DESTINATION=remote #//将系统信息通过upd/ip方式发送到远程syslog系统;
REMOTE=<IP>:<PORT> #// 远程syslog的IP地址和端口(默认514);
重启后kernel启动信息会发送到远程syslog上显示, 但是应用程序升级信息无法显示;
步骤2:
使用 logger命令,将应用程序的升级信息发送到远程syslog系统;
在启动应用程序的脚本文件startup.sh上添加logger命令将startup.sh的输出信息通过管道发送到远程syslog服务器显示
startup.sh | logger -s
步骤3:
PC启动“syslog服务器“接收到的log信息如下图:(与终端串口输出信息相同)