//--------------------------------------------------------------------------------------------

// 作者:longtian635241(longtian_huang@urbetter.com)

// 论坛ID:idea6410

// 版权:idea6410

// 平台:友坚idea6410开发板

// 发布日期:2012-11-19

// 最后修改:2012-11-19

//http://www.urbetter.com/main.asp

//----------------------------------------------------------------------------------------------

实验平台:友坚android210、ubuntu10.04

1、安装图形转换软件

$ sudo apt-get install netpbm

2、转换图片

$ pngtopnm android210.png > android210.pnm

说明:用来转换的图片必须为 png 格式(可以用windows下软件保存为png格式),否则会有如下提示:

  pngtopnm: input file not a PNG file

  $ pnmquant 224 android210.pnm >android210.pnm

  pnmcolormap: making histogram…

  pnmcolormap: 5854 colors found

  pnmcolormap: choosing 224 colors…

  pnmremap: 222 colors found in colormap

  注意:此处 pnmquant 必须输出到另一个不同名的文件,否则会出现如下错误提示

  eg:$ pnmquant 224 android210.pnm > android210.pnm

  pnmcolormap: EOF / read error reading magic number保存

  pnmcolormap failed, rc=256

  $ pnmtoplainpnm android210.pnm > android210.ppm

其实用这个工具制作的图片很可能失真~这时我们在转换前,在window是下用ACDsee将图片的颜色:真彩色(24位)改为256色(8位),效果会好些~

第二种方法:使用windows下的IrfanView软件来制作ppm格式图片

用IrfanView打开图片:

a、选择图像->减少色深->自定义224->确定

b、选择图像->调整尺寸->去掉纵横比选项后然后设置为屏的分辨率

c、图片另存为ppm格式选择保存为ascii码格式!保存就制作成功了!

3、然后用转换好的 android210.ppm 替换 kernel/drivers/video/logo/logo_linux_clut224.ppm(最好先做好备份),然后删除同一目录下的 logo_linux_clut224.c 文件,重新编译内核即可

配置支持logo

$ make menuconfig //在内核里面选上logo 支持

  Device Drivers --->

  [*] Graphics support --->

  [*] Bootup logo --->

  [*] Standard black and white Linux logo

  [*] Standard 16-color Linux logo

  [*] Standard 224-color Linux logo

如果想要单独显示,将现在生成的图片添加进内核,就需要修改linux-x-xx/drivers/vedio/logo下的Makefile和Kconfig文件将这个添加进去。

Makefie
obj-$(CONFIG_LOGO_LINUX_XX_CLUT224)     += logo_linux_xx_clut224.o
Kconfig
config LOGO_LINUX_XX_CLUT224
 bool "Standard xx 224-color Linux logo"
 depends on LOGO
 default y
这样就添加进内核的make menuconfig选项了。
现在还需要修改linux-x-xx/drivers/vedio/logo/下的logo.c文件,将信息添加进去。
extern const struct linux_logo logo_linux_xx_clut224;
......
#ifdef CONFIG_LOGO_LINUX_XX_CLUT224
  logo = &logo_linux_xx_clut224;
#endif
然后执行重新make内核,make之前需要执行make clean或者是指定clean(make clean SUB_DIR=./drivers/video/logo/)目录。
转载没有实践:
logo全屏
在配置的时候 在Console drivers  --->Frame-buffer support  --->把Select compiled-in fonts 去掉:

3、如何将开机logo中的光标去除
 在内核的当前目录进入到drivers/video/console/fbcon.c文件
 将static void fb_flashcursor(void *private)制成空函数如下

386 static void fb_flashcursor(void *private)
    387 {
    388 #if 0 //modify by yejj for clear cursor of lcdc

389 struct fb_info *info = private;
    390 struct fbcon_ops *ops = info->fbcon_par;
    391 struct display *p;
    392 struct vc_data *vc = NULL;
    393 int c;
    394 int mode;
    395 
    396 acquire_console_sem();
    397 if (ops && ops->currcon != -1)
    398 vc = vc_cons[ops->currcon].d;
    399 
    400 if (!vc || !CON_IS_VISIBLE(vc) ||
    401 registered_fb[con2fb_map[vc->vc_num]] != info ||
    402 vc->vc_deccm != 1) {
    403 release_console_sem();
    404 return;
    405 }
    406 
    407 p = &fb_display[vc->vc_num];
    408 c = scr_readw((u16 *) vc->vc_pos);
    409 mode = (!ops->cursor_flash || ops->cursor_state.enable) ?
    410 CM_ERASE : CM_DRAW;
    411 ops->cursor(vc, info, mode, softback_lines, get_color(vc, info, c, 1),
    412 get_color(vc, info, c, 0));
    413 release_console_sem();
    414 #endif
    415 }

同样的方法将函数static void fbcon_cursor(struct vc_data *vc, int mode)用空函数替换如下

1304 static void fbcon_cursor(struct vc_data *vc, int mode)
   1305 { 
   1306 #if 0 //modify by yejj for clear cursor of lcdc

1307 struct fb_info *info

另一种禁止光标的方法:

drivers/video/console/Makefile

#obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.oobj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o
编译遇到一个soft_cursor没有定义的问题问题,注释代码:drivers/video/console/bitblit.c//ABING//      if (err)//              soft_cursor(info, &cursor);
Linux Logo制作工具 : LogoMaker.tgz 4.7MB 
http://www.arm9.com.cn/downloads.htm
LogoMakers可以让你十分方便地制作linux logo文件,它基于Fedora 9平台开发并使用。其使用方法十分简单,打开一个图形文件(Jpeg, bmp或者png格式),然后点转换按钮就可以了;它会固定输出文件名:logo_linux_clut224.ppm,该文件一般位于内核源代码目录kernel-src/drivers/video/logo中,替换之后再重新编译一下内核就可以看到你所喜爱的linux logo了。 
    注意:LogoMaker程序实际调用了netpbm工具组,因此要确保你的PC Linux系统安装了此工具,方可转换成功。

logo居中:

1、设置logo图片在屏幕中的位置

vi drivers/video/fbmem.c

找到"fb_show_logo_line"函数,把

image.dx = 0;

image.dy = y;

改为

image.dx = (info->var.xres/2) - (610/2);

image.dy = (info->var.yres/2) - (206/2);

[注:

info->var.xres和info->var.yres是分辨率大小

610和206是logo图片的大小

]

2、

vi drivers/video/console/fbcon.c

找到"fbcon_prepare_logo"函数,在

logo_height = fb_prepare_logo(info, ops->rotate);

后面加上

logo_height += (info->var.yres/2) - (206/2);

添加新图片:

在Makefile中有这么一句:extra-y += $(call logo-cfiles,_clut224,ppm)

它的意思是在当前找到以"_clut224"结尾的ppm图片,然后根据它生成.c文件,所以添加新的图片名可以

类似这样:logo_linux_sullg_clut224.ppm

1.Makefile,加入一行

obj-$(CONFIG_LOGO_LINUX_SULLG_CLUT224)  += logo_linux_sullg_clut224.o

2.Kconfig,加入

config LOGO_LINUX_SULLG_CLUT224

bool "Standard 224-color Linux logo for sullg"

default y

3.logo.c,加入

extern const struct linux_logo logo_linux_sullg_clut224;

在"fb_find_logo"中找到"#ifdef CONFIG_LOGO_LINUX_CLUT224",在其后加入:

#ifdef CONFIG_LOGO_LINUX_SULLG_CLUT224

logo = &logo_linux_sullg_clut224;

#endif

转帖

Android系统开机动画包括两部分:

开机显示的 ANDROID 文字;

ANDROID发光动画。

这篇文章说的开机动画是第一种,下面开始正文!

1. 制作当前屏幕像素的图片(模拟器默认为320*480)
 使用PS制作一张320*480的图片,保存时选“保存为 Web 所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png

注:好像只支持png-24,其他格式生成的rle文件显示不正常,有兴趣大家可以再验证一下。

2. 将图片转换为raw格式
 使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:
  convert -depth 8 android_logo.png rgb:android_logo.raw

注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:
  sudo apt-get install imagemagick

3. 将raw格式转化为rle文件
 需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:
 rgb2565 -rle < android_logo.raw > initlogo.rle

到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:
 #define INIT_IMAGE_FILE "/initlogo.rle"

============================================================================================

下面需要将initlogo.rle加入的android文件系统中

4. 找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),将文件名改为ramdisk.img.gz,然后使用下面的命令解压:
 gunzip ramdisk.img.gz
 解压后得到ramdisk.img,可能有人要问,怎么文件名又改回去了?其实不然,使用file ramdisk.img查看一下就知道了:
 解压前:ramdisk.img: gzip compressed data, from Unix
 解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
 跑题了,还是说正事儿。

5. 使用cpio提取文件:
 新建一个temp目录:
 mkdir temp
 cd temp
 cpio -i -F ../ramdisk.img

6. 导出文件列表:
 cpio -i -t -F ../ramdisk.img > list

注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下:
 data

default.prop

dev

init

init.goldfish.rc

init.rc

initlogo.rle

proc

sbin

sbin/adbd

sys

system

7. 生成ramdisk.img
 cpio -o -H newc -O ramdisk.img < list

注:根据list文件的描述,生成ramdisk.img文件

8. 用ramdisk.img覆盖sdk目录下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先备份一下。

9. 启动模拟器,就可以看到我们自己做的的开机界面了。

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

开机第三屏(android动画)
编译成功后在android源码根目录生成out目录,
修改android\out\target\product\sdkDemo\system\framework目录下的framework-res.apk
用winrar格式打开,替换assets\images里的2张图片即可

开机第二屏(android字样)
1、选张320*480分辨率的图
2、将图转换成raw,用Advanced Batch Converter工具即可
3、虚拟机android\out\host\linux-x86\bin目录下执行
  ./rgb2565 -rle <android_logo.raw> initlogo.rle
4、将initlogo.rle放置到android\out\target\product\sdkDemo\root下即可
   如果不放置 则显示的是源码init.C init.c.bak里
5、make firmware
6、全部重烧

开机第一屏(Linux企鹅图样)
1、选张png格式的图片,在Linux下执行:
# pngtopnm logo.png > logo_linux.pnm
# pnmquant 224 logo_linux.pnm > logo_linux_clut224.pnm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
将生成的ppm拷贝到drivers\video\logo目录下
如果想要修改菜单配置  可以在kernel目录下执行make menuconfig
进Device Drivers
进Graphics Support
进Bootop logo
进standard 224-clor Linux logo选择性加入图片

U-boot开机logo的制作方法

在有实现LCD显示和LCD命令行终端的U-boot中,在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。

有的网友发邮件说想改成自己公司的Logo,而且如果是自己玩的话,改成自己喜欢的logo也爽阿。所以今天我做好了实验,将简单的修改方法总结如下:


一、图片的放置路径

所有的开机logo都放在了 /tools/logos 之下,你只需要将你的班子作对应的logo替换就好了。

对于S3C2440,你只需要将denx.bmp替换成你想要的logo就好了。

对于ATMEL的芯片,据说会显示ATMEL的logo,所以替换那个logo即可。

但是你所替换的logo必须和原来的大小、格式一模一样,否则会出现u-boot使用过程中宕机重启的后果。


二、图片的大小标准
不同的logo对应不同的大小,这里S3C2440所对应的是160*96分辨率的BMP图片。

三、图片的转换脚本

在制作图片前,请您现确认您的Linux主机上安装了Netpbm工具包。如果是ubuntu,你可以直接用新立得安装;如果是别的发行版,可以在 Netpbm主页 下载源代码编译。

将你想要的图片裁减成160*96的JPG图片,然后用以下的脚本处理一下就好了:

#!/bin/sh
#install Netpbm first
    jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2

使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)
友坚最近推出了一款android210,调试了wifi,AVIN,camera,Wcdma,GPS,还有重力加速器,有兴趣的朋友可以关注哦~标配价格990,优惠多多哦(*^__^*) 嘻嘻……

android210的启动logo的修改相关推荐

  1. 修改Ubuntu的启动logo

    修改Ubuntu的启动logo 原文链接: https://my.oschina.net/jmjoy/blog/380262 内容: Plymouth splash screen is the ini ...

  2. linux开机自动打开全屏,如何修改Linux开机启动logo并使其全屏显示?

    1.制作开机启动logo的图片(my_image.png  ==>  logo_linux_clut224.ppm),要求图片的分辨率要和屏幕大小一致. 使用如下命令: pngtopnm my_ ...

  3. 玩转mini2440开发板之【制作和修改linux启动logo图片】

    今天玩一玩linux启动logo图片的修改和制作. 对于我手头的mini2440开发板,其实厂家友善之臂原本是有配一个转换工具的,用起来会比较简单.但是,它那个工具仅针对32位的Fedora 9系统开 ...

  4. 修改Linux内核的启动Logo和禁用启动光标

    Linux内核下使用的图片文件类型是pnm和PPm格式的,所以在开始介绍修改linux内核启动LOGO之前, 1,先需要介绍一下怎么样设计自己开始logo的ppm图片,首先选择一张png格式的图片 使 ...

  5. 修改内核的启动logo

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 见博客http://blog.csdn.net/ultraman_hs/article/details/5498816 ...

  6. Uboot启动logo修改

    Uboot启动logo修改 使用Uboot版本 修改Uboot启动logo需要的操作 Uboot显示logo详解 Uboot显示logo的详细流程 使用Uboot版本 2016.03.10 修改Ubo ...

  7. 内核logo 前闪 linux,Linux内核启动中显示的logo的修改

    1.配置内核 使内核启动时加载logo,在源代码的主目录下make menuconfig Device Drivers  ---> Graphics support  ---> 选上 并 ...

  8. linux显示启动logo源码分析以及修改显示logo

    1.linux显示启动logo整个流程分析 (1)logo图片在内核源码中是以ppm格式的文件保存,在编译内核时会把ppm格式的文件自动转换成.c文件,在c文件中会构造一个struct linux_l ...

  9. 神舟Z7-SL7S3(蓝天P650RG/RE准系统)刷BIOS解决CPU的uncore功耗大于10W,修改启动Logo详细步骤

    前言 刷BIOS慎重,小白最好别搞了.为了这么点强迫症搞坏了,还要修理.如果搞坏了简易去B站UP主笔记本维修厮[手动滑稽],本教程作用是探讨和记录不负任何责任. BIOS和EC是搭配的最好一起刷,先E ...

最新文章

  1. C语言清空输入缓冲区的N种方法对比
  2. 2021全国高校计算机能力挑战赛(初赛)C语言试题四
  3. 哲学家就餐 java_java模拟哲学家就餐问题
  4. 梳理各算法基础应用及场景
  5. Zuul网关原理及源码解读(草稿版)
  6. Android Handler、Loop 的简单使用
  7. 第25课 成绩等级 《小学生C++趣味编程》
  8. java上传头像插件_JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能...
  9. 欧莱雅收购AI公司ModiFace,想让自拍照“一键上妆”
  10. 哈工大密码学实验CA
  11. Proteus8.12无法仿真STC15系列单片机解决办法
  12. 微信小程序--瀑布流
  13. linux的grub是什么意思,grub是什么意思
  14. 卸载趋势杀毒软件的步骤
  15. python里sample_python中的sample什么意思
  16. 【转载】如何从win8/8.1中文版(核心版)升级到win8/8.1专业版
  17. plt-------
  18. Java虚拟机(JVM源码):编译OpenJDK源码
  19. 关于企业软件资质申请流程以及时间规划(一)——软件著作权申请
  20. while循环和doWhile循环

热门文章

  1. html5网页设计教程读书笔记,《HTML5 界面设计与开发》 读书笔记
  2. i5双线程_双核提前出局? 多线程对PS的帮助有多大
  3. 赛门铁克新版备份恢复方案Backup Exec 15 知多少
  4. 封装element table表格 使用render函数
  5. JVM原理 | TLAB是什么
  6. SEM的关键词规则、匹配模式、出价
  7. 如何提高网站排名经验分享
  8. 在浏览器打开HTML文件显示乱码
  9. 怪物猎人世界百度云_从怪物猎人世界上最艰难的战斗中寻找力量
  10. :婚姻是一种妥协的艺术