fastboot主要原理是把点屏相关的必要模块和用户app放到ramdisk提前启动,实现快速亮屏的功能。由于fastboot模式下,rootfs是运行于内存中的,要求内存足够,这里建议使用202。并且在制作rootfs时尽量做小一些。
● 优点:可以实现快速亮屏
● 缺点:制作ramdisk需要占用额外内存,app size越大,制作的ramdisk就越大,吃的内存越多。所以在确定使用fastboot前,先要评估内存是否够用。
● Note:用户app如果很大,不建议使用fastboot。

fastboot的编译config只有kernel和project需要单独配置,boot跟正常启动的config一样。
nand flash:

configs/nvr/i2m/8.2.1/spinand.ram-glibc-squashfs.011a.128           //ssd202 
configs/nvr/i2m/8.2.1/spinand.ram-glibc-squashfs.011a.64            //ssd201

kernel:

infinity2m_spinand_ssc011a_s01a_minigui_fastboot_doublenet_defconfig

为了使系统启动尽可能地快,我们需要将耗时的任务关闭或等系统启动后再执行:

# vi project/image/configs/i2m/rootfs_fastboot.mk

如下:

echo "busybox telnetd&" >> $(OUTPUTDIR)/rootfs/etc/profile
    #echo \/customer\/bin\/zkgui \& >> $(OUTPUTDIR)/rootfs/etc/profile;
    #echo sleep 8 >> $(OUTPUTDIR)/rootfs/etc/profile;
    #echo /customer/demo.sh >> $(OUTPUTDIR)/rootfs/etc/profile;

编译:

# ./Release_to_customer.sh -f nand -p ssd201 -q fastboot -m 256

更新启动后,可以看到启动过程跳过了 uboot
关闭网络功能,也能加快开机时间:

# setenv autoestar 0 
# saveenv
文档更新时间: 2022-06-29 14:29   作者:Aeeditor