原创 ARM Linux 更新启动画面

2016-1-29 15:40 1341 18 18 分类: MCU/ 嵌入式

启动画面(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

                /* Custom Linux logo */

                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'

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

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条