embedfire  firebbs  gitee  github Logo [野火]嵌入式Linux镜像构建与部署——基于LubanCat-MP157开发板
  • 关于本项目
  • 关于野火

说明

  • 文档概述

构建系统镜像

  • 1. Linux系统构成简单介绍
  • 2. 野火Lubancat-mp157镜像SDK
  • 3. SDK编译流程及用户配置
  • 4. Uboot的介绍
  • 5. Uboot的编译与修改
  • 6. Linux的介绍
  • 7. Linux内核的编译与修改
  • 8. 添加驱动模块到Linux内核
  • 9. 修改Linux内核启动logo
    • 9.1. 修改内核logo
      • 9.1.1. 准备一张图片
      • 9.1.2. 转换为ppm格式的图片
      • 9.1.3. 替换原本的logo文件
    • 9.2. 修改开机背景图
      • 9.2.1. 修改启动脚本和开机背景图
      • 9.2.2. 参考资料
  • 10. 设备树的简介
  • 11. 设备树的编译及烧录
  • 12. 根文件系统的介绍
  • 13. 构建基础根文件系统
  • 14. 野火根文件系统定制
  • 15. TF-A的介绍与编译

部署自己的应用

  • 1. 探索Systemd
  • 2. Linux制作deb包的方法
  • 3. 修改img镜像内部的文件

烧录、备份及量产镜像

  • 备份与量产说明
  • 烧写系统
  • emmc/nand与SD卡之间镜像备份与烧录
  • 使用dd备份、还原镜像

版权

  • 版权说明
[野火]嵌入式Linux镜像构建与部署——基于LubanCat-MP157开发板
产品图片
EBFMP157开发板
产品规格书 配套程序 立即购买 本书pdf


EBFMP157开发板是野火电子基于STM32MP157处理器设计的一款低功耗单板电脑, 单核A7加单核M4,A7核最高可达650MHz,M4核频率最高209MHz 提供完整的SDK驱动开发包、核心板封装库,底板应用参考设计原理图, 可帮助客户大大缩减产品的开发时间,加快产品上市。 配套的系统支持Debian、Ubuntu系统,支持python、Qt等组件。

  • »
  • 9. 修改Linux内核启动logo

9. 修改Linux内核启动logo¶

开发板开机时,若有连接屏幕,会在屏幕上显示内核默认的logo(小企鹅), 若想要修改启动logo,可以按照以下步骤操作。

9.1. 修改内核logo¶

9.1.1. 准备一张图片¶

选择自己想要的修改的logo图片,例如这里选择ubuntu的logo, 将它制作成适合显示屏大小的图片,比如5寸屏幕的分辨率是800*480:

注意

图片的长和宽必需能被16整除,如果不能则需要缩小长或宽。

building_kernel006

然后将其保存为 256色(即8位色)的bpm格式的图片 ,可以在Windows下或者Linux虚拟机下编辑:

building_kernel007

building_kernel007¶

9.1.2. 转换为ppm格式的图片¶

1、安装格式转换工具

1
2
3
sudo apt update

sudo apt install netpbm

2、在Linux下使用以下脚本将其转换为ppm格式的文件,为什么是ppm格式呢? 因为这是编译Linux内核必要的文件格式,想要修改logo,就要这种格式的文件, 它必须是 256色(即8位色)的bpm格式的图片 转换而成的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 #!/bin/bash
 if [ " $1" == " " ];
 then
     echo "usage:$0 bmp_file"
     exit 0
 fi

 if [ -f "$1" ]
 then
     echo $1
 else
     echo "no find file [$1]"
     exit 0
 fi

 name=${1%%.*}
 bmptopnm $1 > $name.pnm
 pnmquant 224 $name.pnm > $name.clut224.pnm
 pnmtoplainpnm $name.clut224.pnm > $name.ppm
 rm $name.pnm $name.clut224.pnm

这是bmp文件转换ppm格式文件的脚本,可以将其写入一个叫 bmp2ppm.sh 脚本文件中, 并且赋予其可执行的权限(使用 chmod +x bmp2ppm.sh 命令即可).

然后将准备好的bmp文件拷贝到制作ppm文件的目录下,使用 bmp2ppm.sh 脚本将其转化为ppm文件,具体操作如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 zhan@zhan:~$ ls
 bmp2ppm.sh  ubuntu.bmp  ubuntu.ppm

 zhan@zhan:~$ ./bmp2ppm.sh ubuntu.bmp
 ubuntu.bmp
 bmptopnm: Windows BMP, 800x480x8
 bmptopnm: WRITING PPM IMAGE
 pnmcolormap: making histogram...
 pnmcolormap: 29 colors found
 pnmcolormap: Image already has few enough colors (<=224).  Keeping same colors.
 pnmremap: 29 colors found in colormap
 zhan@zhan:~$

9.1.3. 替换原本的logo文件¶

1、在转换完成后,当前目录将出现对应的ppm文件, 我们将其拷贝到linux内核源码的 ebf_linux_kernel/drivers/video/logo 目录下, 因为我们的logo是存放在此处的,默认使用的logo为 logo_linux_clut224.ppm

2、将我们编译得到的ppm文件重命名为logo_linux_clut224.ppm,替换掉内核原先的logo_linux_clut224.ppm文件。

3、按照上面的编译步骤,重新编译内核,将得到的内核安装到开发板上即可。

9.2. 修改开机背景图¶

9.2.1. 修改启动脚本和开机背景图¶

启动开发板,内核启动后会执行文件系统的启动脚本, 而此时文件系统的启动脚本中 /opt/scripts/boot/psplash.sh 会去执行相应的应用程序 /usr/bin/psplash ,显示开机时的背景。

如下图:

开机背景图

若只想显示开机logo可以将这行注释掉,或者将 /lib/fireware/logo.bmp 修改为其他的图片路径 (可以将自己的图片用windows系统自带画图软件另存为24位bmp放/lib/firmware里面)。

9.2.2. 参考资料¶

kernel官网: https://www.kernel.org/

NXP内核源码: https://github.com/Freescale/linux-fslc

Next Previous

© Copyright 2019, embedfire-野火 www.embedfire.com
Revision e5d13ac. 最后更新于 2024-07-05, 11:25:21 — GMT+08:00 .
粤ICP备18017226号-1