« Back to Applications

exFAT for Tiger (PowerPC)

PowerPC Mac (Tiger) 向け Source Available

A menu bar app and a set of command line tools that let Mac OS X 10.4 Tiger (yes, PowerPC) read and write exFAT drives. exFAT support only arrived in Mac OS X 10.6.5, and current MacFUSE/macFUSE dropped PowerPC support after Leopard, so a Tiger PowerPC Mac in 2026 otherwise has no way to read a modern exFAT flash drive.

Download exfat-tiger-ppc.zip
Downloads so far: 44
Note: Tiger's stock Safari/curl can't verify today's HTTPS certificates, so downloading here directly can fail. We recommend Aquafox — the PowerPC-era browser we make a Japanese language pack for — which handles modern HTTPS fine. Failing that, fetch the file on a modern machine and copy it over, or use a modern curl via Tigerbrew/MacPorts.

What's Inside

  • exFAT Menu.app — a menu bar utility. Click the "exFAT" item, pick a drive to mount or a mounted one to eject.
  • bin/ — the underlying command line tools (mount.exfat, fsck.exfat, mkfs.exfat, exfatlabel, dumpexfat, exfatattrib), built from relan/exfat with two small patches for this old MacFUSE.

Requirements

  • Mac OS X 10.4 Tiger, PowerPC (should also work on Intel Tiger, untested)
  • MacFUSE Core 10.4-1.7.0 installed first — this is the old Google-era MacFUSE, from the Wayback Machine. The "official" download you'll find today is a newer stub installer that just phones home to a server Google shut down years ago, and won't work.

Installation

  1. Install MacFUSE Core 10.4-1.7.0 (link above), reboot if it asks.
  2. Unzip exfat-tiger-ppc.zip and run install.sh from that folder (it copies the CLI tools into /usr/local/sbin).
  3. Drag exFAT Menu.app to /Applications or wherever, then double-click it. It lives in the menu bar only, with no Dock icon.

Using It

Plug in an exFAT drive. Tiger will complain it can't read it — ignore that dialog, it's Tiger's own broken built-in NTFS driver trying (and failing) to guess the filesystem, not this app.

Click "exFAT" in the menu bar → "Mount: disk_s_ (...)". A folder alias named exFAT (disk_s_) appears on your Desktop — that's your drive. To remove the drive, use the app's "Eject" entry first, then unplug it, same as any other drive.

Supported Environments

EnvironmentPowerPC Mac / Mac OS X 10.4 (Tiger)
NotesShould also work on Intel Tiger, though this hasn't been tested.

A personal hobby project provided with no warranty. The CLI tools bundled here are fuse-exfat, licensed GPLv2; the app source and icon are MIT. See the GitHub repository above for full source, license files, and technical notes on the MacFUSE-era quirks this project had to work around.

This is basically a thin glue layer around two other people's work: relan/exfat (the actual exFAT filesystem driver) running on top of MacFUSE Core 1.7.0, Google's original FUSE implementation for Tiger from 2008. The pieces to make this work were all already out there; nobody seems to have actually put them together and tested it on real Tiger PowerPC hardware before.

Why a 2008-era MacFUSE

There isn't a choice here, really — modern MacFUSE/macFUSE dropped PowerPC support after Leopard, so MacFUSE Core 10.4-1.7.0 is the only FUSE implementation that runs on Tiger PPC at all. It's also not easy to find anymore: the "official" download today is a newer stub installer that just phones home to a Google server that's been dead for years, so the actual working installer had to come from the Wayback Machine instead.

Building without autotools on Tiger

Tiger's Xcode 2.5 doesn't ship autoconf or automake, so relan/exfat's autotools-generated configure script has to be produced somewhere else first. The patch below gets applied on a modern Mac, then autoreconf -fiv regenerates configure and the Makefile.in files, and the whole tree gets copied over to the Tiger machine to actually build. One gotcha from doing it that way: the copied files land with timestamps ahead of Tiger's own clock, which is enough to confuse make, so everything needs a touch pass first to fix that before configure && make.

Two small patches for this specific old MacFUSE

relan/exfat enables -o big_writes by default on any non-Linux *BSD-flavored build, but MacFUSE 1.7.0 (2008) doesn't know that option at all, and just fails the mount outright with fuse: unknown option 'big_writes'. That one's a straight removal. The second change adds -o nobrowse to the mount options — the "Bugs and lessons" section below has the actual story of why that one was needed.

Bugs and lessons along the way

Looping diskutil info over every disk can hang the whole machine. If any external drive attached to the Mac happens to be spun down, each diskutil info call on it blocks waiting for the drive to wake up — and if that call is inside a loop over every partition, the whole app (and sometimes the whole machine) just hangs waiting. Parsing diskutil list once, instead of calling diskutil info per partition, avoids the problem entirely.
exFAT drives get auto-mounted as broken NTFS before this app ever sees them. exFAT partitions show up as Windows_NTFS at the partition-map level, so Tiger's own disk arbitration mounts them automatically with its built-in, read-only, and in this case simply wrong NTFS driver the moment they're plugged in. That mount is empty and useless — real NTFS and exFAT aren't the same format internally. The app runs diskutil unmount on the raw device first, to get rid of that bogus mount, before mounting the drive for real through FUSE.
Finder's own FUSE volume icon is unreliable, and the fix for it gets silently ignored. MacFUSE mounts normally get their own "MacFUSE Volume N" icon on the Desktop through Finder's usual DiskArbitration integration, but with this particular old MacFUSE it's flaky — sometimes it doesn't show up, and either way it can survive a perfectly clean unmount as a dead, empty-looking icon that needs a full logout to actually clear. Passing -o nobrowse stops MacFUSE from registering with DiskArbitration/Finder at all, sidestepping the whole problem — except relan/exfat's own option passthrough silently drops nobrowse unless it's explicitly added to an allowlist in the source, which is the second half of the patch mentioned above. The app makes its own plain Desktop symlink instead of relying on Finder's native FUSE integration, which turned out to be 100% reliable where the built-in mechanism wasn't.
GUI apps launched over SSH can't reach the WindowServer. Most of this was actually built by remote-controlling a real Power Mac G4 over SSH rather than sitting in front of it — edit locally, scp the changed file over, rebuild and killall the running instance on the G4, all from a terminal on a modern Mac. That works fine for the command-line tools and for building the app, but a GUI app relaunched that way never actually appears on screen; on old Mac OS X, a process started from an SSH session has no connection to the WindowServer running the actual display. Not a bug, just a limit of the environment — the last step of testing any UI change always has to happen standing in front of the G4 itself.

Full source code is on GitHub.