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