VOGONS


First post, by doshea

User metadata
Rank Oldbie
Rank
Oldbie

I'm working on a DOS server based on mTCP and a Linux FUSE client which can talk to it and expose the DOS system's filesystem to Linux.

I've got various, shifting goals:
- Back up DOS systems using rsync-based tools like rsnapshot or dirvish, and in some cases Git
- Back up the contents of compressed volumes (that nobody understands the format of) as above
- Compare and synchronise what is on a DOS system against a backup or a mounted disk image using rsync
- Use Git to manage the source code for the server I'm working on (the Git repo's .git directory wouldn't live on the DOS filesystem, instead I'd mount the DOS filesystem inside the Git repo)
- Use DOS as a development environment because it's fun

I could certainly back up an emulated DOS system using rsync or similar by just mounting the disk image, but can't do the same for some compressed volume files.

I spent some time looking at/for existing network file systems, but nothing seemed to be suitable:
- SMB/CIFS: Linux's smbclient and mount -t cifs don't seem to want to talk to Microsoft Workgroup Add-on for MS-DOS. It looks like this broke somewhere between Samba versions 1 and 2, which I think was last century. I don't want to maintain a fork of Samba again, I did that at work once and it just changes too much without explanation. I don't think they'd accept patches because even support for plain text authentication is deprecated - I think they want to move away from supporting my use case, not toward it, which I think makes sense.
- NetWare Lite: ncpfs was removed from the Linux kernel some time ago.
- NFS: I could find an NFS version 2 server for DOS, but the Linux kernel no longer supports NFS version 2.
- FTP: I could run an mTCP FTP server and get a Linux FUSE client to mount it, but whereas FAT stores time stamps accurate to 2 seconds, an FTP directory listing might just say "Sep 22 2024" without telling you the time at all, and FTP isn't a great match for a filesystem - it doesn't support random access to files.

So I have an interesting project to work on now, and I think I have read-only mounts working well enough with an emulated machine that I get the same results rsyncing from my FUSE-mounted filesystem vs. using the Linux kernel's "msdos" filesystem.

It should be possible to make clients for FreeBSD, macOS and Windows too - I believe they all have (probably not identical) FUSE implementations.

Would anyone else find this useful? What would you want to use it for?

Reply 1 of 1, by mkarcher

User metadata
Rank l33t
Rank
l33t
doshea wrote on Today, 12:02:
  • Use Git to manage the source code for the server I'm working on (the Git repo's .git directory wouldn't live on the DOS filesystem, instead I'd mount the DOS filesystem inside the Git repo)
  • Use DOS as a development environment because it's fun

Sounds great, actually!

doshea wrote on Today, 12:02:

NetWare Lite: ncpfs was removed from the Linux kernel some time ago.

As far as I know, NetWare Lite is not really NCP, but Personal NetWare (the sucessor of NetWare Lite that was bundled with Novell DOS 7) is. One telltale sign is that for diskless boot, you need to load an 8K TSR (BOOTNCP) on an NetWare Lite server, but just a 500 byte TSR (NEARSERV) on a Personal NetWare server. NEARSERV just responds to the "get nearest server" broadcast sent by the boot ROM first to find an NCP server that can be booted from.

doshea wrote on Today, 12:02:

Would anyone else find this useful? What would you want to use it for?

I would definitely find this useful, and use it for the use cases you mentioned above.