• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Write HFS on Snow Leopard with FuseHFS

zydeco

6502
I started this quite some time ago, then ran into problems and let it rot for some months, but I now have a usable version.

FuseHFS is a MacFUSE filesystem that provides write support for HFS disks.

I haven't tried it with real media, but you can create HFS disk images, mount them, and copy things to/from them.

For Mini vMac/Basilisk/SheepShaver, you should make sure the disk image has no partition map, or else it won't be recognised.

Features:

  • Format and read/write HFS partitions
  • Supports HFS file attributes and resource forks, of course
  • Automatically blesses a folder when you copy a valid System file into it


Requirements:



Known bugs:

  • I don't recommend editing resource forks directly on the disk image, the documentation on setxattr isn't that clear about when/if an attribute should be truncated, and my testing on the subject was inconclusive, instead just use it to copy files to/from the HFS disks.
  • It can't change volume names, since that only works with apple-provided file system modules, MacFUSE can't do it.
  • The code is there to support creation/backup dates on items, but for some reason it never gets called, so they don't appear anywhere


It's quite an early beta, but I'd like people to try it so we can find more bugs, and maybe even fix them some day.

Download: http://namedfork.net/fusehfs (139 KB)

Source code: http://vc.namedfork.net/nf/fusehfs/

Screenshot of Disk Utility :p : http://yfrog.com/5nhfsimgp

It's based on hfsutils, and licensed under the GPLv2

Try it out and tell me what you think.

 
Last edited by a moderator:
YES!!

Another triumph for the Vintage Mac Community!

Thank you so much.

Now if only we could get MFS Lives working under Snow Leopard again.

 
Actually, I wrote a library and FUSE module with read-only MFS access, but I haven't packaged it as a filesystem module for Mac OS X yet, I didn't know MFSLives had stopped working.

I just wrote the library so that the iPhone port of Mini vMac could find apps in disk images and show an appropriate icon for it, then I made the FUSE module to learn how that stuff worked. :beige:

 
I didn't know MFSLives had stopped working.
Yup. Whatever file system reorganization caused HFS write to break, seems to have also disabled MFS read. Now I have only installed the included package pre-built file system, so perhaps it can be reconfigured to work under Snow Leopard, but without knowing exactly what broke it in the first place I'm clueless.

Your implementation of HFS write (and I'm sure eventually read – maybe even as soon as 10.7), is far more important than reading an MFS image, much less writing to one given that capability in Mini vMac.

Though there are a number of ways to get around getting files onto an HFS disk image, none of them are simple. I still see many classic files routinely being sent as stand alone, or .sit, or .hqx formats, most of which will not open under OS X, which either way leaves one with the problem of getting them onto an HFS image which Mini vMac can use. As Paul Pratt, the current developer of the vMac legacy, will tell you, getting those files into Mini vMac to put onto an HFS image is a simple matter of creating a startup disk with his ImportFL application. But again, it's an added step to managing one's disks, and not the easiest to set up for many casual users. Most importantly it won't import the resource fork, so free files must be compressed under OS X in a method that will de-compress under System 7 – I'm sure there's a way, but I sure don't know what it is. Alternately would it be possible to make Stuffit Expander aware of the OS X .zip format definition so it can be expanded inside Mini vMac under System 7?

Obviously, it's so much easier to just open a disk image in the OS X Finder, copy your files directly into it, then open in Mini vMac.

Of course this will all be moot as soon as Paul tackles the Quadra 700 emulation, but I wouldn't hold my breath. :beige:

 
Yup. Whatever file system reorganization caused HFS write to break, seems to have also disabled MFS read.
Not exactly, MFSLives is an external file system.

Actually, I wrote a library and FUSE module with read-only MFS access, but I haven't packaged it as a filesystem module for Mac OS X yet, I didn't know MFSLives had stopped working.
MFSLives comes with source code BTW, perhaps you can help making it work as a filesystem in Snow Leopard.

 
Unfortunately it doesn't work for me (Core Duo, Mac OS X 10.6.3, Safari 5).

• I installed version 0.1, I've got MacFuse 2.0.3 running.

• I choose "HFS" in Disk Utility for a 100 MB disk image, no partition table.

• Disk Utility creates the image but complains "could not mount image. No mountable file systems".

• The image is deleted then/doesn't appear.

Any hints? Any better place where to put a bug report?

 
Didn't work for me either on 10.6.4. In fact it actually stopped me from being able to even read HFS volumes at all until I removed /System/Library/Filesystems/fusefs_hfs.fs. :)

 
I'll get on board the wagon with froob and report the same error on a dual core Intel with 10.6.4 and MacFuse 2.0.3. Thanks as well for the roll back process; saved me from jumping into the time machine for a restore.

 
Don't know if Zydeco is checking this thread, but the error is probably due to him linking against a newer library. Console.app says:

Dyld Error Message:

Library not loaded: /usr/local/lib/libiconv.2.dylib

Referenced from: /sbin/mount_fusefs_hfs

Reason: Incompatible library version: mount_fusefs_hfs requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

This was on 10.6.4 as well.

 
Hello, I've been out for a while, but I just updated the plugin a bit and called it 0.1.2, but I can't change the first post, so I've put up a little webpage: http://namedfork.net/fusehfs, it would be nice if an admin could change the download link to that on the first post.

I have only tested it on 10.6.4 with MacFUSE 2.1.5 beta and it seems to work, post here or e-mail me if you have any problems and I'll see what I can do.

Changes in 0.1.2:

  • Fixed iconv linking problem
  • Don't mount HFS wrappers (patch from Dave Vasilevsky)

 
Worked or me as well on 10.6.4, good job.

However writing to a USB ZIP drive takes over 5 minutes for ~10MB or so (of 2-3 files, not tiny files).

 
Thanks so much for getting this to work!! I can now write directly to real media HFS floppies via an old TEAC USB floppy drive connected to my MacBook Pro running Snow Leopard 10.6.8 Amazing!!! I never believed that this would be possible.

I get no OS errors. The only minor glitch is that available space on the floppy is not updated, so you have to be aware of how much you are copying - but this is no big deal. It does throw a 'not enough space on disk' message if required.

I only found this post after a prolonged over-optimistic googling session. I'm sure this functionality would be of real interest to MANY 68k owners. Perhaps this post could be made sticky or something?

 
Has anyone gotten FuseHFS working in Lion?

I installed the latest release of OSXFuse with the MacFuse compatibility layer, but installing FuseHFS gives me this:

TwAsz.jpg.fdc28f52c0ab020a694973dceb034298.jpg


Any ideas?

 
Yes, it works for me.

I installed MacFuse 2.1.9 (macfuse-core-10.5-2.1.9.dmg not the 'latest' version from their website, I had to search for it to find a dev build)

I then installed fusehfs-0.1.3.pkg

I then installed OSXFUSE-2.3.8.dmg without the MacFuse compatibility layer. When I tried to install fusehfs without MacFuse and with the comp. layer it didn't work (complaining I didn't have MacFuse), so I installed it and unchecked the comp. layer in osxfuse to prevent stuff from failing..

Anyhow, I can now right click on a disk.dmg image (made with SheepShaver I think?) with System 6, Choose 'Open with -> Disk Image mounter', and drag all the stuff on to the mounted image. Unmount, and start the emulator (mini vmac 3.1.3).

I'm on OSX 10.7.2 (Lion). :)

 
Thanks, I was able to install FuseHFS by doing it in the order you suggested.

Unfortunately, I still can't mount the 7.5.3 .smi files - I get "legacy file must be converted."

Am I going about this the wrong way, or do I still not have FuseHFS installed correctly? I'm just looking to get up to 7.5.5 on my SE/30 and be able to put some programs on it. Right now it's a really cool vintage screen saver machine. xx(

 
Back
Top