Hi all,
I've been hard at work on my retro-fuse project over the past few
months, and so I thought I'd update the list with my progress.
I have just released version 7 of retro-fuse on github
(
https://github.com/jaylogue/retro-fuse) This version adds support for
initializing and mounting 2.9 and 2.11BSD filesystems on modern
systems. It also includes fixes for a number of bugs in v6 and v7 support.
Beyond the work on 2.11 support, I also spent a significant amount of
time building an automated test framework. I'm a pretty big fan of
automated testing. So I'm happy to say that the project now includes a
series of tests verifying basic file I/O functionality as seen from the
modern system. While not exhaustive (because filesystem testing is
/hard/) the new tests give me reasonable confidence that things are
behaving as they should.
Additionally (in what was perhaps the most fun part of the project to
date) I have also created tests to verify the integrity of the generated
filesystems as seen from the historical systems. In particular, for each
of the supported Unix versions I've built tests that: launch the os
under simulation (simh), mount the generated filesystems, verify the
filesystems using the original integrity check tools (icheck/fsck), and
enumerate and compare the filesystem contents to that generated on the
modern system. As you might imagine, this involved a lot of
learning--from how to build size-reduced system images from the original
distribution tapes, to how to implement a modern POSIX cksum command
with old dev tools. All thoroughly enjoyable.
With this under my belt, I'll probably take a break from retro-fuse to
concentrate on other things. If anyone has any problems (or successes!)
using it, please drop me a line.
--Jay