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

说明

  • 文档概述

构建系统镜像

  • 1. Linux系统构成简单介绍
  • 2. 构建野火鲁班猫镜像
  • 3. image-builder编译流程及用户配置
  • 4. Uboot的介绍
  • 5. Uboot的编译
  • 6. Uboot的烧录
  • 7. Linux的介绍
  • 8. Linux内核的编译
  • 9. Linux内核的烧录
  • 10. 添加驱动模块到Linux内核
  • 11. 修改Linux内核启动logo
    • 11.1. 准备一张图片
    • 11.2. 转换为ppm格式的图片
    • 11.3. 替换原本的logo文件
    • 11.4. 修改启动脚本和开机背景图
    • 11.5. 参考资料
  • 12. 设备树的简介
  • 13. 设备树的编译及烧录
  • 14. 根文件系统的介绍
  • 15. Ubuntu Base构建根文件系统
  • 16. Debian根文件系统的构建
  • 17. 构建镜像介绍
  • 18. 根文件系统的烧录
  • 19. 四大组件组成鲁班猫SD镜像
  • 20. 烧写环境的搭建

部署自己的应用

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

烧录、备份及量产镜像

  • 备份与量产说明
  • 烧录Debian镜像至SD卡
  • 使用USB烧写固件
  • emmc/nand与SD卡之间镜像备份与烧录
  • 系统镜像备份、还原
  • 根文件系统备份与重新烧录

其他

  • 1. Uboot启动流程分析——上
  • 2. Uboot启动流程分析——下
  • 3. 修改Uboot开机logo
  • 4. Uboot的GPIO控制
  • 5. Uboot的移植
  • 6. 定制自己的Uboot单板

版权

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


EBF6ULL Pro/Mini开发板是野火电子基于NXP i.MX 6ULL系列处理器设计的一款低功耗单板电脑, 工业级主频最高可达 792MHz, 提供完整的SDK驱动开发包、核心板封装库,底板应用参考设计原理图, 可帮助客户大大缩减产品的开发时间,加快产品上市。 配套的系统支持Debian、Ubuntu系统,支持python、Qt等组件。

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

11. 修改Linux内核启动logo¶

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

11.1. 准备一张图片¶

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

building_kernel006

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

building_kernel007

building_kernel007¶

11.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:~$

11.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、按照上面的编译步骤,重新编译内核,将得到的内核安装到开发板上即可。

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

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

如下图:

开机背景图

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

11.5. 参考资料¶

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

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

Next Previous

© Copyright 2019, embedfire-野火 www.embedfire.com
Revision caff7ab. 最后更新于 2025-03-08, 17:31:44 — GMT+08:00 .
粤ICP备18017226号-1