Skip to content

Elektraglide/Fuse4UNIFLEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

[ Modified from https://github.com/kees1948/UniFLEX/tree/master/Linux-tools/Fuse4UNIFLEX to add:

  • long filename support
  • compiling for MacOS (macFUSE) ]

This is an implementation of Fuse (Filesystem in User space) that allows you to mount UniFLEX formatted .dsk images and have full access to the contents.

mount the UniFLEX filesystem (example)

fuse_uf wd0.dsk UF

Assuming that mount point UF (a directory) already existed.

df may give: fuse_uf 14586 2432 12154 17% /home/kees/fuse/UF

ls -l UF may give you:

total 0
drwx---r-x 2 root   root      48 Mar  8  1990 act
drwx---r-x 2 daemon daemon  1008 Mar  8  1990 bin
-rw----r-- 1 root   root    4608 Mar 10  1990 core
drwx---r-x 2 root   root     560 Mar  8  1990 dev
drwx---r-x 3 root   root     512 Mar  8  1990 etc
drwx---r-x 4 daemon daemon    64 Mar  8  1990 gen
drwx---r-x 3 daemon daemon   624 Jun 11  1986 include
drwx---rwx 2 root   root       0 Mar  8  1990 kees
drwx---r-x 3 daemon daemon   240 Mar  8  1990 lib
drwx---r-x 2 root   root      32 Mar  8  1990 lost+found
drwx---rwx 2 root   root       0 Mar 10  1990 mnt
drwx---rwx 4 root   root      64 Mar  8  1990 src
drwx---rwx 2 daemon daemon    80 Mar  8  1990 tmp
-rw------- 1 root   root   25999 Mar  8  1990 uniflex
drwx---r-x 6 daemon daemon   112 Mar  8  1990 usr
drwx---rwx 2 root   root       0 Mar  8  1990 usr0
drwx---rwx 2 root   root      32 Mar  8  1990 usr3

You can add/delete files, create/remove directories, change permissions, change owner, create device files (but only if mounted as root and run mknod as root!)

I created it to ease my access to the UniFLEX disk images. The Fuse implementation may (will) have bugs but it is in a very usable state.

Building it goes like:

apt-get install libfuse-dev

gcc -g -Wall fuse_uf.c -fms-extensions pkg-config fuse --cflags --libs -o fuse_uf

warnings may be ignored

If you plan to run gdb with it, your set args should be something like

set args  -s -f \
set breakpoints
run

If you need to exit gdb, don't forget to run fusermount -u

fusermount -u will unmount the UniFLEX disk image.

Have Fun!

[2022-11-23] I took the time to figure out why it would not build properly on Linux 64 bit. You may ignore the warnings the compiler may throw at you. It turns out that the size of the UniFLEX SIR was defined wrong. Corrected that. Now I can build and use fuse_uf on a 64 bit Linux again.

[2025-01-03] After moving to a 64 bit environment with Ubuntu, I got a newer compiler and libraries.

cc fuse_uf.c -D_FILE_OFFSET_BITS=64 `pkg-config fuse --cflags --libs`  -o fuse_uf

About

mounting Uniflex filesystem on Linux and MacOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages