Linux工控主板内核及开机画面的在线更新

 2019-4-10     作者:Emtronix    

  英创公司的Linux工控主板从EM系列到ESM系列均提供了在线更新工具软件flash_opt,可用于在线更新内核以及开机画面,特别是其中开机画面的在线更新,英创Linux主板可以支持从320x240到1920x1080等多种显示分辨率,其分辨率的设置则是通过不同的开机画面来实现的。flash_opt程序缺省包含在英创Linux工控主板的根文件系统中,客户可以直接在终端下运行该程序,运行flash_opt时必须带有两个参数:第一个参数指定更新类型,第二个参数指定更新文件名,指定更新文件名最好是带上完整路径。如:

  #>flash_opt zImage /mnt/usb1/zImage


  以下为现有的英创Linux系列工控主板上flash_opt所支持的命令简介:


板卡系列更新类型更新功能描述

ES928x

EM928x ESM928x

EM335x ESM335x

bmp更新开机画面
uImage更新Linux内核镜像
dtb更新Linux内核镜像

ESM6800

ESM6802

ESM7000

uboot更新uboot
bmp更新开机画面
zImage更新Linux内核镜像
dtb更新dtb文件


1、在线更新内核


  更新内核方法:

  ① 将准备好的更新文件放入U盘,并将U盘连接到需要更新的主板上,然后上电启动系统。

  ② 系统启动后,使用调试串口终端或者telnet终端,ESM6802、ESM7000还可以支持ssh终端。

  ③ 终端下使用#ls /mnt/usb1/ 查看U盘是否挂载成功。

  ④ 确认挂载成功后,输入命令(以ESM6802为例):

    #>flash_opt uboot /mnt/usb1/u-boot.imx

    #>flash_opt zImage /mnt/usb1/zImage

    #>flash_opt dtb /mnt/usb1/imx6dl-esm6802.dtb

  根据需要选择性地进行更新,完成后重启系统即可。


2、在线更新开机画面


  在线更新开机画面是客户常常会用到的功能,可以自定义开机画面或者更改显示分辨率。英创板卡出厂配置会根据客户指定的分辨率烧写缺省的“systemloading….”作为开机画面。


  在线更新开机画面操作步骤如下:

  ① 制作所需分辨率的256色8位bmp文件(文件名xxx.bmp),将制作好的bmp文件存放在U盘的根目录下。如果用户不需要修改开机画面显示内容,仅仅修改显示分辨率,可使用英创提供的默认开机画面位图文件。

    点此下载:默认开机画面

  ② 将U盘连接到需要更新的主板上,然后启动系统。

  ③ 系统启动后,使用调试串口终端或者telnet终端,ESM6802、ESM7000还可以支持ssh终端。

  ④ 终端下使用#ls /mnt/usb1/ 查看U盘是否挂载成功。

  ⑤ 确认挂载成功后,输入运行命令:

    #>flash_opt bmp /mnt/usb1/xxx.bmp

  完成后重启系统即可。


  ESM6802支持RGB、LVDS和HDMI三种显示接口方式,所以在烧写开机画面时需要指定显示接口,指定的方法则是通过bmp的文件名来区分,在文件名中增加“lvds”字符串,字符串均为小写,表明显示接口选用LVDS或HDMI模式,不带该字符串则为RGB模式。如:

  指定为LVDS或HDMI显示接口:

  #>flash_opt bmp /mnt/usb1/xxx_lvds.bmp

  指定为RGB显示接口:

  #>flash_opt bmp /mnt/usb1/xxx.bmp


  ESM7000支持RGB和LVDS两种显示接口,其中LVDS可以支持8-bit(24位)或者6-bit(18位)两种显示模式, RGB是按照默认的8-bit显示模式输出。为了和6802的使用上保持一致,因此在烧写开机画面时同样也是通过bmp的文件名来加以区分,文件名中带有“lvds” 则表明采用LVDS 6-bit(18位),不带则表明为RGB模式或者LVDS 8-bit(24位)模式。

  指定为LVDS 6-bit(18位)显示接口:

  #>flash_opt bmp /mnt/usb1/xxx_lvds.bmp

  指定为RGB或LVDS 8-bit(24位)显示接口:

  #>flash_opt bmp /mnt/usb1/xxx.bmp


  对于烧写ESM6800、ESM6802和ESM7000的开机画面中还提供了一个去掉内核中显示小企鹅的功能,也是通过bmp的文件名中增加特殊字符串来实现,如果带有了“nologo”字符串,烧写成功后,Linux内核启动时会自动驱动小企鹅的logo显示。

  #>flash_opt bmp /mnt/usb1/xxx_lvds_nologo.bmp或者

  #>flash_opt bmp /mnt/usb1/xxx_nologo.bmp