明远智睿技术论坛

标题: 如何快速启动linux? [打印本页]

作者: ONLY    时间: 2016-9-9 14:29
标题: 如何快速启动linux?
本帖最后由 ONLY 于 2016-9-9 14:31 编辑

现在需要快速启动linux后进入用户UI。目前的时间在10s钟,且uboot的logo和linux交界处会有花屏或者黑屏的情况。无法做到完善的快速启动。
不知道有什么好的方式可以做到快速启动?理想时间在5s左右可接受。

做过的测试以及遇到的问题:
1:uboot不显示logo,直接用linux的logo。存在的问题是上电后黑屏,瞬间一个花瓶后,显示logo。之后显示用户ui。时间最短压缩到8s钟左右。

2:uboot显示logo,  linux的logo不显示。存在的问题是上电后显示logo,但是在与linux交接处,会出现花瓶,之后黑屏4s钟后,显示用户ui。

以上两种方式都存在花屏的情况,且时间过长,其中,uboot加载内核并跳转过去的时间在3-4s钟。这个时间较长。

问题:
1:uboot加载内核消耗时间太长,这主要与什么有关系?硬件速度还是内核压缩格式?还是其他....?
2:显示logo的过程中,是否可以做到无花屏或者黑屏的情况发生?
3:imx6最快的启动时间,一般可以做到几秒钟?

多谢各位的回复和帮助。




作者: 唐斌    时间: 2016-9-9 15:19
裁剪掉u-boot和内核中不使用的功能。u-boot 的 bootdelay 设置为 0。
作者: 软件01    时间: 2016-9-9 16:13
无花屏的话,最好找个管脚控制屏的背光电源,让图片显示完后,再给背光上电
驱动能编译成模块的,就编译成模块
作者: ONLY    时间: 2016-9-10 07:33
软件01 发表于 2016-9-9 16:13
无花屏的话,最好找个管脚控制屏的背光电源,让图片显示完后,再给背光上电
驱动能编译成模块的,就编译成 ...

现在在做这块的添加,但是有很多问题:
1:uboot在加载完内核并跳转过去后,整个内存空间将被重新分配,导致显存处于不确定状态。
2:uboot可以在自身运行的过程中,开启背光,在跳转到内核之前关闭背光,这样可以避免内核接手后,在初始化IPU到显示LOGO的花屏问题,但是会存在黑屏问题。也就是uboot的logo和内核的LOGO交接的时候会有黑屏情况。
3:目前测试的uboot的logo的颜色也存在问题,RGB的颜色颠倒了。图片是RGB格式的。显示的应该是BGR格式的。通过他们的填充三基色的代码也能看出来是BGR的格式。如下:这是填充红色的代码:
pData[i + 0] = 0x00;
pData[i + 1] = 0x00;
pData[i + 2] = 0xFF;
请问在uboot的什么地方可以设置将颜色格式修改为RGB的?

理想情况:做到快速启动的理想状态,因对uboot和linux不了解,不知道如何下手以及是否能实现?
1:减少UBOOT的时间,现在时间大都耗费在加载内核和解压内核上面,好像还有个校验机制。时间耗费在3-4s钟。
2:修改linux,将linux的启动方式修改一下,除了移除不用的驱动模块外,在注册IPU的时候不初始化,就像内存一样。如果IPU使用的显存需要在linux下重新申请,在uboot设置显存的时候,设置一块用不到的显存。这样linux不初始化IPU,设置显存后,直接将原logo的显存内容拷贝过来。直接切换显存地址,这样可以做到最低限度的LOGO切换。

以上的问题与理解还请前辈们指正,是否有可行性。谢谢。
      
作者: 硬件06    时间: 2016-9-12 09:09
快速启动方面,请参考如下帖子
https://community.nxp.com/search.jspa?q=fastboot
作者: 软件01    时间: 2016-9-12 09:39
ONLY 发表于 2016-9-10 07:33
现在在做这块的添加,但是有很多问题:
1:uboot在加载完内核并跳转过去后,整个内存空间将被重新分配, ...

如果出现3基色的话,把需要myimx6.c的
int mmc_dev = get_mmc_env_devno();
改为
int mmc_dev 2;
还有就是myimx6_commom.h的
#define CONFIG_SPLASH_SCREEN
需要改为
//#define CONFIG_SPLASH_SCREEN

图片是用以下命令写到EMMC
dd if=logo_800x480_24bpp.bmp of=/dev/mmcblk0 bs=1 seek=6291456 skip=54




欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2