• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Write HFS on Snow Leopard with FuseHFS

zydeco

Well-known member
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:

Mac128

Well-known member
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.

 

zydeco

Well-known member
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:

 

Mac128

Well-known member
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:

 

yuhong

Well-known member
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.

 

rieSha.

Well-known member
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?

 

froob

New member
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. :)

 

zaphod1234

New member
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.

 

da9000

Active member
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.

 

zydeco

Well-known member
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)

 

zaphod1234

New member
Genius. The OS still throws error alerts, but the volume mounts and I can read/write/delete files. Many thanks. :beige:

 

da9000

Active member
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).

 

djpumpkin

Member
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?

 

DEUCE SLUICE

New member
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?

 

LOOM

Well-known member
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). :)

 

DEUCE SLUICE

New member
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(

 
Top