Monday, 21 March 2016 16:33

A Year's Progress: EXT2/3/4

Written by 

That's right! Support for the ext family of file systems that are used on Linux. ReactOS plans to go beyond Microsoft and add native support for these file systems. In this update, we will be covering EXT2/3/4 support in ReactOS!

In revision 141, David Welch committed a basic ext2 driver which was originally developed by Manoj Paul Joseph. As you have learned in the previous updates, when things are first committed in ReactOS, they tend to have basic functionality.

Some work came along into this, before Filip Navara became interested in it and picked up its development. Eventually, in revision 13008, Art Yerkes created a branch in order to work on the EXT2 driver with a different approach. Work came along nicely in the branch.

The driver that was in trunk, which was added by David Welch nearly 10 years earlier, eventually got deleted in revision 32282 and the driver from Art Yerkes' EXT2 branch was merged into trunk in revision 32283 as its replacement.

There was some work here and there mainly bug fixing and adding the ability to install ReactOS to an EXT2 partition. However, the EXT2 driver would not work in ReactOS because of the cache manager (a kernel module). There have been several attempts to re-write the cache manager (its technical name is common cache, or cc) but they have been met with relatively limited success. The option to format a partition using the EXT2 FS in the first stage setup was disabled as it didn't work yet.

Since the previous attempt to provide an EXT2 driver met with relatively limited success, ReactOS now leverages the Ext2Fsd project, by Matt Wu, in order to provide both read and write support for ext2, ext3, and ext4 file systems. Unlike the previous attempt, this one actually works! There were a few minor issues that had to be worked out, but now ReactOS can read and write to EXT2 partitions! :)

However, ReactOS can not be installed to an EXT2 partition from the very beginning because of Freeloader (the boot loader) missing some boot support code. But in time, that support will come. Stay tuned ;)

Here's a screenshot that shows EXT2 support in action, in ReactOS:

Your feedback is important to us, please let us know what you think via the comments section ;)

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.