GSoC project Interest: LittleFS

@gedare @opticron
I am interested in the Port LittleFs project (issue #5354).
First are there any mentors assigned to the project? And I want to know if there are any documentation on how to properly port an existing software to RTEMS.
Also I need your guidance on how to approach the problem now, so i can understand the full scope. It will help me to create a proper timeline for the project in the proposal.

Thank you for your guidance.

We had a project that ported FatFS to RTEMS last year. You can check that out to see what kind of effort was involved there, see tracking/2025/Sepehr_Ganji.md · main · RTEMS / Programs / Google Summer of Code · GitLab

You could also try to contact the student who did that work and see if he might have any insight for you.

This is also related: Filesystem Implementation documentation outdated

And here: File System Development, Testing and Debugging

Thank you I will look into everything you mentioned.

@gedare i am going through the documentations and references you sent.
I also sent MRs on the issues related to libfs and libblock, so I am also quite learning about the filesystems in rtems.

So, I just need a guidance should I start woking on the issue now, my first step would be to go through the LittleFs documentations and source code.

Yes, a successful proposal needs to have a solid understanding about the code being ported to know what dependencies it has, what kind of limitations might exist, how active the upstream is maintained or changes, and more.

I’ve completed my study of the RTEMS filesystem/VFS integration and documented my understanding. I’m ready to move on to analyzing littlefs and its integration points.

Great. It would be good to be able to show that you can run LittleFS on some target (e.g., baremetal or another RTOS), and to be able to describe how to debug it.

1 Like

I ran LittleFS standalone using a file to simulate flash memory and I know how to debug basic issues.

@gedare Over the past few days, I’ve been studying both littlefs architecture (block abstraction, mount/format flow, crash-consistency model) and the RTEMS VFS integration model.

Based on that, I drafted a short integration approach. My current understanding is:

  • Store lfs_t in mt_entry->fs_info (one instance per mount)
  • Implement the read/prog/erase/sync callbacks in a thin RTEMS glue layer
  • Keep littlefs core unchanged
  • Map RTEMS handlers (open_h, read_h, write_h, etc.) to the corresponding littlefs APIs
  • Ensure offset handling remains consistent between RTEMS and lfs_file_t

Before moving toward implementation experiments,I wanted to confirm whether this architectural direction aligns with expectations for the project.

This direction sounds reasonable to me. I believe you have enough that you will be able to start drafting your proposal.

1 Like

Thank you for the confirmation. I’ll begin drafting the proposal.
I appreciate your guidance.