Firefly开源社区

标题: 制作开机LOGO及开机动画 [打印本页]

作者: linjc    时间: 2014-10-21 16:30
标题: 制作开机LOGO及开机动画
本帖最后由 linjc 于 2015-11-4 10:26 编辑

一、制作开机LOGO
1.找一张图片,分辨率为:1920×1080,这里以linuxlogo.png为例;
2.转换格式,用以下命令(如工具未安装可用以下指令安装:sudo apt-get install netpbm):
pngtopnm linuxlogo.png > linuxlogo.pnm
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
3.把刚刚做好的logo_linux_clut224.ppm替换掉SDK中以下文件:
kernel/drivers/video/logo/logo_linux_clut224.ppm
重新编译内核,把生成的kernel.img烧进板子即可。
注意:如果你的boot.img中包含了kernel,记得重新烧一个没有kernel的boot.img,或者重新编译boot.img哦!
二、制作开机动画
我们平时看到的开机动画其实是由若干张图片组成的,在开机的时候轮流播放,看起来就像是动态的啦!如果,你有兴趣自己做一个漂亮的动画,当然是没问题的,但如果不会处理图片,又想玩一下,怎么办呢?其实随便找几张图片就好啦!;P(我就是这样,呵呵!)
1.找15张图片(不一定要15张的,但最好是1080P的),按顺序命名,如10001.png、10002.png、1003.png。
2.把命名好的图片放到一个文件夹中,我这里命名为:part0
3.创建一个文档,名字为:desc.txt
4.在创建的文档中写入以下内容:
1920 1080 15
p 0 0 part0
这里简单说明一下:
1920 1080 15 //其实就是你图片的分辨率啦,
15是指每秒播放帧数,这个受到机器的影响,一般开机CPU满负荷运行,开始的一段时间播放帧数会低于设定帧数,所以前一段的动画的设计需要考虑到这一点。(这里多谢网友maoguodong的纠正
p 0 0 part0 //p代表标志符,0代表无限循环,0代表阶段间隔时间为0,part0代表对应的文件夹名
如果你想把开机动画分成两个阶段,可以分成两个文件夹存放,如命名为part1,然后在文档可以这样写:
1920 1080 15
p 1 0 part0
p 0 0 part1
这样,运行的时候会循环一次part0文件夹下的动画,再无限循环part1下的动画。
5.压缩:选中图片文件夹part0和desc.txt(提醒一下:windows下打包前将图片文件夹中的Thumbs.db删除),然后右键选择WINRAR的"添加到压缩文件"进入自定义压缩文件设置:压缩文件格式选择:ZIP,压缩方式选择:存储,名字为bootanimation.zip,然后点击确定即可。
6.放入系统,加入编译:
找一个确定会编译到的mk文件,比如device/rockchip/rk3288/rk3288.mk,把bootanimation.zip入进该文件所在目录中,在该文件添加以下语句:
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.zip:system/media/bootanimation.zip
7.重新编译上层,把生成的固件烧入板子即可。

本人是初学者,在这里只是把自己玩过的东西做下笔记,顺便给大家共享一下,呵呵!
如有不对的地方,欢迎提出来!



作者: 暴走的阿Sai    时间: 2014-10-21 16:55
制作开机LOGO,只要是Linux都能实现,在Firefly上Ubuntu和Android系统都可以。开机动画就只能是Android了
作者: leung先森    时间: 2014-10-21 17:35
学习了!!!这样可以定制自己喜欢的开机动画
作者: buzzq    时间: 2014-10-22 21:16
mark 学习一下
作者: zhoumushui    时间: 2014-10-23 10:30
{:2_31:}赞,之前都是用在线PS转图片格式的,没想到还可以用命令,学习了。
作者: linjc    时间: 2014-10-23 10:40
zhoumushui 发表于 2014-10-23 10:30
赞,之前都是用在线PS转图片格式的,没想到还可以用命令,学习了。

把指令写成一个脚本更方便平时使用哦!:lol
作者: schlin2999    时间: 2015-3-30 14:30
先烧了kernel.img,开机画面没变,再烧了boot.img,进不了系统。
作者: linjc    时间: 2015-3-30 15:38
schlin2999 发表于 2015-3-30 14:30
先烧了kernel.img,开机画面没变,再烧了boot.img,进不了系统。

试一下把resource.img也烧一下吧,你的boot.img是多大的?
作者: carlinluo    时间: 2015-3-30 18:35
linjc 发表于 2015-3-30 15:38
试一下把resource.img也烧一下吧,你的boot.img是多大的?

resource 里的logo.bmp firefly没有用到,这个是uboot logo,默认的貌似没有打开。

作者: schlin2999    时间: 2015-3-31 11:13
更新了一下源码包,重新编译后再烧写整个镜,开机画面出来了,但一直处在动画状态
作者: schlin2999    时间: 2015-4-8 20:24
问题己解决,是system.img不对,
作者: xmetoo    时间: 2015-4-23 09:07
解决了就好啊~~~~~我也可以放心去试试了
作者: zhangxu    时间: 2015-4-24 16:11
学习了
作者: mark83136    时间: 2015-5-28 02:28
schlin2999 发表于 2015-4-8 20:24
问题己解决,是system.img不对,

你好   你是改图片后   重新编译了一次就行了吗   这个 system.img不对是什么意思
作者: hongxy0635    时间: 2015-6-1 17:21
惺惺惜惺惺谢谢
作者: xmetoo    时间: 2015-6-18 11:16
这个不错
作者: yuhuo1989    时间: 2015-7-10 14:42
楼主,firefly原有的开机画面怎么干掉,然后用开机动画代替?
作者: linjc    时间: 2015-7-10 15:13
yuhuo1989 发表于 2015-7-10 14:42
楼主,firefly原有的开机画面怎么干掉,然后用开机动画代替?

把你的开机动画放到:/system/media/bootanimation.zip,就会默认使用你的开机动画了。
作者: yuhuo1989    时间: 2015-7-22 22:23
楼主大大,我按照你的方法把bootanimation.zip文件放在了/system/media/和device/rockchip/rk3288下面,但画面部分变成了黑屏,请问是怎么回事?
作者: openeyes    时间: 2015-7-23 08:23
bootanimation.zip 如果不是放在固件中,
系統直接放入/system/media/下即可.
作者: maoguodong    时间: 2015-9-21 17:23
纠正一下:1920 1080 15 //其实就是你图片的分辨率啦,15就是图片的张数 --> 15是指每秒播放帧数(这个收到机器的影响,一般开机CPU满负荷运行,开始的一段时间播放帧数会低于设定帧数,所以前一段的动画的设计需要考虑到这一点)
作者: kpkdz    时间: 2015-9-27 14:23
这个方法,不错哟,学习了。
作者: linjc    时间: 2015-11-4 10:21
maoguodong 发表于 2015-9-21 17:23
纠正一下:1920 1080 15 //其实就是你图片的分辨率啦,15就是图片的张数 --> 15是指每秒播放帧数(这个收到 ...

多谢您的纠正:handshake
作者: liyong199015    时间: 2016-1-22 09:10
你好 你这个开机画面是将firefly改掉 还是将andrian 这些字符改点
作者: linjc    时间: 2016-1-22 17:12
liyong199015 发表于 2016-1-22 09:10
你好 你这个开机画面是将firefly改掉 还是将andrian 这些字符改点

开机logo是firefly的标志
开机动画是android的动画
作者: liyong199015    时间: 2016-1-26 10:05
那我懂了 马上改了
谢谢楼主分享
作者: liyong199015    时间: 2016-1-27 10:46
我按照你的方法修改但是  还是不行  andrion 是去掉了 但是  一直开机动画一直黑屏
作者: liyong199015    时间: 2016-1-27 10:56
yuhuo1989 发表于 2015-7-22 22:23
楼主大大,我按照你的方法把bootanimation.zip文件放在了/system/media/和device/rockchip/rk3288下面,但 ...

你黑屏的问题解决了没 我也是黑屏不知道怎么回事
作者: liyong199015    时间: 2016-1-28 11:36
开机动画制作已经解决  推荐压缩软件 ZIP-7  选择存储方式  即可  图片最好自己制作用 PHOTOSHOP  或者PIKPIG  
作者: ranfish    时间: 2016-3-2 18:57
我一直不成功,开机logo和动画都是黑的,直接就进系统了。
作者: shencg    时间: 2016-3-16 17:58
压缩为zip时,要用存储模式,我用的图片是png的,是可以的
作者: qingfeng623    时间: 2016-6-14 15:02
开机logo,只能在烧写后第一次显示,且显示时间特别短,一闪而过。再次开机,开机logo就不显示了,黑屏后直接跳到开机动画。请问,怎么让logo每次开机都显示,另外,怎么能让显示时间延长一点?
作者: linjc    时间: 2016-6-14 17:54
qingfeng623 发表于 2016-6-14 15:02
开机logo,只能在烧写后第一次显示,且显示时间特别短,一闪而过。再次开机,开机logo就不显示了,黑屏后直 ...

你是用什么板子什么系统?android4.4还是5.1?
作者: qingfeng623    时间: 2016-6-15 09:52
linjc 发表于 2016-6-14 17:54
你是用什么板子什么系统?android4.4还是5.1?

rk3288的,android4.4。
这个开机logo,是放在kernel里面的。为什么不说一下,放在android启动时的那个logo怎么做呢?我说的是开机动画之前的那个静态的,android开机logo.
作者: linjc    时间: 2016-6-15 11:22
qingfeng623 发表于 2016-6-15 09:52
rk3288的,android4.4。
这个开机logo,是放在kernel里面的。为什么不说一下,放在android启动时的那个l ...

logo是在kernel里面的,android有静态的logo吗?这个没做过哦,除非是把android的动画做成一张静止的图片。
作者: qingfeng623    时间: 2016-6-15 11:37
linjc 发表于 2016-6-15 11:22
logo是在kernel里面的,android有静态的logo吗?这个没做过哦,除非是把android的动画做成一张静止的图片 ...

android有静态的。
作者: zzj    时间: 2016-8-16 21:34
学习
作者: luminmin882001    时间: 2016-8-19 11:50
楼主你这个是rk3228 android 5.1的吗,为什么我按照你这个,会编译报错呢
作者: linjc    时间: 2016-8-19 11:58
luminmin882001 发表于 2016-8-19 11:50
楼主你这个是rk3228 android 5.1的吗,为什么我按照你这个,会编译报错呢

是根据android4.4做的,但android5.1也是一样的呀
怎么会报错呢?报什么错?
作者: luminmin882001    时间: 2016-8-19 15:36
schlin2999 发表于 2015-3-31 11:13
更新了一下源码包,重新编译后再烧写整个镜,开机画面出来了,但一直处在动画状态

如果你让它循环显示的话,它肯定是按照你的要求来循环显示的,我怀疑你肯定是让它循环显示了。
作者: luminmin882001    时间: 2016-8-19 16:20
为什么我还是 没有加进去啊
作者: luminmin882001    时间: 2016-8-19 16:24
楼主,为什么我把BOOTANIMATION.ZIP都加到/android/system/media这个目录里面去了,最后编译的system/media缺没有这个ZIP,为什么啊啊啊啊啊啊啊
作者: linjc    时间: 2016-8-19 16:57
luminmin882001 发表于 2016-8-19 16:24
楼主,为什么我把BOOTANIMATION.ZIP都加到/android/system/media这个目录里面去了,最后编译的system/media ...

你需要在一个mk文件中添加类似这样的:
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.zip:system/media/bootanimation.zip
作者: luminmin882001    时间: 2016-8-19 18:02
linjc 发表于 2016-8-19 16:57
你需要在一个mk文件中添加类似这样的:
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.z ...

大神,能把你当时做的LOGO和开机动画的图片资源发我吗,跪求
作者: linjc    时间: 2016-8-19 21:19
luminmin882001 发表于 2016-8-19 18:02
大神,能把你当时做的LOGO和开机动画的图片资源发我吗,跪求

你现在是什么现象?说出来可以给你分析一下
这个跟图片关系不是很大的,我当时做的都是客户的logo,不太方便
作者: luminmin882001    时间: 2016-8-20 08:54
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y
我现在打开了这两个宏,然后开机画面根本没有啊,我想你帮我看看,你打开的是哪几个宏
作者: linjc    时间: 2016-8-20 10:57
本帖最后由 linjc 于 2016-8-20 11:02 编辑
luminmin882001 发表于 2016-8-20 08:54
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y
我现在打开了这两个宏,然后开机画面根本没有啊,我想你帮我 ...

你接的是什么显示器?
android5.1系统是支持双屏的,默认vga是主显,开机logo显示在主显,也就是vga才看得到开机logo。还有,android5.1的开机logo是在uboot上显示的,所以有些不同。


作者: luminmin882001    时间: 2016-8-20 14:47
那我怎么去修改这个UBOOT的开机LOGO啊,你有QQ吗,我的QQ是185768270
作者: luminmin882001    时间: 2016-8-20 14:48
我现在一直都是HDMI接口,怪不得我总是看不到啊
作者: luminmin882001    时间: 2016-8-20 15:18
大神,你知道怎么去uboot修改这个LOGO吗
作者: luminmin882001    时间: 2016-8-20 15:58
搞定啦嘿嘿,看文档就可以了
作者: Bob    时间: 2016-9-22 10:17
这里罗嗦一句,:我在ubuntu下用指令压缩zip,尝试多次,都是黑屏,在windows下用7zip,压缩方式选择存储,一次就成功。强烈建议,在windows下完成压缩!!!
作者: 奔跑    时间: 2016-10-11 09:36
linjc 发表于 2015-7-10 15:13
把你的开机动画放到:/system/media/bootanimation.zip,就会默认使用你的开机动画了。

这种方法只是系统开机动画,kernel开机动画怎么做
作者: 奔跑    时间: 2016-10-11 15:50
我的问题是开机没有进入系统之前显示了LOGO但是,它在运行到uboot和kernel之间,logo会闪烁一下,楼主能否帮忙看看是怎么修改啊
作者: linjc    时间: 2016-10-17 12:02
奔跑 发表于 2016-10-11 09:36
这种方法只是系统开机动画,kernel开机动画怎么做

kernel只能显示logo
作者: linjc    时间: 2016-10-17 12:05
奔跑 发表于 2016-10-11 15:50
我的问题是开机没有进入系统之前显示了LOGO但是,它在运行到uboot和kernel之间,logo会闪烁一下,楼主能否 ...

你是接的是hdmi吗?kernel到上层是会闪一下的
作者: 奔跑    时间: 2016-10-17 14:36
linjc 发表于 2016-10-17 12:05
你是接的是hdmi吗?kernel到上层是会闪一下的

不是接HDMI的,是接LCD上,程序从uboot到kernel的时候闪动了一下然后又恢复正常了,这个问题困扰了我好久。
作者: 奔跑    时间: 2016-10-17 14:38
linjc 发表于 2016-10-17 12:02
kernel只能显示logo

有个问题想请教您一下,就是在HAL层的程序里 TRACE 函数的打印信息怎么在linux下打印出来呢。
作者: 若兮听雨    时间: 2017-2-4 10:05
学习
作者: csworld    时间: 2017-2-6 16:28
mark下
作者: AllenWang    时间: 2017-2-15 17:26
我現用RK3288開發板 + 10.1" (1280 x 800) 觸摸顯示屏 B101EW05, 將Android 4.4. Kernel Logo改換成白色底色, 在kernel logo切換到boot animation android字樣時會產生很明顯的閃屏, 白色底色Logo畫面會閃一下後, 隨即閃三下切換到boot animation android字樣. HDMI輸出顯示則無閃屏問題, 看樣子是B101EW05顯示屏設定驅動問題.
作者: 280812980    时间: 2017-2-17 17:36
遇到与楼上同样的问题,显示kernel logo时,画面会闪一下,之后大约3秒左右闪三下切换到boot animation android字样,不知道问题在哪里?求解……
作者: 智能阿才    时间: 2017-4-26 17:22
追问:现在动画添加上了,可有什么办法添加开机音乐! 就像windows7  开机后还有声音!
作者: 天道酬勤    时间: 2017-8-11 18:37
请问,HDMI怎么不会能显示Logo呢?只是闪一下屏。
作者: 天道酬勤    时间: 2017-8-11 18:39
请问,HDMI怎么不会能显示Logo呢?只是闪一下屏。
作者: qingfeng623    时间: 2017-8-15 11:11
天道酬勤 发表于 2017-8-11 18:39
请问,HDMI怎么不会能显示Logo呢?只是闪一下屏。

你hdmi输出,有Logo显示了吗?
作者: bill    时间: 2017-8-23 18:26
我的平台是用Firefly的3288板子,跑的是Android5.1.1 的平板软件平台,严格按你贴子来操作的,弄了几个小时都没有出来开机LOGO和Android的动画,按你们的说明,我也将“firefly-rk3288-reload.dts”里边的“uboot-logo-on”设置为1 ,原来是0,只有在下载软件后第一次开机出来了,我的图片,以后就每次开机都抖一下黑屏了,直到Android的主画面出现,我分别用了640*480,1024*768,1920*1080的png文件和BMP文件来试,效果一样的,     另一方面我也按你的帖子上操作Android的开机画面, 也是用了几种分辨率来得到bootanimation.zip 文件来处理,还是都没有Android的开机动画出来。我整体编译后,在system.img文件里边已经看到我编译进去的1001.png---1015.png文件和相应的desc.txt文件。在显示Android的动画时间屏上闪几下,最后进入Android的主界面,可能是哪里出错了呢? 谢谢!
作者: subo19920716    时间: 2017-8-24 09:46
谢谢,学习了
作者: 天道酬勤    时间: 2017-9-6 22:14
请教: 我更换了kernel/drivers/video/logo/logo_linux_clut224.ppm  重新编译Kernel; 并烧录新的Kernel.img  和 resource.img ;发现开始logo还是没变化,仍然是firefly; 这是什么原因呢?
作者: 天道酬勤    时间: 2017-9-6 22:14
请教: 我更换了kernel/drivers/video/logo/logo_linux_clut224.ppm  重新编译Kernel; 并烧录新的Kernel.img  和 resource.img ;发现开始logo还是没变化,仍然是firefly; 这是什么原因呢????
作者: 雾都大帝    时间: 2018-9-27 11:32
暴走的阿Sai 发表于 2014-10-21 16:55
制作开机LOGO,只要是Linux都能实现,在Firefly上Ubuntu和Android系统都可以。开机动画就只能是Android了

我的u-boot版本是rk3288_bootloader_v1.00.06.bin,内核是kernel4.4.77版本,这个方法测试过,但是没有开机logo显示,就是在wiki下载固件也没有显示logo,,,目前的问题有两个,我在看一些资料,说开机logo要显示,要确保u-boot中lcd驱动打开,然后因为设备树是uboot和内核公用,所以想请教一下设备数中开机logo的配置以及ubootlogo显示流程。麻烦暴走的阿Sai分享一下
作者: yuwei    时间: 2018-10-10 16:17
schlin2999 发表于 2015-3-31 11:13
更新了一下源码包,重新编译后再烧写整个镜,开机画面出来了,但一直处在动画状态

可能是帧率太高导致卡死重启了,你可以尝试把帧率调低
作者: sylanjun    时间: 2018-10-19 17:40
很棒
作者: williamzhang    时间: 2018-10-20 10:52
logo+动画
作者: 亮S心    时间: 2018-11-29 11:10
按照这种方法修改没用,显示的还是kernel下的logo.bmp,请问一下显示kernel下的logo.bmp是怎样实现的呢???
作者: njzgcs    时间: 2019-3-14 11:02
Mark一下。
作者: 我不是胖子    时间: 2019-7-3 13:36
我这种不会编译内核的该咋办呀,愁死宝宝了
作者: 15656116097    时间: 2019-8-27 16:12
谢谢楼主,学习了
作者: 有实力又热情洋    时间: 2019-8-28 15:41
linjc 发表于 2016-8-19 16:57
你需要在一个mk文件中添加类似这样的:
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.z ...

我按照你说的这个方法 加了这句话 开机就直接黑屏一直到进桌面,是什么原因啊
作者: 无敌帅    时间: 2020-10-27 16:25
暴走的阿Sai 发表于 2014-10-21 16:55
制作开机LOGO,只要是Linux都能实现,在Firefly上Ubuntu和Android系统都可以。开机动画就只能是Android了

Ubuntu 真的不能实现开机动画吗。大哥
作者: eledog    时间: 2020-11-5 22:42
学习学习
作者: 13737253601    时间: 2021-1-26 11:52
楼主大大,制作自己的开机动画后会有这段报错,你知道是啥原因嘛,谢谢啦!
[    8.111246] type=1400 audit(1610682104.070:21): avc: denied { read write } for pid=305 comm="BootAnimation" name="vpu_service" dev="tmpfs" ino=3636 scontext=u:r:bootanim:s0 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=1
[    8.111442] type=1400 audit(1610682104.070:22): avc: denied { open } for pid=305 comm="BootAnimation" path="/dev/vpu_service" dev="tmpfs" ino=3636 scontext=u:r:bootanim:s0 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=1
[    8.111519] init: Service 'log-watch' (pid 359) exited with status 0
[    8.111535] init: Service 'log-watch' (pid 359) killing any children in process group
[    8.111655] type=1400 audit(1610682104.070:23): avc: denied { ioctl } for pid=305 comm="BootAnimation" path="/dev/vpu_service" dev="tmpfs" ino=3636 ioctlcmd=6c01 scontext=u:r:bootanim:s0 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=1
[    8.124736] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01
作者: zylyc    时间: 2021-3-10 16:23
牛人真多,学习一下
作者: 七月清风    时间: 2021-7-27 13:47
为什么我这里不行啊,难受
作者: 853728579    时间: 2021-11-13 09:13
暴走的阿Sai 发表于 2014-10-21 16:55
制作开机LOGO,只要是Linux都能实现,在Firefly上Ubuntu和Android系统都可以。开机动画就只能是Android了

您好!我这边用的rk3288+buildroot在启动uboot和内核时都有画面出来,但是在启动内核启动到一半时启动画面就消失了,能否帮忙解决下,有一定的报酬的,谢谢了!,Q:853728579
作者: chaojidaotuguai    时间: 2021-11-18 09:25
学习一下




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1