-
Notifications
You must be signed in to change notification settings - Fork 344
Tasks ext2 file system driver
Develop an ext2 filesystem driver. (read-only support would be useful as a first step)
- Status: Complete ✔️
- Difficulty: Medium ... Hard
- Language: C
- Mentors: Mike Kinney and Bret Barkelew
- Suggested by: rsun3
- Completed ✔️.
- Instead of implementing an ext2 driver as originally proposed, a much more useful ext4 driver was implemented instead!
- Work done by Pedro Falcato (@heatd) as a GSoC2021 Student.
- Before GSoC 2021, some progress was made during GSOC2011 by Alin Rus
- A newer effort has been started based on GRUB filesystem drivers, however this code cannot be merged to TianoCore due to GRUB being licensed under the GPL.
Filesystems in UEFI can be accessed through the SimpleFileSystem protocol. This protocol is the defined within SimpleFileSystem.h.
This project should be completed with a BSD compatible solution. This would mean that GPL licenses ext2 code or header files cannot be used. You would need to investigate ext2's disk format by looking for documentation, consulting with ext2(+) developers, or (as a last resort) by examining the disk contents.
It may be possible to leverage BSD compatible code from a reputable open source project, but using 3rd-party code does add some extra complexity (see Code Contributions).
Building: This project can be completed on any edk2 supported OS or toolchain.
Testing: OVMF would probably provide the easiest environment for testing your project. You should be able to build your driver into OVMF and then run OVMF with a hard disk image that contains an ext2 file-system.
This project would be for an edk2 based driver, so please discuss the project on edk2-devel.
Home
Getting Started with EDK II
Build Instructions
EDK II Platforms
EDK II Documents
EDK II Release Planning
Reporting Issues
Reporting Security Issues
Community Information
Inclusive Language
Additional Projects & Tasks
Training
Community Support
Community Virtual Meetings
GHSA GitHub Security Advisories Proceess (Draft)