明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 7028|回复: 5
打印 上一主题 下一主题

如何快速启动linux?

[复制链接]

2

主题

7

帖子

40

积分

新手上路

Rank: 1

积分
40
跳转到指定楼层
楼主
发表于 2016-9-9 14:29:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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最快的启动时间,一般可以做到几秒钟?

多谢各位的回复和帮助。



回复

使用道具 举报

0

主题

146

帖子

432

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
432
沙发
发表于 2016-9-9 15:19:59 | 只看该作者
裁剪掉u-boot和内核中不使用的功能。u-boot 的 bootdelay 设置为 0。
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
板凳
发表于 2016-9-9 16:13:19 | 只看该作者
无花屏的话,最好找个管脚控制屏的背光电源,让图片显示完后,再给背光上电
驱动能编译成模块的,就编译成模块
回复 支持 反对

使用道具 举报

2

主题

7

帖子

40

积分

新手上路

Rank: 1

积分
40
地板
 楼主| 发表于 2016-9-10 07:33:18 | 只看该作者
软件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切换。

以上的问题与理解还请前辈们指正,是否有可行性。谢谢。
      
回复 支持 反对

使用道具 举报

0

主题

29

帖子

128

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
128
5#
发表于 2016-9-12 09:09:03 | 只看该作者
快速启动方面,请参考如下帖子
https://community.nxp.com/search.jspa?q=fastboot
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
6#
发表于 2016-9-12 09:39:16 | 只看该作者
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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-23 15:45 , Processed in 0.064159 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表