×
单片机 > 单片机程序设计 > 详情

ARM Linux 更新启动画面

发布时间:2020-08-28 发布时间:
|
启动画面(Splash Screen)是指在Linux启动时候显示的图片,通常默认情况下Linux只是输出一些传统的小企鹅图标和启动Console命令行,但嵌入式设备都需要定制自己开机画面,这里就以Toradex ARM计算机模块及其发布Linux 为例对ARM Linux更新启动画面做说明。

1). 配置

开发主机:Ubuntu 14.04 X86_64

目标板:Toradex ARM 计算机模块及自带的Embedded Linux

 

2). 准备

下载Toradex Embedded Linux 源码包

请按这里说明如何下载及编译Kernel内核

安装相关软件包

----------------------------------------------------------------------------

$ sudo apt-get install gimp

$ sudo aptget install tgif xfonts-100dpi xfonts-75dpi

----------------------------------------------------------------------------

 

3). 创建原始启动画面图片

根据自己的需要利用gimp工具创建合适分辨率的图片,详细说明请见这里。这里将做好的图片命名为"toradexlogo_1024x600.ppm"

 

4). 修改图片颜色和编码

----------------------------------------------------------------------------

$ ppmquant 224 toradexlogo_1024x600.ppm > toradexlogo_1024x600_224.ppm

$ pnmnoraw toradexlogo_1024x600_224.ppm > toradexlogo_1024x600_ascii_224.ppm

----------------------------------------------------------------------------

 

5). 将最终图片改为系统默认名字后放置于源码目录下对应位置

----------------------------------------------------------------------------

$ cp toradexlogo_1024x600_ascii_224.ppm logo_custom_clut224.ppm

$ mv logo_custom_clut224.ppm linux-kernel/drivers/video/logo/

----------------------------------------------------------------------------

 

6). 修改编译配置文件

a). linux-kernel/drivers/video/logo目录里面需要修改Kconfig,Makfile和logo.c,如默认已经添加则无需修改。

./ Kconfig 文件添加下面内容

----------------------------------------------------------------------------

config LOGO_CUSTOM_CLUT224

bool "Custom 224-color Linux logo"

default n

----------------------------------------------------------------------------

./ Makefile文件添加下面内容

----------------------------------------------------------------------------

obj-$(CONFIG_LOGO_CUSTOM_CLUT224) += logo_custom_clut224.o

----------------------------------------------------------------------------

./ logo.c文件添加下面内容

----------------------------------------------------------------------------

#ifdef CONFIG_LOGO_CUSTOM_CLUT224

logo = &logo_custom_clut224;

#endif

----------------------------------------------------------------------------

b). linux-kernel/include/linux/目录里面,修改linux_logo.h,如默认已经添加则无需修改。

./ linux_logo.h文件添加下面内容

----------------------------------------------------------------------------

extern const struct linux_logo logo_custom_clut224;

----------------------------------------------------------------------------

 

7). 重新编译内核

详细说明请参考这里,这里以Colibri Vybrid产品为例,其他模块需改为对应参数。

a). 安装交叉编译Tool Chain,请从这里下载

----------------------------------------------------------------------------

$ tar xvf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

$ ln -s gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf gcc-linaro

----------------------------------------------------------------------------

b). 配置环境变量

----------------------------------------------------------------------------

$ export ARCH=arm

$ export PATH=~/gcc-linaro/bin/:$PATH

$ export CROSS_COMPILE=arm-linux-gnueabihf-

----------------------------------------------------------------------------

c). 生产并修改config文件

----------------------------------------------------------------------------

$ make colibri_vf_defconfig //生成默认.config文件

$ make menuconfig // 进入Device Drivers -> Graphics support -> Bootup logo -> 选择 "Custom 224-color Linux logo"之后保存。

----------------------------------------------------------------------------

d). 编译新的kernel image

----------------------------------------------------------------------------

make -j3 zImage | tee build.log

----------------------------------------------------------------------------

 

8). 部署新的image

a). 按如下方法,将原标准Linux image中的zImage替换为新的定制启动画面的zImage

----------------------------------------------------------------------------

$ cp zImage zImage_custom

$ sudo mv zImage_custom Colibri_VF_LinuxImageV2.x/rootfs/boot/

$ ln -fs /boot/zImage-custom zImage

----------------------------------------------------------------------------

b). 按照这里的方法将新的image刷写到目标板

 

9). 配置目标板

进入uboot,修改下面uboot环境变量,然后重启就可以了

----------------------------------------------------------------------------

$ setenv setup 'setenv setupargs vt.global_cursor_default=0 console=${console},${baudrate}n8 ${memargs} consoleblank=0'

----------------------------------------------------------------------------

关键字:ARM  Linux  启动画面 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会