ubiblock:位于UBI顶部的只读块设备
利用CONFIG_MTD_UBI_BLOCK配置编译。
允许将SquashFS放在UBI卷上。
引导时间和读取性能不错。非常适合于只读根文件系统。
2. 选取合适的文件系统
RAW Flash :带有CONFIG_UBI_FASTMAP的UBIFS可能是最佳解决方案。
块存储:SquashFS是根文件系统的最佳解决方案,它可以是只读的。Btrfs和f2fs可能是读/写文件系统的最佳解决方案。
更改文件系统类型非常容易,并且对应用程序完全透明。只需尝试几个文件系统选项,看看哪个最适合!
不要只关注启动时间。
对于读写性能至关重要的系统,我们建议使用单独的根文件系统(以加快启动时间)和数据分区(以实现良好的运行时性能)。
2.1 Initramfs
一个很好的方案是使用非常小的initramfs,以启动关键应用程序,然后切换到最终的根文件系统。
initramfs机制:将根文件系统集成到内核映像中,因此它与内核一起被加载到内存中:
它将文件系统的压缩存档集成到内核映像中
变种:压缩的initramfs固件也可以由bootloader单独加载。
initramfs在下面两种情况下非常有用:
快速启动且非常小的根文件系统。由于文件系统在启动时已完全加载,因此应用程序启动也非常快。
作为切换到实际根文件系统之前的中间步骤,该文件位于需要其驱动程序不属于内核映像的设备(存储驱动程序,文件系统驱动程序,网络驱动程序)上。始终在桌面/服务器发行版的内核上使用此选项,以保持内核映像大小合理。