要彻底优化这些项目,去掉自己不需要的,就要自己编译内核,修改系统了。 我装的WIN10,启动要2分钟,本来是想做设备上用的,看来不行了 去掉串口控制台(或重定向),减小启动时等待特殊模式的时间 本帖最后由 hiberhe 于 2017-7-26 07:48 编辑
通用系统启动时间都比较长,若自己用kernel+busybox+application构建专用系统,则会短很多。比如基于kernel+busybox+qt的应用,可以轻松做到5s左右 本帖最后由 hiberhe 于 2017-7-26 07:55 编辑
商业的linux快速启动方案有NitroBoot和Ubiquitous QuickBoot,不过价格应该不低。
https://www.datalight.com/products/fast-boot-linux/
https://www.ubiquitous.co.jp/en/products/qb/md/quickboot/
等大师讲解5s左右开机关键点 如果不需要启动信息,可以设置 bootargs loglevel=0,看看能减少1-2秒 armok 发表于 2017-7-26 08:12
基于kernel+busybox+qt的应用,可以轻松做到5s左右 ?
有教程吗? 需要购买什么?
树莓派没试过,以前在imx35(ARM11,主频好像533MHz,Nandflash)上做hmi,软件是uboot启动自己编译的内核(去除非必要模块,不需启动阶段用的编译为内核模块),文件系统用busybox静态编译,qt也是静态编译的,上面跑CODESYS(基于qt,软PLC)。整个CODESYS界面出来就5秒左右。在800MHz的imx6(Cortex-A9,eMMC)上即使不静态编译busybox和qt也能轻松到5秒,在freescale官网论坛上有人2秒内就能启动到qt并显示摄像头,并给出了patch。
不需要购买东西,其实就是uboot/kernel去除不必要功能,用busybox做根文件系统,起来时只加载必备的应用。这适合嵌入式特定应用,不启动gnome等桌面环境,就看能否满足应用需求了。一般uboot启动时问500ms左右(等待键盘输入delay设为0),kernel也就1-2秒,还有2-3秒加载应用的。发行版慢主要是在加载各种服务和桌面环境。
可以网上搜使用busybox构建系统之类(如“基于busybox构建运行于VMware上的最小系统”),本质就是用busybox做根文件系统,在此基础上做些优化精简即可。 老大看看yocto,可以自己定制kernel,和框架。一行bitbake就搞定。 核心板启动慢瓶颈一般是NAND,如果把nand换成高速存储介质,应该和电脑装固态硬盘一样的道理。 刚刚测试了最新的2017-07-05-raspbian-jessie.img,SanDisk 8G C10 TF卡。只开了SSH没做优化。
Startup finished in 1.416s (kernel) + 8.676s (userspace) = 10.092s
harryh 发表于 2017-7-26 16:44
刚刚测试了最新的2017-07-05-raspbian-jessie.img,SanDisk 8G C10 TF卡。只开了SSH没做优化。
Startup fin ...
你这个是带桌面的系统?10秒进桌面? roasn 发表于 2017-7-26 16:51
你这个是带桌面的系统?10秒进桌面?
树莓官方7寸屏,带桌面,就是官方img开了SSH。用systemd-analyze输出的数据,又重启了一次
Startup finished in 1.414s (kernel) + 8.658s (userspace) = 10.072s harryh 发表于 2017-7-26 16:56
树莓官方7寸屏,带桌面,就是官方img开了SSH。用systemd-analyze输出的数据,又重启了一次
Startup finis ...
有没有测试过上电到看到桌面的时间?不用systemd-analyze测试 armok 发表于 2017-7-26 16:53
我们lite没有桌面都要18秒。
带桌面10秒,而且没有做优化不可能吧。
我录了视频分析了一下,实际从上电到桌面的速度比systemd-analyze显示的时间长。
systemd-analyze
Startup finished in 1.414s (kernel) + 8.658s (userspace) = 10.072s
但实际上从上电到桌面要15s左右。 感觉18秒的启动时间很快了,很多工业触摸屏启动时间还要20多秒,都有哪些应用需要很快的启动时间呀? Boot2qt https://doc-snapshots.qt.io/qtfordevicecreation/qtee-preparing-hardware-rasberrypi.html ayuanshop 发表于 2017-7-26 13:22
你这个看着很不错啊,kernel 后可以直接跳到 busybox吗?
kernel应该是在start.S后就执行的对象吧?
不是,就是基于busybox做根文件系统。busybox相当于是一个linux命令集,用其中的init进程取代桌面系统的全功能init进程,并可简化初始化脚本。
理论上说,kernel到启动第一个进程,整个linux系统就就绪了。后面就是按需启动应用了。 先启动到界面,网络之类的放到后面再慢慢起 armok 发表于 2017-7-26 12:30
补充:
我们用到的资源:
除了samba和ssh,其余都基本是硬件驱动。而这两个应用启动很快,关键看之后启动的应用程序复不复杂,比如基于qt的程序就比纯用framebuffer费时间。
正如上面的网友说的,我当时启动速度就受限于nand,而树莓派用tf卡,文件访问很快了,应用不复杂的话,真的可以不用官方的rom,可以用buildroot(https://buildroot.org)快速构建一个rom。 参照这里弄了个qte开发环境,基于framebuffer,所以我用的jessie lite,不需要启动到x,适合轻量级开发。就是编译qt耗时久,要一晚 http://lib.csdn.net/mobile/article/embeddeddevelopment/20545 本帖最后由 3DA502 于 2017-8-21 16:28 编辑
ayuanshop 发表于 2017-8-20 10:33
根据上面网友推荐的Buildroot,昨晚得空,通宵编译了一晚上,编译出一个据说简洁明了的rom,只有90几M, ...
绿灯一闪就过,出图线大概3秒钟
显示的是一个彩色方块,像是卡在什么地方了 armok 发表于 2017-7-26 09:19
如果能解决5秒开机,树莓派可以做很多产品了。
有个树莓用的游戏专用系统就精简到只有内核和模拟器了吧, 叫lakka, 开机就启动一个模拟器, 玩模拟器游戏用
http://www.lakka.tv/ hiberhe 发表于 2017-7-26 07:45
通用系统启动时间都比较长,若自己用kernel+busybox+application构建专用系统,则会短很多。比如基于kernel ...
记号记号记号 hiberhe 发表于 2017-7-26 09:27
树莓派没试过,以前在imx35(ARM11,主频好像533MHz,Nandflash)上做hmi,软件是uboot启动自己编译的内 ...
自己构建的linux系统可以是有deb这类包吗?如果没有,就没了树莓派的优势了。 ayuanshop 发表于 2017-8-22 10:21
OK!我京东买了个HDMI接口显示器今天才送货,感谢厦门金砖。
有了显示器就可以开始动手了 ...
最终启动时间是多少秒?方便把镜像放出来吗? ayuanshop 发表于 2017-8-22 10:21
OK!我京东买了个HDMI接口显示器今天才送货,感谢厦门金砖。
有了显示器就可以开始动手了 ...
考虑一下启动优先级,不着急的驱动编译成Module,做到rootfs里,在主要的东西加载完毕后,异步慢慢modprobe。。。
如果起GUI什么的,注意依赖。 前段时间有个公司过来演示了一个快速启动的linux系统,基于imx6的,2秒启动,可以优化我们的源代码,18w人刀。 最后的结果呢 没有关注过启动时间,可能是我的应用不着急吧{:lol:}{:titter:}
页:
[1]