【正点原子I.MX6U-MINI】修改开机内核Logo和进度条界面Logo(一)
修改LINUX开机进度条及内核LOGO
参考:【正点原子】I.MX6U 修改开机进度条及内核logo参考手册V1.0.pdf
1、修改进度条其及其logo
1 下载psplash源码
可以在网上下载 psplash 源码,正点原子也提供了修改好的 psplash 源码在光盘中。光盘路径:开发板光盘 A-基础资料\1、例程源码\7、第三方库源码\psplash\psplash.tar.gz在 Ubuntu 中创建一个 psplash 文件夹用于存放本文档的源码,将 psplash.tar.gz 源码放到此目录下解压。
解压完后会看到一个make-image-header.sh
的脚本,等下会使用这个脚本来将图片变转化成头文件。
将这两张图片拷贝到psplash源码目录中,如下图所示。
在使用脚本之前,需要安装库,否则会报错。
sudo apt-get install libgdk-pixbuf2.0-dev
安装的过程中可能会出现依赖错误可能是镜像源的问题。
修改合适的源
使用aptitude 安装
sudo aptitude install libgdk-pixbuf2.0-dev
在第一次询问的时候选择“n”
zhiguoxin@ubuntu16:~/linux/IMX6ULL/psplash$ sudo aptitude install libgdk-pixbuf2.0-dev
下列“新”软件包将被安装。
gcc-6-base:i386{a} libc6:i386{ab} libelf1:i386{ab} libffi6:i386{a} libgcc1:i386{a} libgdk-pixbuf2.0-dev{b} libglib2.0-0:i386{ab}
libglib2.0-bin:i386{ab} libglib2.0-dev{ab} libpcre3:i386{a} libpcre3-dev{a} libpcre32-3{a} libpcrecpp0v5{a} libpng12-dev{ab} libselinux1:i386{a}
zlib1g:i386{ab} zlib1g-dev{ab}
0 个软件包被升级,新安装 17 个, 0 个将被删除, 同时 0 个将不升级。
需要获取 6,406 kB 的存档。 解包后将要使用 33.3 MB。
下列软件包存在未满足的依赖关系:
libelf1 : 破坏: libelf1:i386 (!= 0.165-3ubuntu1.1) 但是 0.165-3ubuntu1 将被安装。
libelf1:i386 : 破坏: libelf1 (!= 0.165-3ubuntu1) 但是 0.165-3ubuntu1.1 已安装。
zlib1g : 破坏: zlib1g:i386 (!= 1:1.2.8.dfsg-2ubuntu4.1) 但是 1:1.2.8.dfsg-2ubuntu4 将被安装。
zlib1g:i386 : 破坏: zlib1g (!= 1:1.2.8.dfsg-2ubuntu4) 但是 1:1.2.8.dfsg-2ubuntu4.1 已安装。
libc6 : 破坏: libc6:i386 (!= 2.23-0ubuntu10) 但是 2.23-0ubuntu3 将被安装。
libc6:i386 : 破坏: libc6 (!= 2.23-0ubuntu3) 但是 2.23-0ubuntu10 已安装。
zlib1g-dev : 依赖: zlib1g (= 1:1.2.8.dfsg-2ubuntu4) 但是 1:1.2.8.dfsg-2ubuntu4.1 已安装。
libpng12-dev : 依赖: libpng12-0 (= 1.2.54-1ubuntu1) 但是 1.2.54-1ubuntu1.1 已安装。
libglib2.0-bin : 冲突: libglib2.0-bin:i386 但是 2.48.0-1ubuntu4 将被安装。
libglib2.0-bin:i386 : 冲突: libglib2.0-bin 但是 2.48.2-0ubuntu3 已安装。
libglib2.0-dev : 依赖: libglib2.0-0 (= 2.48.0-1ubuntu4) 但是 2.48.2-0ubuntu3 已安装。
libgdk-pixbuf2.0-dev : 依赖: libgdk-pixbuf2.0-0 (= 2.32.2-1ubuntu1) 但是 2.32.2-1ubuntu1.5 已安装。
依赖: gir1.2-gdkpixbuf-2.0 (= 2.32.2-1ubuntu1) 但是 2.32.2-1ubuntu1.5 已安装。
libglib2.0-0 : 破坏: libglib2.0-0:i386 (!= 2.48.2-0ubuntu3) 但是 2.48.0-1ubuntu4 将被安装。
libglib2.0-0:i386 : 破坏: libglib2.0-0 (!= 2.48.0-1ubuntu4) 但是 2.48.2-0ubuntu3 已安装。
打开:28;关闭;561;defer: 11; 冲突;32 .下列动作将解决这些依赖关系:
保持 下列软件包于其当前版本:
1) libc6:i386 [未安装的]
2) libelf1:i386 [未安装的]
3) libffi6:i386 [未安装的]
4) libgcc1:i386 [未安装的]
5) libgdk-pixbuf2.0-dev [未安装的]
6) libglib2.0-0:i386 [未安装的]
7) libglib2.0-bin:i386 [未安装的]
8) libglib2.0-dev [未安装的]
9) libpcre3:i386 [未安装的]
10) libpng12-dev [未安装的]
11) libselinux1:i386 [未安装的]
12) zlib1g:i386 [未安装的]
13) zlib1g-dev [未安装的]
是否接受该解决方案?[Y/n/q/?] n
打开:621;关闭;11275;defer: 294; 冲突;942 o下列动作将解决这些依赖关系:
保持 下列软件包于其当前版本:
1) libc6:i386 [未安装的]
2) libelf1:i386 [未安装的]
3) libffi6:i386 [未安装的]
4) libgcc1:i386 [未安装的]
5) libglib2.0-0:i386 [未安装的]
6) libglib2.0-bin:i386 [未安装的]
7) libpcre3:i386 [未安装的]
8) libselinux1:i386 [未安装的]
9) zlib1g:i386 [未安装的]
降级 下列软件包:
10) gir1.2-gdkpixbuf-2.0 [2.32.2-1ubuntu1.5 (now) -> 2.32.2-1ubuntu1 (xenial)]
11) libgdk-pixbuf2.0-0 [2.32.2-1ubuntu1.5 (now) -> 2.32.2-1ubuntu1 (xenial)]
12) libgdk-pixbuf2.0-common [2.32.2-1ubuntu1.5 (now) -> 2.32.2-1ubuntu1 (xenial)]
13) libglib2.0-0 [2.48.2-0ubuntu3 (now) -> 2.48.0-1ubuntu4 (xenial)]
14) libglib2.0-bin [2.48.2-0ubuntu3 (now) -> 2.48.0-1ubuntu4 (xenial)]
15) libpng12-0 [1.2.54-1ubuntu1.1 (now) -> 1.2.54-1ubuntu1 (xenial)]
16) zlib1g [1:1.2.8.dfsg-2ubuntu4.1 (now) -> 1:1.2.8.dfsg-2ubuntu4 (xenial)]
是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
gir1.2-gdkpixbuf-2.0 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libglib2.0-0 libglib2.0-bin libpng12-0 zlib1g
下列“新”软件包将被安装。
libgdk-pixbuf2.0-dev libglib2.0-dev{a} libpcre3-dev{a} libpcre32-3{a} libpcrecpp0v5{a} libpng12-dev{a} zlib1g-dev{a}
0 个软件包被升级,新安装 7 个, 7 个被降级, 0 个将被删除, 同时 0 个将不升级。
需要获取 3,949 kB 的存档。 解包后将要使用 17.6 MB。
您要继续吗?[Y/n/?] y
读取: 1 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libpcrecpp0v5 amd64 2:8.38-3.1 [15.2 kB]
读取: 2 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 zlib1g amd64 1:1.2.8.dfsg-2ubuntu4 [51.3 kB]
读取: 3 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libpng12-0 amd64 1.2.54-1ubuntu1 [116 kB]
读取: 4 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libglib2.0-bin amd64 2.48.0-1ubuntu4 [39.4 kB]
读取: 5 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libglib2.0-0 amd64 2.48.0-1ubuntu4 [1,117 kB]
读取: 6 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libgdk-pixbuf2.0-0 amd64 2.32.2-1ubuntu1 [158 kB]
读取: 7 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libgdk-pixbuf2.0-common all 2.32.2-1ubuntu1 [9,996 B]
读取: 8 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 gir1.2-gdkpixbuf-2.0 amd64 2.32.2-1ubuntu1 [8,094 B]
读取: 9 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libpcre32-3 amd64 2:8.38-3.1 [136 kB]
读取: 10 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libpcre3-dev amd64 2:8.38-3.1 [525 kB]
读取: 11 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 zlib1g-dev amd64 1:1.2.8.dfsg-2ubuntu4 [168 kB]
读取: 12 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libglib2.0-dev amd64 2.48.0-1ubuntu4 [1,377 kB]
读取: 13 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libpng12-dev amd64 1.2.54-1ubuntu1 [184 kB]
读取: 14 http://mirrors.nju.edu.cn/ubuntu xenial/main amd64 libgdk-pixbuf2.0-dev amd64 2.32.2-1ubuntu1 [44.5 kB]
已下载 3,949 kB,耗时 2秒 (1,331 kB/s)
正在选中未选择的软件包 libpcrecpp0v5:amd64。
(正在读取数据库 ... 系统当前共安装有 193154 个文件和目录。)
正准备解包 .../libpcrecpp0v5_2%3a8.38-3.1_amd64.deb ...
正在解包 libpcrecpp0v5:amd64 (2:8.38-3.1) ...
dpkg:警告:即将把 zlib1g:amd64 从 1:1.2.8.dfsg-2ubuntu4.1 降级到 1:1.2.8.dfsg-2ubuntu4
正准备解包 .../zlib1g_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb ...
正在将 zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4) 解包到 (1:1.2.8.dfsg-2ubuntu4.1) 上 ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...
正在设置 zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...
dpkg:警告:即将把 libpng12-0:amd64 从 1.2.54-1ubuntu1.1 降级到 1.2.54-1ubuntu1
(正在读取数据库 ... 系统当前共安装有 193162 个文件和目录。)
正准备解包 .../libpng12-0_1.2.54-1ubuntu1_amd64.deb ...
正在将 libpng12-0:amd64 (1.2.54-1ubuntu1) 解包到 (1.2.54-1ubuntu1.1) 上 ...
dpkg:警告:即将把 libglib2.0-bin 从 2.48.2-0ubuntu3 降级到 2.48.0-1ubuntu4
正准备解包 .../libglib2.0-bin_2.48.0-1ubuntu4_amd64.deb ...
正在将 libglib2.0-bin (2.48.0-1ubuntu4) 解包到 (2.48.2-0ubuntu3) 上 ...
dpkg:警告:即将把 libglib2.0-0:amd64 从 2.48.2-0ubuntu3 降级到 2.48.0-1ubuntu4
正准备解包 .../libglib2.0-0_2.48.0-1ubuntu4_amd64.deb ...
正在将 libglib2.0-0:amd64 (2.48.0-1ubuntu4) 解包到 (2.48.2-0ubuntu3) 上 ...
dpkg:警告:即将把 libgdk-pixbuf2.0-0:amd64 从 2.32.2-1ubuntu1.5 降级到 2.32.2-1ubuntu1
正准备解包 .../libgdk-pixbuf2.0-0_2.32.2-1ubuntu1_amd64.deb ...
正在将 libgdk-pixbuf2.0-0:amd64 (2.32.2-1ubuntu1) 解包到 (2.32.2-1ubuntu1.5) 上 ...
dpkg:警告:即将把 libgdk-pixbuf2.0-common 从 2.32.2-1ubuntu1.5 降级到 2.32.2-1ubuntu1
正准备解包 .../libgdk-pixbuf2.0-common_2.32.2-1ubuntu1_all.deb ...
正在将 libgdk-pixbuf2.0-common (2.32.2-1ubuntu1) 解包到 (2.32.2-1ubuntu1.5) 上 ...
dpkg:警告:即将把 gir1.2-gdkpixbuf-2.0:amd64 从 2.32.2-1ubuntu1.5 降级到 2.32.2-1ubuntu1
正准备解包 .../gir1.2-gdkpixbuf-2.0_2.32.2-1ubuntu1_amd64.deb ...
正在将 gir1.2-gdkpixbuf-2.0:amd64 (2.32.2-1ubuntu1) 解包到 (2.32.2-1ubuntu1.5) 上 ...
正在选中未选择的软件包 libpcre32-3:amd64。
正准备解包 .../libpcre32-3_2%3a8.38-3.1_amd64.deb ...
正在解包 libpcre32-3:amd64 (2:8.38-3.1) ...
正在选中未选择的软件包 libpcre3-dev:amd64。
正准备解包 .../libpcre3-dev_2%3a8.38-3.1_amd64.deb ...
正在解包 libpcre3-dev:amd64 (2:8.38-3.1) ...
正在选中未选择的软件包 zlib1g-dev:amd64。
正准备解包 .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb ...
正在解包 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
正在选中未选择的软件包 libglib2.0-dev。
正准备解包 .../libglib2.0-dev_2.48.0-1ubuntu4_amd64.deb ...
正在解包 libglib2.0-dev (2.48.0-1ubuntu4) ...
正在选中未选择的软件包 libpng12-dev:amd64。
正准备解包 .../libpng12-dev_1.2.54-1ubuntu1_amd64.deb ...
正在解包 libpng12-dev:amd64 (1.2.54-1ubuntu1) ...
正在选中未选择的软件包 libgdk-pixbuf2.0-dev。
正准备解包 .../libgdk-pixbuf2.0-dev_2.32.2-1ubuntu1_amd64.deb ...
正在解包 libgdk-pixbuf2.0-dev (2.32.2-1ubuntu1) ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 libpcrecpp0v5:amd64 (2:8.38-3.1) ...
正在设置 libpng12-0:amd64 (1.2.54-1ubuntu1) ...
正在设置 libglib2.0-0:amd64 (2.48.0-1ubuntu4) ...
正在设置 libglib2.0-bin (2.48.0-1ubuntu4) ...
正在设置 libgdk-pixbuf2.0-common (2.32.2-1ubuntu1) ...
正在设置 libgdk-pixbuf2.0-0:amd64 (2.32.2-1ubuntu1) ...
正在设置 gir1.2-gdkpixbuf-2.0:amd64 (2.32.2-1ubuntu1) ...
正在设置 libpcre32-3:amd64 (2:8.38-3.1) ...
正在设置 libpcre3-dev:amd64 (2:8.38-3.1) ...
正在设置 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
正在设置 libglib2.0-dev (2.48.0-1ubuntu4) ...
正在设置 libpng12-dev:amd64 (1.2.54-1ubuntu1) ...
正在设置 libgdk-pixbuf2.0-dev (2.32.2-1ubuntu1) ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...
在安装一次就可以了,没有提示依赖的问题。
2、制作进度条和 logo
在 psplash源码中执行以下指令来生成logo-alientek-img.h
./make-image-header.sh logo-alientek.png POKY
POKY 参数只是一个变量,它会传入到logo-alientek-img.h
文件里面,可以打开查看。
vi logo-alientek-img.h
可以看到它必须是要加 POKY 参数的,因为其他地方要用到这样的宏定义。
返回到psplash源码下,执行以下指令生成psplash-bar-img.h
./make-image-header.sh logo-psplash-bar.png BAR
ls
同样我们打开 logo-psplash-bar-img.h 这个文件。它必须是加 BAR 参数的,因为其他地方会用到这样的宏定义。
vi logo-psplash-bar-img.h
打开psplash.c,将里面的#include “psplash-poky-img.h"修改成#include “logo-alientek-img.h”。将里面的 #include” psplash-bar-img.h"修改成 #include" logo-psplash-bar-img.h"。修改完后如下图所示。
vi psplash.c
修改完成后保存退出 psplash.c,返回到源码目录下。制作autogen.sh脚本,用于生成Makefile。
vi autogen.sh
脚本内容如下。
#!/bin/bash
aclocal
autoheader
automake --add-missing
autoconf
制作完脚本后,赋予它可执行权限,再执行这个脚本。
chmod +x autogen.sh
./autogen.sh
修改Makefile.am,将psplash-poky-img.h修改成logo-alientek-img.h,将psplash-bar-img.h修改成logo- psplash-bar-img.h
vi Makefile.am
修改完后的 Makefile.am 如下图所示。
修改完 Makefile.am 后保存退出,回到源码目录下。执行以下指令,使能环境变量。
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
环境变量使能后,就可以执行以下指令配置交叉编译工具链。
./configure --host=arm-linux
执行make指令进行编译。
make
编译完成后会在源码目录下生成psplash
和psplash-write
文件。
3、替换出厂系统进度条和 logo
将编译生成的psplash和psplash-write文件拷贝到开发板出厂文件系统/usr/bin 目录下。
scp /home/zhiguoxin/linux/IMX6ULL/psplash/psplash root@192.168.10.50:/usr/bin
可能会出现下面的问题
问题1
解决好办法如下:
rm ~/.ssh/known_hosts
问题2
解决办法如下:
使用ssh进入到开发板,输入一下指令
# 进入带=到开发板目/usr/bin/录
cd /usr/bin/
# 查询占用进程ID
sudo fuser psplash
# 杀死这个进程
sudo kill -9 95
然后在ubuntu中执行就可以了
# 解压源码
tar -vxf psplash.tar.gz
# 安装libgdk-pixbuf2.0-dev
##sudo apt-get install libgdk-pixbuf2.0-dev
# logo-alientek-img.h
./make-image-header.sh logo-alientek.png POKY
# 生成 psplash-bar-img.h
./make-image-header.sh logo-psplash-bar.png BAR
# 修改 psplash.c
vi psplash.c
#include "logo-alientek-img.h"
#include "logo-psplash-bar-img.h"
# 制作 autogen.sh 脚本,用于生成 Makefile
vi autogen.sh
#!/bin/bash
aclocal
autoheader
automake --add-missing
autoconf
# 赋予脚本可执行权限
chmod +x autogen.sh
# 执行这个脚本
./autogen.sh
# 修改makefile
vi Makefile.am
logo-alientek-img.h logo-psplash-bar-img.h
# 使能环境变量
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
# 配置交叉编译工具链
./configure --host=arm-linux
# 编译
make
# 在开发板中找到psplash进程,杀死
cd /usr/bin/
sudo fuser psplash
sudo kill -9 95
# 将编译生成的 psplash 和 psplash-write 文件拷贝到开发板出厂文件系统/usr/bin 目录下
scp /home/zhiguoxin/linux/IMX6ULL/psplash/psplash root@192.168.10.50:/usr/bin
scp /home/zhiguoxin/linux/IMX6ULL/psplash/psplash-write root@192.168.10.50:/usr/bin
完成后启动开发板,可以看到如下界面
2、修改内核 logo
修改完出厂系统的进度条后,我们发现开机后仍后正点原子的出厂logo存在,这并不是刚刚的修改失败,因为这个是内核的logo,我们刚刚修改的是进度条界面的logo。接下来我们就来修改内核的logo。
2.1 图片准备
图片要求:
- 格式:BMP或者PNG格式。如果是别的格式的图片,可以通过Windows自带的画图软件来另存为BMP或者PNG格式。
- 分辨率:不能高于屏幕LCD的分辨率。可以用画图软件,可以对图片右键选择属性,在详细信息中可以看到图片的分辨率。
这里以光盘源码中的logo-linux.png为例。
光盘路径:开发板光盘 A-基础资料\1、例程源码\7、第三方库源码\psplash
2.2 源码准备
本文档以出厂系统为例。在 Ubuntu 中新建一个 linux-alientek 的文件夹用于存放出厂的内核源码。将光盘中的出厂内核源码linux-imx-4.1.15-2.1.0-gb78e551-v1.4.tar.xz
拷贝到linux-alientek
目录中。
光盘路径:开发板光盘 A-基础资料\1、例程源码\3、正点原子Uboot和Linux出厂源码
解压内核源码。
tar vxf linux-imx-4.1.15-2.1.0-gb78e551-v1.4.tar.xz
ls
在文件管理器中进入内核源码的drivers/video/logo
目录下,可以看到启动内核时的 logo。这里可以看到正点原子出厂系统内核启动的 logo。
将我们准备好的 logo-linux.png 图片拷贝到这个目录中。拷贝完后的目录如下所示
将正点原子出厂系统 logo 重命名为logo_linux_clut224_V1.ppm
。因为我们等下要替换掉logo_linux_clut224.ppm
。
mv logo_linux_clut224.ppm logo_linux_clut224_V1.ppm
2.3、图片格式转换
我们需要把png格式的图片转换成ppm格式。安装图片转换工具netpdm,执行以下命令。
sudo apt-get install netpbm
使用 netpbm 工具转换图片,执行以下命令。
pngtopnm logo-linux.png > logo-linux.pnm
pnmquant 224 logo-linux.pnm > logo-linux224.pnm
pnmtoplainpnm logo-linux224.pnm > logo_linux_clut224.ppm
分析:
pngtopnm logo-linux.png > logo-linux.pnm
这步是将准备好的logo-linux.png 转换成logo-linux.pnm,即转换成 pnm格式。
pnmquant 224 logo-linux.pnm > logo-linux224.pnm
这步是将 logo-linux.pnm 图片的最大颜色数量改为224。
注意,这里前后名字不能一样,可以理解为要另存为。否则会报错,如下图所示。
pnmtoplainpnm logo-linux224.pnm > logo_linux_clut224.ppm
这步是将 pnm 格式图片转换成 ppm 格式,顺便将其重命名为 logo_linux_clut224.ppm,我们是在内核源码的 drivers/video/logo 目录下直接进行的,所以此步就直接替换内核原来的 logo(之前的 logo_linux_clut224.ppm 我们已经重命名了 logo_linux_clut224_V1.ppm)如果不是在 drivers/video/logo 目录下进行的转换,需要将转换好的 logo_linux_clut224.ppm拷贝到 drivers/video/logo 目录下替换掉原先的 logo_linux_clut224.ppm。
2.4、配置内核logo显示
出厂系统的内核已经配置好 logo 显示了,可以跳过此步。但为了文档的完整性,这里还是要说明一下。(注:这里使用的还是出厂的内核源码)
执行以下命令安装编译内核要用到的库和显示 menucofig 菜单时要用到的库。
返回到内核源码的顶层目录下,执行以下指令使能交叉编译器,清理并配置内核。(注意:如果没有安装文档对应的交叉编译器,请按照《I.MX6U用户快速体验》4.2小节搭建交叉编译环境来安装)
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
make distclean
make imx_v7_defconfig -j 16
2.5 编译内核
执行以下指令编译内核zImage
文件。
make zImage -j8
编译成功(编译大概需要好几分钟,请耐心等待)就会提示zImage is ready
。
将arch/arm/boot
目录下的zImage
烧录到开发板或者使用TFTP
挂载到开发板上,启动开发板即可显示 logo
。
现在使用mfgtool软件使用otg烧录固件。
注意:将开发板上的拨码开关拨至USB,插上电脑的USB线至USB OTG接口,开始烧录。
烧录完成后,将开发板上的拨码开关拨至EMMC。复位开发板就可以了。
修改了内核的logo后可能重启开发板后还是显示这个正点原子的logo,虽然你的内核的 logo修改了,但是进度条界面的 logo的logo又被覆盖了,这时你只需要你将第一步最开始修改进度条的logo所生成的文件拷贝到你的板子上面就可以了。
scp /home/zhiguoxin/linux/IMX6ULL/psplash/psplash root@192.168.10.50:/usr/bin
scp /home/zhiguoxin/linux/IMX6ULL/psplash/psplash-write root@192.168.10.50:/usr/bin
2.6 修改内核Logo位置
1、修改fbmem.c
vi drivers/video/core/fbmem.c
找到fb_show_logo_line
函数,把
image.dx = 0;
image.dy = y;
改为
image.dx = (info->var.xres/2) - (428/2);
image.dy = (info->var.yres/2) - (214/2);
2、修改fbcon.c
vi drivers/video/console/fbcon.c
找到fbcon_prepare_logo
函数,在
logo_height = fb_prepare_logo(info, ops->rotate);
后面加上
logo_height += (info->var.yres/2) - (214/2);
如果想删除内核logo
rm /usr/bin/psplash
rm /usr/bin/psplash-write
更多推荐
所有评论(0)