« State of Graphics | Main | Good Laws »

April 12, 2003

OS X and ext2

I've recently begun to help out on another project implementing support for ext2 in the OS X environment (found here). Brian Bergstrand has been the main developer so far, having gotten the source to state of reasonably usable code for use via KEXT. I ran through the code about a week ago and sent in some patches for a few bugs, potential bugs, and optimizations.

So where is the project at? Well it seems to be fairly stable. You can mount drives, read, write, and examine them just fine as unix drives. The problems are evident when you try to get a Mac only user to play with them, or use them with the ext3 file system.

EXT3 support will be set in place sometime soon, we just want to work out all the potential bugs in ext2 first, so expect that sometime in the future. It's really not that hard, and a good portion of it is already in place (architecturally) to be implemented.

As for the Mac user portion, one of the bits that many mac users don't understand is the idea of user ids, nor should they really have to. The multiple users of a desktop machine being something new to many of them. Apple has done a fairly good job of obfuscating this from the end user, by having the console user become a fake-root user thus bypassing many of the file permissions issues. This is where things go wrong on the ext2 mounting system. Right now if you mount a device without having mapped your user id's properly between the device and the local machine, you cannot access your own home directory.

Many long time unix administrators and users already know this and have worked hard to keep user id's the same across machines. It's not a new problem, it's just not something Mac users typically think about. So one of the parts I'm starting to research into is how to enable the console user control of the file system. It's been a bit more tricky since I cannot find some good documentation on this bit, but it does seem like it can be implemented.

In any case Brian is apparently waiting for the new release of the e2fsprog (1.33) so that can be integrated before the final release of 1.0 can happen. If you want to help debug and test the code, I would suggest doing this now. It would be nice to have a release that works extremely well for all.

Posted by Dan at April 12, 2003 08:57 AM

Comments