工控网首页
>

应用设计

>

ARM Linux 更新启动画面

ARM Linux 更新启动画面

  启动画面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-100dpixfonts-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.ppmlogo_custom_clut224.ppm

$ mv logo_custom_clut224.ppmlinux-kernel/drivers/video/logo/

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

6). 修改编译配置文件

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

./  Kconfig文件添加下面内容

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

configLOGO_CUSTOM_CLUT224

       bool "Custom 224-color Linuxlogo"

       default n

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

./ Makefile文件添加下面内容

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

obj-$(CONFIG_LOGO_CUSTOM_CLUT224)       += logo_custom_clut224.o

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

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

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

#ifdef CONFIG_LOGO_CUSTOM_CLUT224

               /* Custom Linux logo */

               logo =&logo_custom_clut224;

#endif

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

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

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

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

extern const struct linux_logologo_custom_clut224;

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

7). 重新编译内核

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

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

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

$ tar xvfgcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

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

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

b). 配置环境变量

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

$ exportARCH=arm

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

$ exportCROSS_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). 按如下方法,将原标准Linuximage中的zImage替换为新的定制启动画面的zImage

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

$ cp zImage zImage_custom

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

$ ln -fs /boot/zImage-customzImage

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

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

9). 配置目标板

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

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

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

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

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

在 Linux 系统上 Docker 容器的性能影响

上游优先 - Toradex 采用主线内核支持

NXP iMX8M Plus M7核心FreeRTOS开发

嵌入式Linux上使用Ramoops

使用容器编译Yocto镜像