User Name
Password
AppleNova Forums » Third-Party Products »

MacFUSE: FUSE for the Mac!


Register Members List Calendar Search FAQ Posting Guidelines
MacFUSE: FUSE for the Mac!
Page 1 of 13 [1] 2 3 4 5  Next Last Thread Tools
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 16:57

I've been waiting literally years for this to happen. Now it did.

MacFUSE is a port of FUSE to Mac OS X. FUSE is a way to implement a filesystem in userspace, rather than in the kernel.

What does that mean?

It means, for one, that ports of Linux filesystem implementations are now far more realistic. SSHFS, for instance, has already been done. Moreover, this makes an NTFS-3G port much more tangible, since that, too, uses FUSE.

And NTFS-3G, of course, would mean NTFS read/write support! I'm sure there's lots of Boot Camp users that would greatly appreciate this.
  quote
blakbyrd
Senior Member
 
Join Date: Jan 2006
Location: Warrenville, SC
Send a message via AIM to blakbyrd  
2007-01-11, 17:10

Nice.
  quote
Robo
Formerly Roboman, still
awesome
 
Join Date: Jul 2004
Location: Portland, OR
 
2007-01-11, 17:14

That's all way over my head, but, um, party on!
  quote
turtle
Lord of the Rant.
Formerly turtle2472
 
Join Date: Mar 2005
Location: Upstate South Carolina
 
2007-01-11, 17:17

Laymen's terms: Mac OS will have full read/write to XP/Vista file system?
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 17:20

Quote:
Originally Posted by turtle2472 View Post
Laymen's terms: Mac OS will have full read/write to XP/Vista file system?
No. However, a huge step in the direction has been made. Namely, the framework (FUSE) used by Linux's "full read/write to XP/Vista file system" (NTFS-3G) has just been ported to Mac OS X. NTFS-3G itself has not, but this facilitates things a lot.

It cannot yet be definitely said that it will happen. But it's just become a heck of a lot more likely.
  quote
turtle
Lord of the Rant.
Formerly turtle2472
 
Join Date: Mar 2005
Location: Upstate South Carolina
 
2007-01-11, 17:22

Oh, cool. Thanks for the education.
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 18:32

According to http://code.google.com/p/macfuse/wik...SYSTEMS_TESTED , NTFS-3G has been "compiled and tested to work". I can't get it to build yet, however.
  quote
Schnauzer
Veteran Member
 
Join Date: Feb 2006
Location: Arizona
 
2007-01-11, 18:34

Quote:
Originally Posted by Roboman View Post
That's all way over my head, but, um, party on!
umm yeah
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 21:38

Oh, and Chuckaha will be delighted to find that this makes FTP server uploads in the Finder possible, thanks to Fuseftp.
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 22:38

Things are much closer than I thought. I managed to mount an NTFS partition as read/write. Create a folder, read a file, move stuff around, unmount, remount, changes preserved.

Almost perfect. Some minor stuff to work out.

FAT32 is fast becoming obsolete.
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 23:05

Alright. It's still a little cumbersome and user-unfriendly, but the remaining stuff can be worked out easily.

If anyone wants to give it a shot, here's some documentation. You will need Xcode Tools for this, and will want to follow the steps exactly.

The first thing you have to do is download and install MacFUSE.

1) Download the current tarball from here.
2) Open Terminal. Navigate to where you downloaded the file. For instance, if you downloaded it to the desktop, type:
Code:
cd Desktop
3) Extract the tarball onto your system, effectively installing it:
Code:
sudo tar -C / -jxvpf fuse-binaries-0.1.0b006.tar.bz2
This will prompt for your password. Enter it, then wait as things get extracted and copied.

Second, you need NTFS-3G.

1) Download the current tarball from here. Unlike the above, this one's a source tarball: we need to compile it. Again, you need to have Xcode Tools installed!
2) Extract the tarball locally just by double-clicking it in the Finder. You should get a "ntfs-3g-0.20070102-BETA" folder. Go inside.
3) Open the "configure" file (not any of the similarly-named ones, such as "configure.ac"!) in a text editor. TextEdit will do.
4) Find the line consisting of:
Code:
case "$target_os" in
Right afterwards, there should be a line containing:
Code:
linux*)
Replace this to read:
Code:
*)
This removes a hardcoded check whether your OS is Linux. The makers of NTFS-3G don't want to support non-Linux OSes because they don't have the hardware to maintain reliability.
5) Save the file and close it.
6) Open a Terminal window. Navigate to the folder you just extracted. You can simply type "cd " (with a space) into the window, then drag the folder from the Finder into the Terminal window; its path should appear after the "cd ". Then hit return.
7) Run:
Code:
CFLAGS="-D_FILE_OFFSET_BITS=64 -D__FreeBSD__=10" ./configure --prefix=/usr/local
This will take a while. It will verify that your OS is suitable, and adjust some of the code to Mac OS X's specifics.
8) Now, run:
Code:
make
This does the actual compiling and linking: the building.
9) Finally, run:
Code:
sudo make install
If it's been more than a few minutes, you'll get another password prompt now. Afterwards, it should copy itself into the appropriate locations.

If you got this far, there isn't much left. I'm gonna assume you have an NTFS partition mounted (as read-only) right now, e.g. your Boot Camp partition (assuming you didn't format that one as FAT32). I'm also assuming in the following that your NTFS partition is named "Windows".

1) Open Disk Utility.
2) Select your NTFS partition. In the toolbar, or in the File menu, select Unmount. It should become greyed out in the list, and disappear in the Finder.
3) Still in Disk Utility, Get Info on the partition. You should see a line like:
Code:
Disk Identifier : disk0s3
This identifier is important, you'll need it in a minute.
4) You need to manually create a mountpoint now (this is one fiddly thing left to fix, but a minor one):
Code:
sudo mkdir /Volumes/"Windows"
(Replace "Windows" accordingly. Make sure that, if your NTFS partition has spaces in its name, those too are wrapped in double quotes, like this:
Code:
sudo mkdir /Volumes/"Windows Partition"
)
4) Finally, mount it:
Code:
ntfs-3g /dev/disk0s3 /Volumes/"Windows" -o ping_diskarb,volname="Windows"
The "disk0s3" above needs to be replaced with whatever your disk identifier actually is.

It should appear in Finder now. If it doesn't, these two commands might help:
Code:
disktool -r
and:
Code:
killall Finder
The first refreshes disk arbitration (keeps mounted partitions in sync between Unix-y stuff and Mac OS-y stuff), and the second relaunches Finder.

Now, to unmount the disk later on, if you're so inclined (you don't normally have to do this):
Code:
sudo umount /dev/disk0s4@0
This will also, however, remove the mountpoint. This means that, for now, every time you want to mount your partition as read-write, you have to follow the above steps of unmounting the read-only version, creating a mount point, and mounting a read/write version.

Good luck!

P.S.: While this worked perfectly for me, I don't claim responsibility for any damages. Backups are always, always a good idea.

Last edited by chucker : 2007-01-12 at 12:45. Reason: 0.1.0b006
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-11, 23:20

Done.
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-12, 02:59

Alright, I'm going to make it a lot easier to wreck your NTFS partitions.



I've taken the liberty of making installer packages for MacFUSE and NTFS-3g. The MacFUSE package also automatically takes care of loading and unloading the FUSE kext as necessary.

Both MacFUSE and NTFS-3g are built as Universal Binaries, so they should work for both PowerPC and Intel. NOTE: I've not yet tested it on either one, since I have no NTFS partitions right now. I followed chucker's instructions to build them, so it should be OK.

The NTFS-3g installer requires that you have the MacFUSE package installed first, so install them in this order:
  1. MacFUSE 0.1.0b4. This installs MacFUSE and its dependencies.
  2. NTFS-3g Beta 2007-01-02. This installs the Universal ntfs-3g tools.
As mentioned before, backups are always, always a good idea. But for those of you who don't have Xcode or aren't comfortable building things from the command line, here are the installation packages you'll need.

The instructions for mounting NTFS volumes still stand, as given by chucker's post above.

Enjoy!


Apparently I call the cops when I see people litter.

Last edited by ShadowOfGed : 2007-01-12 at 06:19. Reason: May the bug-hunting begin!
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-12, 04:13

Now that we've got MacFUSE and NTFS-3g compiled, it appears that with some work and trickery, it's possible to make OS X mount all NTFS drives, by default, using NTFS-3g.

I'm poking around to find what I can about file system bundles. This would go in /Library/Filesystems/ntfs-fuse.fs. It'd be in addition to fusefs.fs, which is just for the MacFUSE part. Adding ntfs-fuse.fs would give DiskArbitration the information it needs to know how to mount via NTFS-3g.

I'll post more later when I've got it figured out.



UPDATE: After wrestling with DiskArbitration, I can't figure out how to make it work. I can make it detect the volume as "ntfs-fuse," but for some reason the actual mount command never gets run, so it horks NTFS access. Maybe I'll figure it out later.

Apparently I call the cops when I see people litter.

Last edited by ShadowOfGed : 2007-01-12 at 19:45. Reason: Close, but no cigar.
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-12, 11:54

You should update your packages for 0.1.6.
  quote
Mugge
Thunderbolt, fuck yeah!
 
Join Date: Jan 2005
Location: Denmark
 
2007-01-12, 12:06

Quote:
Originally Posted by chucker View Post
No. However, a huge step in the direction has been made. Namely, the framework (FUSE) used by Linux's "full read/write to XP/Vista file system" (NTFS-3G) has just been ported to Mac OS X. NTFS-3G itself has not, but this facilitates things a lot.

It cannot yet be definitely said that it will happen. But it's just become a heck of a lot more likely.
So soon I will be able to write to peoples NTFS formatted USB sticks, if I install some of this FUSE stuff? That would be a huge win!

  quote
Wyatt
Veteran Member
 
Join Date: Mar 2005
Location: Near Indianapolis
 
2007-01-12, 12:07

Quote:
Originally Posted by Mugge View Post
So soon I will be able to write to peoples NTFS formatted USB sticks, if I install some of this FUSE stuff? That would be a huge win!

People actually format flash drives as NTFS? Why?
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-12, 12:14

Quote:
Originally Posted by Mugge View Post
So soon I will be able to write to peoples NTFS formatted USB sticks, if I install some of this FUSE stuff? That would be a huge win!

Yes.

Quote:
Originally Posted by fcgriz View Post
People actually format flash drives as NTFS? Why?
Indeed, it's a bad idea. NTFS is a very complex file system and keeps the drive quite busy. It also has a lot of overhead. This significantly decreases the flash drive's lifetime and available space. (Virtually the same applies for HFS+.)

FAT32 is truly the best option here. (Well, strictly speaking, jffs2 is a much better option, but then you'd have to install that on Windows as well…)

NTFS is best for:
1) a Boot Camp Windows partition
2) general storage between most systems, with fewer limitations (e.g., files bigger than 4 GBs) and better performance than FAT32. Readable virtually everywhere, writable on newer Linux distros and now, with a third-party install, on Mac OS X.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2007-01-12, 14:03

Gotta say, this is pretty cool stuff you turned up here, Chucker.

Also, an honorable mention must go to ShadowOfGed for simplifying the install process.
  quote
Wyatt
Veteran Member
 
Join Date: Mar 2005
Location: Near Indianapolis
 
2007-01-12, 14:28

Quote:
Originally Posted by chucker View Post
Yes.
Weird. I would have never thought people would do that. Most flash drives come formatted as FAT32 out of the box, so people are actually going out of their way to format them as NTFS. Very strange. I've always kept mine FAT32, if for no other reason than that it works on pretty much every platform. That way I know, no matter what OS I'm sitting down to, my files will be accessable.

Twitter: bwyatt | Xbox: @playsbadly | Instagram: @bw317
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-12, 14:30

Quote:
Originally Posted by fcgriz View Post
Weird. I would have never thought people would do that. Most flash drives come formatted as FAT32 out of the box, so people are actually going out of their way to format them as NTFS. Very strange. I've always kept mine FAT32, if for no other reason than that it works on pretty much every platform. That way I know, no matter what OS I'm sitting down to, my files will be accessable.
Like I said above, reformatting to NTFS isn't a good idea on a flash drive anyway, even if you only use it with Windows.
  quote
turtle
Lord of the Rant.
Formerly turtle2472
 
Join Date: Mar 2005
Location: Upstate South Carolina
 
2007-01-12, 14:56

Quote:
Originally Posted by chucker View Post
Like I said above, reformatting to NTFS isn't a good idea on a flash drive anyway, even if you only use it with Windows.


I confess, I used to.
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-12, 15:09

Quote:
Originally Posted by chucker View Post
You should update your packages for 0.1.6.
Done! Updated installer for MacFUSE is here: MacFUSE 0.1.0b6.dmg.

  quote
Nik
 
 
2007-01-13, 09:59

Sorry for potentially noobish question , but I'm getting
Code:
-bash: ntfs-3g: command not found
after trying to mount
Code:
ntfs-3g /dev/disk0s3 /Volumes/"Windows" -o ping_diskarb,volname="Windows"
Using
MacFUSE 0.1.0b6.dmg
NTFS-3g Beta 2007-01-02

any ideas?
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-13, 10:34

Ah, yes.

Code:
sudo ln -s /usr/local/bin/ntfs-3g /usr/bin/ntfs-3g
Then open a new Terminal window and it should work there.
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-13, 10:41

Quote:
Originally Posted by Nik View Post
Sorry for potentially noobish question , but I'm getting
Code:
-bash: ntfs-3g: command not found
after trying to mount
Code:
ntfs-3g /dev/disk0s3 /Volumes/"Windows" -o ping_diskarb,volname="Windows"
any ideas?
These install binaries into /usr/local/bin, which is not in your $PATH by default. There are two possible solutions (one of which chucker mentioned):
  1. Create a symbolic link in /usr/bin, like so:

    Code:
    sudo ln -s ../local/bin/ntfs-3g /usr/bin/ntfs-3g
  2. Add /usr/local/bin to your $PATH, by editing ~/.profile and adding this to the *end*:

    Code:
    PATH=$PATH:/usr/local/bin export PATH
Hope that helps!

P.S. Chucker, I've found that relative symlinks are generally better ideas than absolute. Don't know exactly where I picked that up, but it's a habit now.

Apparently I call the cops when I see people litter.

Last edited by ShadowOfGed : 2007-01-13 at 10:42. Reason: I'm obsessive-compulsive about formatting...
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-13, 10:48

You can actually compact those two PATH lines into one, like
Code:
export PATH=$PATH:/usr/local/bin
It's also a better idea to prepend your addition so it has priority; your custom stuff is more likely to be up-to-date than Apple-supplied tools. I.e.:

Code:
export PATH=/usr/local/bin:$PATH
Wrt/ relative symlinks, I think it's fairly irrelevant in this case. FWIW, I've never personally needed to use relative ones, though I can sure see their merits.
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-13, 11:22

Quote:
Originally Posted by chucker View Post
You can actually compact those two PATH lines into one, like
Code:
export PATH=$PATH:/usr/local/bin
Yeah, but I believe that's a bash-specific syntax, where doing it on two lines is slightly more portable. Since OS X uses bash as the default shell, that's a moot point for most of us.

Quote:
Originally Posted by chucker View Post
It's also a better idea to prepend your addition so it has priority; your custom stuff is more likely to be up-to-date than Apple-supplied tools. I.e.:

Code:
export PATH=/usr/local/bin:$PATH
Yeah, that's true... I was just thinking along the lines of "only check here if the command isn't provided," since stuff like ntfs-3g isn't shipped by Apple. I actually got burned by my PATH ordering while building NTFS-3g, since I also had pkg-config installed under DarwinPorts, and /opt/local/bin appeared before /usr/local/bin. I fixed that, though.

And I've successfully derailed the thread.

In other news, if anyone can find a good resource on how to construct properly-working file system bundles (like those in /System/Library/Filesystems), that's probably the correct route to making ntfs-3g the default NTFS implementation. Unfortunately, when I gave it a shot, I ran into problems getting diskarbitrationd to call the ntfs-3g "mount" implementation. The debug log from diskarbitrationd wasn't very helpful.

Apparently I call the cops when I see people litter.
  quote
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2007-01-13, 11:25

Quote:
Originally Posted by ShadowOfGed View Post
In other news, if anyone can find a good resource on how to construct properly-working file system bundles (like those in /System/Library/Filesystems), that's probably the correct route to making ntfs-3g the default NTFS implementation. Unfortunately, when I gave it a shot, I ran into problems getting diskarbitrationd to call the ntfs-3g "mount" implementation. The debug log from diskarbitrationd wasn't very helpful.
I take it you did review http://developer.apple.com/qa/qa2001/qa1242.html?

Can you send me what your .fs bundle looks like thus far?
  quote
ShadowOfGed
Travels via TARDIS
 
Join Date: Aug 2005
Location: Earthsea
 
2007-01-13, 11:28

Quote:
Originally Posted by chucker View Post
No, I hadn't found that in my searching. I'll take a look at it later, but I've actually got to head out for now.

Thanks for the link!

Apparently I call the cops when I see people litter.
  quote
Posting Rules Navigation
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Page 1 of 13 [1] 2 3 4 5  Next Last

Post Reply

Forum Jump
Thread Tools
Similar Threads
Thread Thread Starter Forum Replies Last Post
Firefox 2.0 for Mac: User Interface Grievances (Redux!) Brad Third-Party Products 42 2006-11-06 13:33
Stupid Mac graphics card options Luca Third-Party Products 33 2005-07-01 01:34
Games specifically for Mac Banana General Discussion 24 2005-03-28 14:03
Of All Things: PowerMac vs. Mac mini?!?!? Wraven Purchasing Advice 20 2005-01-25 21:25
Apple releases updated Power Mac G5s staph Apple Products 43 2004-06-09 13:20


« Previous Thread | Next Thread »

All times are GMT -5. The time now is 21:42.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004 - 2024, AppleNova