* [TUHS] retro-fuse project
@ 2021-02-22 16:41 Jay Logue via TUHS
2021-02-22 17:10 ` Will Senn
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Jay Logue via TUHS @ 2021-02-22 16:41 UTC (permalink / raw)
To: tuhs
Lately, I've been playing around in v6 unix and mini-unix with a goal of
better understanding how things work and maybe doing a little hacking.
As my fooling around progressed, it became clear that moving files into
and out of the v6 unix world was a bit tedious. So it occurred to me
that having a way to mount a v6 filesystem under linux or another modern
unix would be kind of ideal. At the same time it also occurred to me
that writing such a tool would be a great way to sink my teeth into the
details of old Unix code.
I am aware of Amit Singh's ancientfs tool for osxfuse, which implements
a user-space v6 filesystem (among other things) for MacOS. However,
being read-only, it's not particularly useful for my problem. So I set
out to create my own FUSE-based filesystem capable of both reading and
writing v6 disk images. The result is a project I call retro-fuse,
which is now up on github for anyone to enjoy
(https://github.com/jaylogue/retro-fuse).
A novel (or perhaps just peculiar) feature of retro-fuse is that, rather
than being a wholesale re-implementation of the v6 filesystem, it
incorporates the actual v6 kernel code itself, "lightly" modernized to
work with current compilers, and reconfigured to run as a Unix process.
Most of file-handling code of the kernel is there, down to a trivial
block device driver that reflects I/O into the host OS. There's also a
filesystem initialization feature that incorporates code from the
original mkfs tool.
Currently, retro-fuse only works on linux. But once I get access to my
mac again in a couple weeks, I'll port it to MacOS as well. I also hope
to expand it to support other filesystems as well, such as v7 or the
early BSDs, but we'll see when that happens.
As I expected, this was a fun and very educational project to work on.
It forced me to really understand what was going in the kernel (and to
really pay attention to what Lions was saying). It also gave me a
little view into what it was like to work on Unix back in the day.
Hopefully someone else will find my little self-education project useful
as well.
--Jay
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [TUHS] retro-fuse project
2021-02-22 16:41 [TUHS] retro-fuse project Jay Logue via TUHS
@ 2021-02-22 17:10 ` Will Senn
2021-02-22 20:13 ` Rob Pike
2021-02-22 20:40 ` Anthony Martin
2021-02-24 16:01 ` arnold
2 siblings, 1 reply; 6+ messages in thread
From: Will Senn @ 2021-02-22 17:10 UTC (permalink / raw)
To: tuhs
[-- Attachment #1: Type: text/plain, Size: 1041 bytes --]
On 2/22/21 10:41 AM, Jay Logue via TUHS wrote:
> Lately, I've been playing around in v6 unix and mini-unix with a goal
> of better understanding how things work and maybe doing a little
> hacking. As my fooling around progressed, it became clear that moving
> files into and out of the v6 unix world was a bit tedious. So it
> occurred to me that having a way to mount a v6 filesystem under linux
> or another modern unix would be kind of ideal. At the same time it
> also occurred to me that writing such a tool would be a great way to
> sink my teeth into the details of old Unix code.
> ...
> As I expected, this was a fun and very educational project to work
> on. It forced me to really understand what was going in the kernel
> (and to really pay attention to what Lions was saying). It also gave
> me a little view into what it was like to work on Unix back in the
> day. Hopefully someone else will find my little self-education
> project useful as well.
>
> --Jay
>
Yay! I for one, will appreciate this!
Will
[-- Attachment #2: Type: text/html, Size: 1522 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [TUHS] retro-fuse project
2021-02-22 17:10 ` Will Senn
@ 2021-02-22 20:13 ` Rob Pike
0 siblings, 0 replies; 6+ messages in thread
From: Rob Pike @ 2021-02-22 20:13 UTC (permalink / raw)
To: Will Senn; +Cc: TUHS main list
[-- Attachment #1: Type: text/plain, Size: 1265 bytes --]
Please let us know how you go with the Macs. The system interfaces have
become more refractory lately, with virtual file systems a particular
concern.
-rob
On Tue, Feb 23, 2021 at 4:11 AM Will Senn <will.senn@gmail.com> wrote:
> On 2/22/21 10:41 AM, Jay Logue via TUHS wrote:
>
> Lately, I've been playing around in v6 unix and mini-unix with a goal of
> better understanding how things work and maybe doing a little hacking. As
> my fooling around progressed, it became clear that moving files into and
> out of the v6 unix world was a bit tedious. So it occurred to me that
> having a way to mount a v6 filesystem under linux or another modern unix
> would be kind of ideal. At the same time it also occurred to me that
> writing such a tool would be a great way to sink my teeth into the details
> of old Unix code.
> ...
> As I expected, this was a fun and very educational project to work on. It
> forced me to really understand what was going in the kernel (and to really
> pay attention to what Lions was saying). It also gave me a little view
> into what it was like to work on Unix back in the day. Hopefully someone
> else will find my little self-education project useful as well.
>
> --Jay
>
> Yay! I for one, will appreciate this!
>
> Will
>
[-- Attachment #2: Type: text/html, Size: 1934 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [TUHS] retro-fuse project
2021-02-22 16:41 [TUHS] retro-fuse project Jay Logue via TUHS
2021-02-22 17:10 ` Will Senn
@ 2021-02-22 20:40 ` Anthony Martin
2021-02-24 16:01 ` arnold
2 siblings, 0 replies; 6+ messages in thread
From: Anthony Martin @ 2021-02-22 20:40 UTC (permalink / raw)
To: Jay Logue; +Cc: tuhs
On Plan 9: http://9p.io/magic/man2html/4/tapefs
On Unix: https://9fans.github.io/plan9port/man/man4/tapefs.html
Cheers,
Anthony
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [TUHS] retro-fuse project
2021-02-22 16:41 [TUHS] retro-fuse project Jay Logue via TUHS
2021-02-22 17:10 ` Will Senn
2021-02-22 20:40 ` Anthony Martin
@ 2021-02-24 16:01 ` arnold
2021-02-24 17:40 ` Brad Spencer
2 siblings, 1 reply; 6+ messages in thread
From: arnold @ 2021-02-24 16:01 UTC (permalink / raw)
To: tuhs, jay-tuhs9915
Jay Logue via TUHS <tuhs@minnie.tuhs.org> wrote:
> ... The result is a project I call retro-fuse, which is now up on github
> for anyone to enjoy (https://github.com/jaylogue/retro-fuse).
Very cool!
> Currently, retro-fuse only works on linux. But once I get access to my
> mac again in a couple weeks, I'll port it to MacOS as well. I also hope
> to expand it to support other filesystems as well, such as v7 or the
> early BSDs, but we'll see when that happens.
I note that Linux already has the 'sysv' kernel module which supports
System V short-filename file systems. Enhancing that for V7 and early
BSD may be a faster route to having such file system images be mountable.
(But perhaps less fun than a FUSE filesystem that uses original Unix code.)
An enhanced version of the sysv kernel module that supports filesystems
from the AT&T Unix PC / 3B1 is available at
https://github.com/dgesswein/s4-3b1-pc7300.
Arnold
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [TUHS] retro-fuse project
2021-02-24 16:01 ` arnold
@ 2021-02-24 17:40 ` Brad Spencer
0 siblings, 0 replies; 6+ messages in thread
From: Brad Spencer @ 2021-02-24 17:40 UTC (permalink / raw)
To: arnold; +Cc: tuhs
arnold@skeeve.com writes:
> Jay Logue via TUHS <tuhs@minnie.tuhs.org> wrote:
>
>> ... The result is a project I call retro-fuse, which is now up on github
>> for anyone to enjoy (https://github.com/jaylogue/retro-fuse).
>
> Very cool!
>
>> Currently, retro-fuse only works on linux. But once I get access to my
>> mac again in a couple weeks, I'll port it to MacOS as well. I also hope
>> to expand it to support other filesystems as well, such as v7 or the
>> early BSDs, but we'll see when that happens.
>
> I note that Linux already has the 'sysv' kernel module which supports
> System V short-filename file systems. Enhancing that for V7 and early
> BSD may be a faster route to having such file system images be mountable.
> (But perhaps less fun than a FUSE filesystem that uses original Unix code.)
>
> An enhanced version of the sysv kernel module that supports filesystems
> from the AT&T Unix PC / 3B1 is available at
>
> https://github.com/dgesswein/s4-3b1-pc7300.
>
> Arnold
NetBSD has v7fs which claims to be able to deal with the 7th Edition
filesystem.
--
Brad Spencer - brad@anduin.eldar.org - KC8VKS - http://anduin.eldar.org
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-02-24 18:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22 16:41 [TUHS] retro-fuse project Jay Logue via TUHS
2021-02-22 17:10 ` Will Senn
2021-02-22 20:13 ` Rob Pike
2021-02-22 20:40 ` Anthony Martin
2021-02-24 16:01 ` arnold
2021-02-24 17:40 ` Brad Spencer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).