Drives formatted from Android (FAT32/MBR) don't get recognized on Macs either.

There is this cursed blood-donor-to-blood-recipient relationship with the three major operating systems that I detest. It's been a problem from the beginning of time, but filesystems such as exFAT were supposed to solve this issue. Today, while trying to initialize some cool flash drives I found from Costco, I had a hell of a time making it work between the M3 MacBook Pro, my Pixel 9, and my computer running Arch.

Attempts

Arch

On Arch, I ran:

sudo fdisk /dev/sda
# `g` to initialize gpt partition table
# `n` to create a new partition
# `<enter>` a bunch of times to accept defaults
# `w` to write and quit
sudo mkfs.exfat -n delta-flyer /dev/sda1

and to my annoyance, while I could mount the drive fine from Linux, both Android and MacOS reported the drive as corrupted and requiring initialization.

Android

On Android, I followed the prompts to initialize the drive, which I plugged back into my desktop to inspect. It had created a FAT32 partition with an MBR partition table. Ok, old school, but I understand that in the name of compatibility.

I plugged it into my MacBook and to my chagrin, I was met with an error message stating that the drive was corrupted and require initialization.

MacOS

It wasn't until I kowtowed to Tim Apple and formatted the drive using Disk Util that everyone was happy. I chose to once again use a gpt partition table, with an exFAT filesystem, and my partition table ended up looking like this:

Device      Start       End   Sectors   Size Type
/dev/sda1      40    409639    409600   200M EFI System
/dev/sda2  411648 243402751 242991104 115.9G Microsoft basic data

My MacBook was finally happy, and my Pixel also recognized the drive.

To-Do

I guess the squeakiest wheel gets the oil, and the next step is trying to figure out what MacOS needs in order to be happy with a drive. The 200M EFI partition for one seems required, but the values for the exact start and end sectors don't seem immediately obvious to me.