Hi Alan, thx a lot. I should have mentioned that I'll have a large NAND flash, so ext4 might still be the file system of choice. The other ones you mentioned are interesting to consider, but seem to be more fitting for a smaller NOR flash. Regards Kai On Mon, Jul 17, 2023 at 10:50:50AM -0300, Alan C. Assis wrote: > Hi Kai, > > On 7/17/23, Kai Tomerius <kai@xxxxxxxxxxx> wrote: > > Hi, > > > > let's suppose an embedded system with a read-only squashfs root file > > system, and a writable ext4 data partition with data=journal. > > Furthermore, the data partition shall be protected with dm-integrity. > > > > Normally, I'd umount the data partition while shutting down the > > system. There might be cases though where power is cut. In such a > > case, there'll be ext4 recoveries, which is ok. > > > > How robust would such a setup be? Are there chances that the ext4 > > requires a fsck? What might happen if fsck is not run, ever? Is there > > a chance that the data partition can't be mounted at all? How often > > might that happen? > > > > Please take a look at this document: > > https://elinux.org/images/0/02/Filesystem_Considerations_for_Embedded_Devices.pdf > > In general EXT4 is fine, but it has some limitation, more info here: > https://opensource.com/article/18/4/ext4-filesystem > > I think Linux users suffer from the same problem we have with NuttX (a > Linux-like RTOS): which FS to use? > > So for deep embedded systems running NuttX I follow this logic: > > I need better performance and wear leveling, but I don't need to worry > about power loss: I choose SmartFS > > I need good performance, wear leveling and some power loss protection: SPIFFS > > I need good performance, wear leveling and good protection for > frequent power loss: LittleFS > > In a NuttShell: There is no FS that 100% meets all user needs, select > the FS that meets your core needs and do lots of field testing to > confirm it works as expected. > > BR, > > Alan