优龙ST2410开发板-启动图标制做
1.方案分析
ARM-Linux启动时会先在LCD左上角显示一个ARMLINUX的小企鹅图案,也就是我们所说的bootlogo。
首先分析一下Logo的显示代码:
不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。
fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是SHARP(夏普)的TFT真彩屏.
再仔细看一下,这里用到的显示数据均来自kernel/include/linux/linux_logo.h。这里同样也有一些兼容性的数据,其中对我们有用的是:
linux_logo_red[] —— 调色板中的红色分量
linux_logo_green[] —— 调色板中的绿色分量
linux_logo_blue[] —— 调色板中的蓝色分量
linux_logo[] —— Logo图案的点阵
以
上数据都是不需要你修改的 在fbcon_show_logo里只做了256色的显示,所以要先设置一个RGB调色板。这里的调色板是从0x20色开始编
的,所以实际好象只有最多224色的显示。linux_logo.h里默认是做了一个214级的灰度调色板,如果想要更多色彩的话可以自已修改(注意调色
板的颜色不能超过224种)
再看linux_logo[],这是Logo图案的点阵。因为是256色的图,所以每点为一个Byte。Logo图案是80*80大小,所以这里总共有
6400 Byte。一共是800行,每行8 Byte即8
Point,每10行数据对应Logo图案中一行。可以先自己试试放一些简单图形进去显示看看。(同样注意颜色要从0x20开始,0-0x1f的32种颜
色是不确定的)。
以上分析是针对系统原版内核256色80x80的启动图标的说明。而我们要通过修改或替代原内核文件,来实现我们制做公司的的启动图标,要求如下:
1.开发板起动以后以全屏显示即240x320模式显示
2.图像以224色彩显示
2.方案设计
当然你不会只想显示一些简单图形,而是希望能把自已做的图片放上去。建议使用PhotoShop8.0这里提供三个方法加工图片:
1)先搞一个256色调色板,前面32个颜色空着,把后面224种颜色设一下吧。注意要尽量把颜色选全一些,要能覆盖到整个颜色区域上。这样就有一个通
用的调色板,可适用所有图片,但颜色的真实性稍差。然后把自己的图片打开,先将颜色设置到RGB空间里,然后裁剪/缩放到240x320象数的尺寸,再将
颜色优化到先前定义好的调色板里,图片就加工好了。
2)不用通用调色板,打开自己的图片,先将颜色设置到RGB空间,裁剪/缩放到240x320象素的尺寸,然后指定优化为224色图象。这样图片就加工好了,但其调色板就是专用的,不适合用到其他图片里。
3)
GIMP+FBLOGO GIMP为LINUX下一个绘图程序,我们使用它打开图片后在菜单栏先择: 图片->模式->索引颜色,然后通过工
具选项将图片大小调整到240x320象数大小,保存为.png格式。在使FBLOGO工具将其转换成linux_logo.h文件。
使用前两种
方法加工图片,还需要把数据放到我们的linux_logo.h里。调色板可以直接保存为文件,然后可以通过自制的小程序读出来就可以了。图片的点阵比较
难取,当然也可以自己做个程序去取屏幕上的点,不过比较困难。而后一种方法使用fblogo工具将用GIMP转换的图片文件自动生成
linux_logo.h文件。
3.最终实施方案
通过以上内容分析,我们确定使用第三种方法GIMP加fblogo工具的方案进行实施,以下我们制做的流程及其方法:
软件环境:linux虚拟机、fblogo工具、linux下的图像编辑工具GIMP
硬件环境:X86PC机一台、优龙ST2410开发板一个、交叉网线一条。
1.调试并编译开发板所相对应的内核包,调试通过后保留.config配制文件,准备编译bootlogo时使用。
2.在linux上解压fblogo_0.52.tgz包,并进行软件安装,生成fblogo二进制可执行文件。
3.进入linux的kde图形界面,在终端下使用gimp命令运行gimp工具。
4.打开公司的logo.jpg图像文件,依次选择 图像->模式->索引颜色、并将其图片大小调至240x320象素,最后将文件保存为logo.png格式。
5.
将上述文件保存到fblogo工具所在文件夹,首先在命令行下执行convert –colors 223 logo.png logo.png
将文件保存为224色素(目前fblogo工具仅支持到224色),接着再使用fblogo logo.png linux_logo.h
生成linux_logo.h内核启动代码中的图像缓冲区文件格式。
6.将linux_logo.h文件拷贝到kernel的include/linux目录即可。
7.重新编译linux系统内核,将生成的zImage内核镜像拷贝到windows下,准备对目标板进行烧写。
8.用串口将目标板与PC主机相连,接通电源,使用bnw工具进入目标板的bios程序并将生成的zImage内核镜像拷烧写到板子上,重起目标板,你会发现目标板上已经出现了美丽的logo图片。如果没有,请核对以上的步骤,并重新测试直到成功为止。
4 方案总结
4.1 方案实施过程中的关键问题
1.确保内核能够正常运行,编译时对开发板各硬件的驱动支持及其相关的配制,启动后能够自动加载文件系统。
2.安装fblogo工具,fblogo工具的编译需要使用到第三方的库文件libpng.so库以及zliba.a库的支持,编译成功后,在命令行试运行fblogo 如果安装成功将出现其使用的帮助信息。
3.fblogo工具对图片的要求是仅支持PNG格式的224色图片。
4.最后针对不同的开发板的LCD显示屏应使用与其相适应的图片大小,否则可能使系统无法正常工作。
4.2 方案实施后的遗留问题
由
于使用到了logo的制做工具fblogo
所以图片在色彩上最大仅能支持到224色图片,在bootlogo启动文件linux_logo.h中有图像的色彩域点阵代码(即图片的16位进制的代
码),如有需要可以自行修改,但其难度可想而知,建议可以将图片保存为TIF之类的非压缩格式,然后自已编写小程序将其从图象文件中的固定位置取点阵数
据。
5 2.6内核启动Logo
在配置内核的时候选中了启动Logo的支持。
使用下面的方法可以将企鹅的Logo换成自己喜欢的任意图片。
首先准备一幅自己喜欢的图片,然后将背景涂成黑色。然后将该图片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
然.
ppm替换/usr/src/linux-2.6.8.1/drivers/后用生成的
linuxlogo224video/logo/logo_linux_clut224.ppm(最好先做好备份),然后删除同一目录下的
logo_linux_clut224.c文件,重新编译内核,启动之后就可以在屏幕左上方看到自己的Logo了。
分享到:
相关推荐
PE启动画面制作是一种自定义操作系统启动过程中的图形界面的技术,主要应用于个人计算机系统,特别是修复或安装Windows系统的便携式环境(Portable Environment,简称PE)。这个教程将带你深入理解PE启动画面的创建...
通过以上这些工具和脚本,开发者可以深入Android内核的底层,实现系统优化、添加自定义功能,甚至创建自己的启动画面。然而,这需要一定的技术背景和专业知识,因此对于普通用户而言,应谨慎操作,避免损坏设备。
4. **整合到Boot Loader**:将生成的启动画面代码集成到`loadcepc`源码中,可能需要修改Boot Loader的源码,使其能够加载和显示自定义的启动画面。 5. **烧录和测试**:将修改后的Boot Loader和系统映像烧录到目标...
通过更换内核启动Logo,用户可以定制一个独一无二的启动画面。 #### 二、准备工作 1. **安装必要的软件包**: - 首先确保Ubuntu系统已经联网。 - 使用命令 `sudo apt-get install netpbm` 安装netpbm工具集,这...
`ro`表示内核将以只读模式挂载根文件系统,`quiet`则关闭启动时的日志输出,`splash`启用启动时的图形界面,而`vt.handoff=7`则是告诉系统在启动后将控制台分配给tty7,通常与启动画面有关。 若要添加新的启动参数...
本文将详细解读如何基于特定开发套件(EPC-287C-L)对Linux内核启动画面进行个性化定制,包括更新、制作、烧写和测试启动Logo的步骤。 首先,需要了解Linux内核默认会使用预编译的Logo,如果用户想要使用自定义Logo...
6. **设备驱动开发**:如果启动画面需要与特定硬件交互,可能需要编写或修改设备驱动程序。 7. **系统管理**:这部分可能涉及到权限管理、系统服务的启动和控制,以及与其他系统组件的交互。 8. **调试技巧**:在...
5. **测试与调试**:最后,开发者需要在硬件上测试新的启动画面,确保一切正常工作,没有导致启动失败或性能下降的问题。这可能涉及串口日志分析,以及使用GDB等远程调试工具。 6. **版本管理与持续集成**:对于...
- 如果需要修改内核菜单配置,可以在`kernel`目录下执行`make menuconfig`。 - 进入`Device Drivers > Graphics Support > Bootup logo`选项,选择合适的图片。 #### 四、其他参考资料 除了以上提到的方法外,还...
"亚控的直接启动画面程序"指的是亚控科技提供的一个特定功能,旨在帮助用户更便捷地启动和操作工业控制系统的人机界面(HMI)应用。这个程序可能包含了自定义启动设置,优化了系统加载过程,减少了等待时间,提升了...
BootSkin(更换Windows系统启动画面)是一款可以帮助用户更换制作系统启动画面的小工具,它能够允许用户更改Windows启动屏幕,软件以安全的方式执行此操作,不修补Windows内核,也不需要用户下载替换的Windows内核,...
在Windows XP操作系统中,用户可能出于个性化或者品牌定制的需求,想要更改系统开机时显示的画面,也就是我们常说的启动画面。Windows XP开机画面修改工具正是为了满足这种需求而设计的。这款工具允许用户自定义开机...
开机动画和启动画面就位于这个阶段。 **开机动画修改**: 1. **开机动画文件**:开机动画通常存储在System分区的`system/media/bootanimation.zip`文件中。这个zip文件包含了多个PNG图片帧和一个控制文件(通常是`...
- **System Server**:内核启动后,System Server进程启动,它是Android框架层的核心。 - **Zygote**:System Server创建Zygote进程,它是所有Android应用的父进程。 - **Launchers**:Zygote孵化出第一个...
2. **使用MfgTools.exe**:修改MfgTools目录下的ucl.xml文件,更新启动画面文件名。每次修改后,需重启MfgTools.exe以应用更改。这种方法适用于烧写专用的启动画面。 总的来说,EM928x内核烧写是一个涉及硬件、软件...
Linux操作系统以其开源、自由、可定制的特性深受用户喜爱,...通过研究其源码和应用补丁,我们可以了解Linux内核启动流程的细节,以及如何定制和扩展内核功能。这对于Linux开发者和爱好者来说,是一个宝贵的实践经验。
3. 更改内核态开机画面:这通常涉及修改内核启动选项,如设置启动进度条显示,提供更友好的视觉效果。 4. 开机用户态界面更改:这可能涉及桌面环境的定制,例如选择轻量级桌面环境以减少资源占用,或者优化启动脚本...
emcfg.txt用于配置启动画面、dtb、kernel内核文件和ubi文件系统的名称,以适应不同分辨率的LCD屏。你可以使用提供的模板文件进行修改,特别是红色标注的部分。 **4. 自动烧写内核** 将制作好的SD卡插入EM335x板卡,...
整个流程分为几个关键步骤,包括环境搭建、VIVI启动加载程序的移植、NAND Flash分区配置、内核编译等。 #### 所需软件及工具 - **VMware Workstation**:用于创建和运行Linux虚拟机环境。 - **Red Hat Linux**:...