can't mount HFS volumes in Mavericks using Fuse HFS

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

archtop
Inquisitive Elf
Posts: 27
Joined: Mon Sep 16, 2013 9:47 pm

can't mount HFS volumes in Mavericks using Fuse HFS

Post by archtop »

I can now tell you that the combination of MacFUSE 2.2 and FuseHFS 0.1.3, which when installed in OS X Lion allowed me to mount HFS volumes, does NOT work in Mavericks. (Thus I can’t mount the .DSK files I used to drag onto Mini vMac.) I used to be able to open these volumes by right-clicking and mounting them with DiskImageMounter.app. However, this now locks up the computer and causes it to reboot.

Is there a potential solution to this?
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

I've been using Mini vMac as my virtual disk image mounter for years now... just install the file transfer apps on a bootable image, and then drag the dsk into the window to mount it. Use Mini vMac itself to copy stuff on/off the image.
The mentioned apps are available on the Mini vMac web site.
archtop
Inquisitive Elf
Posts: 27
Joined: Mon Sep 16, 2013 9:47 pm

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by archtop »

What I've done up until now is use something labeled 800K.dsk, which I could always simply mount in OS X to put files in or take them out (both resource and data forks, easy); dragging this onto Mini vMac makes those files available to Mini vMac. I also use clipin and clipout to import and export text into Word 5.1. The whole thing was swift and simple.

Now I can't mount the 800K.dsk in OS X any more (I could in 10.6 and 10.7 using Fuse HFS). My problem is not copying stuff to and from Mini vMac to the disk image; it's getting those things off and on the disk image to OS X Mavericks.
archtop
Inquisitive Elf
Posts: 27
Joined: Mon Sep 16, 2013 9:47 pm

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by archtop »

Also, if you're talking about ImportF1 and ExportF1, which work fine with Mini vMac in 10.6 (but don't transfer both data and resource forks, so I don't normally use them), they don't work in Mavericks either: I get this message: "attach failed — legacy image should be converted"

EDIT: Yes, ImportF1 and ExportF1 do work in Mavericks (don't know what I did wrong the first time)! So there is a way to get files in and out of Mini vMac. Thank you!

(However, I did really like the ease and flexibility of my previous method, and that I could move both resource and data forks in and out of Mini vMac. So I still have my question: Is there any way to use FuseHFS in Mavericks?)
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by Cat_7 »

Hi,

It seems MacFuse (of which FuseHFS is part) is not developed anymore. The old version is not compatible with Mavericks. Please read this:
http://michael.terretta.com/fix-to-remo ... ackage-dot

There are replacements built on the basis of the MacFuse source code, such as OSXFuse, which do run in Mavericks. Whether they provide the exact same functionality, I don't know.
http://osxfuse.github.io/

Best,
Cat_7
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

Yes, everyone should be moved over to osxfuse at this point; the writing's been on the wall for the old FUSE ports for some time.

Unfortunately, I switched to using import/exportF1 precisely because I was having difficulties implementing the mounting of MFS disks under osxfuse; still haven't got it working. HFS should work fine, but isn't guaranteed on all container types now that native support's gone.

It's almost getting so that I need to keep my 10.6 VM running for legacy management -- pretty much everything you can think of works in 10.6. More modern stuff, of course, will likely stop working in 10.6 soon (I'm thinking when 10.10 or whatever it'll be called comes out).
archtop
Inquisitive Elf
Posts: 27
Joined: Mon Sep 16, 2013 9:47 pm

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by archtop »

@Cat_7: Thanks for the link on uninstalling MacFUSE -- now at least Mavericks doesn't crash when I try to use DiskImage Mounter. I've installed OSXFuse, which doesn't do much for me at the moment, but I'll be working on it.

@adespoton: I'll let you know if I have any success woth OSXFuse. Meanwhile, I can use Import/ExportF1. (And/or I can use SheepShaver, which works flawlessly in Mavericks!)
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

Has anyone had any success porting fusehfs yet?

It seems to me that the way OS X filesystems are written, we SHOULD be able to write .fs packages for Mavericks that will allow a specific filesystem to mount. Haven't found the right documentation for this though -- and haven't attempted porting fusehfs to osxfuse and building an image mounter that way either.

I'm going to check one last thing -- seeing if there's some way to migrate the filesystem from 10.8 to 10.9.

[edit] Well, I tried copying the hfs.fs filesystem bundle from 10.8 into 10.9 -- interesting results. Disk Utility, instead of saying "no mountable filesystems," attempted to mount the volume. The result was a folder in the /Volumes list that was a -rwx (nobody could access it). I'm thinking that the change in the credentials used to mount volumes in Disk Utility may be in play here.

So, neither my fusehfs.fs nor 10.8 hfs.fs appear to work in 10.9. I'd love for others to fiddle a bit -- maybe I should try copying over the older Disk Utility (and hdiutil) too.

[edit2] Tried copying over hdiutil, and that one registered a volume of type HFS with a size 0. So that angle's not going to work.
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

Hi all,

I'm the creator of http://www.macpaint.org, so I have some interest in this topic. I do in fact have my 10.6 installation in a VirtualBox VM, like somebody else mentioned they were considering. It would be nice to not need that some day, though.

I have a few things to report:

1) I'm able to make fusehfs work with FUSE for OS X, to an extent. My setup is as follows:
  • fusefs_hfs.fs is in /System/Library/Filesystems
  • /sbin/mount_fusefs_hfs is a symbolic link to /System/Library/Filesystems/fusefs_hfs.fs/Contents/Resources/fusefs_hfs
    (the fusehfs installer should put both of these things where they belong)
  • Mac OS X 10.9.4
  • FUSE for OS X 2.7.0 with MacFUSE compatibility layer installed
I can mount and unmount functional (read/write) HFS disk images from the shell, but definitely not using the graphical DiskImageMounter/DiskImages UI Agent/Disk Utility. These commands work for me:

$: hdiutil attach /path/to/disk/image
$: mount -t fusefs_hfs /dev/disk# /specify/a/mount/point
# where disk# is the value that hdiutil reports
# And I can safely unmount the volume with just:

$: umount /mount/point/you/specified

2) Trying to use diskutil from the shell doesn't seem to work. Behavior is similar but not quite identical to when trying to open the disk image from the graphical Finder (or equivalent).

3) When trying to open the disk image through the graphical route, I can see that fusefs_hfs is called and runs for a second, but quits without leaving any messages in the console or anywhere I'm aware of (it normally stays open while the disk is mounted). The system does sort of think the disk image is mounted, though. It will refuse to detach the image because the volume on it won't unmount. If you kill diskimages-helper, the Finder will complain that the volume was unsafely ejected.

4) Somebody else on Github went to the trouble some time ago of starting to update fusehfs to work with FUSE for OS X, but it doesn't look like they got much farther than changing some data types to be 64-bit and (for some reason) removing some necessary config scripts so it wouldn't build successfully.

I forked that repo here: https://github.com/thejoelpatrol/fusehfs
I added /usr/local/lib (where the FUSE for OS X dylibs live) to the build path, and I can get it to build successfully. The framework bundle that is produced seems to work exactly as well as the original fusehfs bundle, so I haven't gotten very far. But the first step was getting it to build at all, so that's something.

Feel free to clone that yourself and play around. I can't say how far I will manage to get on this. This isn't a subject I know all that much about. I also haven't been able to find the right FUSE for OS X documentation to understand how this system is supposed to work, and since we don't have any of the source for diskutil or diskimages-helper or some of the other programs involved in this, it's kind of hard to run any of this in a debugger. (We should be angry at ourselves for buying into this closed-source Apple ecosystem for all these years) I suppose I'll try to dive into the actual code at some point soon and add some more logging output to see what it's doing.

Anyway, this thread comes up pretty prominently in a Google search for using fusehfs on Mavericks, so I posted here, but we can start a new one if people (who hopefully know more than I do) are actually interested in working on this.
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

Update:

adespoton speculated that the problem is due to insufficient privileges. This is probably on the right track.

The problem occurs within FUSE for OS X, not within any of the code of fusehfs itself. The syscall mount() on line 938 in this program fails due to EPERM, which I believe is due to the user lacking write access to the mount point in /Volumes. FUSE for OS X documentation indicates that the user must have write access to the mount point. It looks like my working copy of fusehfs on 10.6 with MacFUSE runs the fusefs_hfs program as root, which is not good if avoidable.

What's strange is that my workaround isn't subject to this. I can see that mount_fusefs_hfs is called with the same arguments by the same real/effective user and the exact same mount() call will work when mount_fusefs_hfs is called via my workaround, but not when mount_fusefs_hfs is called by double-clicking the disk image. Something must be different in the environment from which mount_fusefs_hfs is called, but I don't yet know what. I'm going to dig in to the source to mount to see what it does before calling the filesystem-specific program (in our case, mount_fusefs_hfs).

I'll also try to figure out how other filesystems like sshfs manage to mount in /Volumes without escalating to root. Requesting admin privileges from the user should work if all else fails, but that's really not a great option.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by Cat_7 »

Could it be that the problems with mounting cd's in SheepShaver/Basilisk in Mountain Lion and above has the same source? They do mount when SheepShaver/Basilisk are run as root from the command line, but not from the bundle.

I posted this some time ago on github:

Mountain Lion does allow SheepShaver to read CD's. You just need to run SheepShaver as root to get it to read them.
-Insert a CD.
-Open a terminal, cd to your SheepShaver folder.
-cd into SheepShaver.app/Contents/MacOS
-Then run SheepShaver with sudo ./SheepShaver , provide your root password and there you go.

I'm assuming this has something to do with cause of the "authopen" error some users are getting when using Disk Utility to read/create images from CDs. The partitions on the CD are not owned by the actual user, but by root.

This command shows ownership of the disk/partitions:
ls -la /dev/disk*

When you mount a real CD, the disk entry is owned by the current user, but all partitions below the disk entry are owned by root, while when you mount a disk image, the disk entry and all partitions below the disk entry are owned by the current user (as should probably be the case when a real CD is involved too).
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

@Cat_7: I'm not sure if these problems are the same. They may be related on some level (though I doubt this), but the permissions issue with FUSE turned out to be a bit different than I thought at first. See the README on the github repo for the full details of what I tried.

The problem was not with the permissions on the mount point in /Volumes. Adding write permission to the mount point had no effect. The problem lay in the -oallow_other FUSE option. This option attempts to the mount the volume as accessible to all users, which requires superuser permissions. From some documentation I've read, it seems like admin users should be able to do this too, but I haven't been able to make that work. For now, I'm going to just remove that option so we have a mostly working version, and I'll see about trying to add it back in later. A working version that mounts the volume for the current user only is better than nothing.

Now that I've mostly solved this, let's see if I can figure out how to make an installer package...
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

I emailed zydeco, the original FuseHFS developer, and he was supportive of me publishing a new version, so here we go:

https://thejoelpatrol.github.io/fusehfs/

Version 0.1.4b is up there, ready for testing. I'd appreciate some feedback on things working as expected or any problems you encounter, with different versions of OS X or OSXFUSE. I've only been able to test a couple versions, and it seems to do everything I had previously wanted to do with the old version, but there are probably things I haven't tried yet.

Finding this main bug took quite a bit of doing, but I did learn a lot, so now that I've got my bearings, maybe future fixes will be easier? Or maybe not, and future bugs will manifest themselves in much deeper places...
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

Well done! I probably won't have time to test this week, but rest assured, I'll put it through its paces eventually :)
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by uyjulian »

joelc wrote:I emailed zydeco, the original FuseHFS developer, and he was supportive of me publishing a new version, so here we go:

https://thejoelpatrol.github.io/fusehfs/

Version 0.1.4b is up there, ready for testing. I'd appreciate some feedback on things working as expected or any problems you encounter, with different versions of OS X or OSXFUSE. I've only been able to test a couple versions, and it seems to do everything I had previously wanted to do with the old version, but there are probably things I haven't tried yet.

Finding this main bug took quite a bit of doing, but I did learn a lot, so now that I've got my bearings, maybe future fixes will be easier? Or maybe not, and future bugs will manifest themselves in much deeper places...
Thanks for that!
This is a bit annoying though, you have to open Disk Utility and press Eject on the disk image before you can do anything with the disk image.
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

julialy wrote: Thanks for that!
This is a bit annoying though, you have to open Disk Utility and press Eject on the disk image before you can do anything with the disk image.
Whoops, didn't get a notification about this reply. Could you be more specific on the problem you're seeing? What steps do you follow that don't work as expected, and what does work? What versions of everything are you running? Might be easiest to discuss this over email: joel [{at}] macpaint.org
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by uyjulian »

joelc wrote:
julialy wrote: Thanks for that!
This is a bit annoying though, you have to open Disk Utility and press Eject on the disk image before you can do anything with the disk image.
Whoops, didn't get a notification about this reply. Could you be more specific on the problem you're seeing? What steps do you follow that don't work as expected, and what does work? What versions of everything are you running? Might be easiest to discuss this over email: joel [{at}] macpaint.org
It works fine... it just leaves some folders in your /Volumes/ directories after eject...
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

I guess it's been a busy few months; I completely forgot about this.

Joel: this is the standard problem that Disk Utility attempts to auto-mount the device and grabs control of it, so you have to eject before you can manually load/mount via Disk Utility or command line, or load in an emulator.

Not a big issue, but can sometimes get annoying.

Oh yeah -- and now we're on Yosemite! Woo!
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

julialy wrote: It works fine... it just leaves some folders in your /Volumes/ directories after eject...
Ah yeah, the old version did that too. I want to see if I can fix that in the next release.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

I think there's a new value to push to hdiutil since Lion or so, if you're going that route.
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

I looked into the extra folders in /Volumes/ and it's due to a race condition in OSXFUSE that evidently existed as far back as MacFUSE 2.0. The OSXFUSE developer says it won't be fixed in 2.x, and is already fixed in the code that will eventually become 3.0, whenever that may eventually appear. So I think we're out of luck for now.

Regarding the issue of Disk Utility auto-mounting the volume, that's a new one to me. Isn't the expected behavior when you open a disk image for it to be mounted? What are y'all wanting to do that requires the image to be attached, but not mounted? If you help me understand, maybe I can look into it, but this sounds like something that would be outside of my control. Nothing in FuseHFS ever talks to hdiutil directly.
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by uyjulian »

joelc wrote:I looked into the extra folders in /Volumes/ and it's due to a race condition in OSXFUSE that evidently existed as far back as MacFUSE 2.0. The OSXFUSE developer says it won't be fixed in 2.x, and is already fixed in the code that will eventually become 3.0, whenever that may eventually appear. So I think we're out of luck for now.

Regarding the issue of Disk Utility auto-mounting the volume, that's a new one to me. Isn't the expected behavior when you open a disk image for it to be mounted? What are y'all wanting to do that requires the image to be attached, but not mounted? If you help me understand, maybe I can look into it, but this sounds like something that would be outside of my control. Nothing in FuseHFS ever talks to hdiutil directly.
I figured out what I was talking about.
Image
simX
Space Cadet
Posts: 2
Joined: Wed Dec 23, 2015 3:49 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by simX »

I'm trying to use the 0.1.4b version of FuseHFS on El Capitan, and it doesn't seem to work. I have an HFS disk image that — surprisingly — still mounts as a read-only volume using Disk Utility on El Capitan. But when I try to open the same disk image with FuseHFS 0.1.4b installed, I just get the "no file systems recognized" error message. Has anybody had any luck on El Capitan? (I wouldn't be surprised if System Integrity Protection adds some significant impediments to using OS X Fuse and FuseHFS.)
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by adespoton »

I think you need to temporarily disable SIP while setting up OSXFuse. Once that's done and you re-enable SIP, I think FuseHFS *should* work. I say *should* because I haven't actually tried it; I switched to just using Mini vMac to manage my images years ago, as it's the only place I can read/write MFS.

[edit] Do other FUSE plugins work for you?
joelc
Student Driver
Posts: 10
Joined: Tue Jul 08, 2014 2:04 am

Re: can't mount HFS volumes in Mavericks using Fuse HFS

Post by joelc »

There are a few outstanding issues that I'm aware of that I hope to get around to, and El Capitan certainly seems like it could be a problem. I think it could be a problem for OS X FUSE in general, though. I'm not that familiar with it yet but i know El Capitan changed something about how kernel extensions are loaded. I don't know if this affects filesystem plugins, which FuseHFS is, but I suspect it would affect OS X FUSE as a whole. Does any other FUSE plugin work without changes? I'm not running 10.11, so I can't test any myself yet.
Post Reply