Get Odin Tool

Odin for Mac and Linux: How to Flash Samsung Firmware Without Windows

Odin3 is Windows only. Here are 5 ways to flash Samsung firmware on macOS and Linux, including Brokkr, samloader, Heimdall and odin4, and which one I would use.

Reviewed by , Developer & creator of SamUpdater

Odin3 only runs on Windows. Samsung never made a Mac or Linux version for the public, and the Windows exe won’t start on macOS.

The good news is you don’t need Windows anymore. In this guide, I will show you five ways to flash Samsung firmware from a Mac or a Linux PC, which one I’d pick, and where each one falls short.

The short answer

Use Brokkr. It looks and works like Odin, it runs natively on macOS and Linux, and it flashes the same BL, AP, CP and CSC files without any USB driver.

If you’re comfortable in a terminal, samloader is a great second choice. It downloads the firmware and flashes it with one tool.

Heimdall and Samsung’s leaked odin4 still work, but they’re harder to use. A Windows virtual machine is my last resort.

Odin alternatives for Mac and Linux compared

Tool Runs on Interface Flashes stock .tar.md5 files Latest version
Brokkr Windows, macOS 11+, Linux, Android Odin style window, plus command line Yes v2.4.10, September 17, 2026
samloader Windows, macOS, Linux Command line Yes, and it downloads them too v2.2.0, September 25, 2026
Heimdall Linux, macOS through MacPorts Command line, plus a basic Qt window No, you extract the images first v2.2.2, May 26, 2025
odin4 Linux only Command line Yes v1.2.1, leaked in June 2022
Odin3 in a Windows VM Any host that can pass USB to the VM The normal Odin3 window Yes Odin3 v3.14.4

Versions and dates come from each project’s release page. Checked on September 28, 2026.

Before you start

Whatever tool you pick, you need three things.

  1. The right firmware for your exact model number, like SM-S928B for a Galaxy S24 Ultra. You’ll find it in Settings > About phone. Check the latest build for your model and region on SamUpdater, then download it with Bifrost, which runs on macOS and Linux too, or with samloader.
  2. A good USB data cable. Plug it straight into the computer, not a hub.
  3. Your phone in Download Mode.

Not sure which of the five firmware files goes where? I explain BL, AP, CP, CSC and HOME_CSC in my Samsung firmware files guide.

1. Brokkr (best for most people)

Brokkr is a free, open-source flash tool written from scratch by a developer called Gabriel2392. It speaks the same Download Mode protocol as Odin, and the window has the same BL, AP, CP, CSC and USERDATA slots.

Here’s why I put it first.

  • It runs natively on Apple Silicon and Intel Macs with macOS 11 or later.
  • It has AppImage builds for x86_64 and ARM64 Linux.
  • You don’t need a USB driver on either system.
  • It loads the exact same .tar.md5 files you’d use in Odin.

On a Mac, you may need to clear the quarantine flag the first time with sudo xattr -rd com.apple.quarantine /Applications/Brokkr.app. On Linux, make the AppImage executable with chmod +x and add a udev rule if it says the device was opened read-only.

I cover the download links, checksums and every step in my Brokkr download guide. If you’re curious how it stacks up against the real thing, read Brokkr vs Odin.

2. samloader (download and flash from the terminal)

samloader is a command line tool by topjohnwu, the developer behind Magisk. It’s free and open source under the Apache 2.0 license, and the code is on GitHub.

What I like about it is that it does both jobs. It pulls official firmware from Samsung’s servers and then flashes it. Its flashing code started as a straight Rust port of Heimdall, so it’s built on a proven base.

Here’s how to use it.

  1. Download samloader-v2.2.0-macos-universal.zip or samloader-v2.2.0-linux-x86_64.zip from the latest release, and unzip it.
  2. On Linux, run sudo ./samloader fix-usb once. It writes a udev rule so you can flash without root.
  3. Check the latest firmware for your model and region with ./samloader check-update -m SM-S928B -r EUX
  4. Download it with ./samloader download -m SM-S928B -r EUX -d ~/Firmware
  5. Unzip the firmware. You’ll get the BL, AP, CP, CSC and HOME_CSC files.
  6. Put the phone in Download Mode and connect it.
  7. Flash it with ./samloader flash -b BL_file.tar.md5 -a AP_file.tar.md5 -c CP_file.tar.md5 -s HOME_CSC_file.tar.md5

Swap SM-S928B and EUX for your own model and region. Use the CSC file instead of HOME_CSC if you want a clean wipe.

If the Mac blocks the file the first time, run xattr -d com.apple.quarantine samloader in the same folder. That’s it.

3. Heimdall (the old open-source option)

Heimdall was the go-to Odin replacement on Linux and Mac for years. The original project by Benjamin Dobell hasn’t had a release since v1.4.2 in May 2017, and the Homebrew package was disabled on March 29, 2026.

It isn’t dead, though. A developer named Grimler keeps a maintained fork, and v2.2.2 came out on May 26, 2025.

You can install it like this.

  • Debian 13 and newer: sudo apt install heimdall-flash heimdall-flash-frontend gets you version 2.1.0.
  • Ubuntu 24.04: the same command gets you 2.0.2. Ubuntu 22.04 still ships the old 1.4.2.
  • macOS: sudo port install heimdall with MacPorts. The fork’s own README says Mac isn’t tested by the maintainer, but users have reported success this way.

Here’s the catch. Heimdall doesn’t load .tar.md5 packages, and it doesn’t read .lz4 images. You have to extract every tar, decompress each .lz4 file, find the partition names with heimdall print-pit --no-reboot, and then flash each image by name.

heimdall flash --resume --BOOT boot.img --RECOVERY recovery.img

Partition names change from phone to phone, so always check the print-pit output first. For a full stock flash, that’s a lot of room for mistakes. I’d only use Heimdall to flash one image, like a custom recovery.

4. odin4 (Samsung’s own Linux tool)

Yes, Samsung has an Odin for Linux. It’s called odin4, it’s command line only, and it was never released publicly. Version 1.2.1 leaked and was posted on XDA Forums on June 3, 2022.

It reads the same .tar.md5 files as Odin3. Here’s how it works.

  1. Create the file /etc/udev/rules.d/51-android.rules with the line SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
  2. Reload udev with sudo udevadm control --reload-rules and replug the phone.
  3. Run ./odin4 -l to check that it sees the phone.
  4. Flash with ./odin4 -b BL_file.tar.md5 -a AP_file.tar.md5 -c CP_file.tar.md5 -s CSC_file.tar.md5

The -e option does a Nand erase, and –reboot restarts the phone when it’s done. There’s no macOS build.

Keep in mind that odin4 is a closed-source leaked binary with no updates since 2022. Only get it from that XDA thread. Please don’t grab a random copy from a file-sharing site. Also, it’s a different thing from a newer open-source project on GitHub that happens to use the same name.

5. Odin3 in a Windows virtual machine

You can run Windows in Parallels, VMware, VirtualBox or UTM and use the normal Odin3 inside it. You’d also need the Samsung USB Driver in the VM.

I’m not a fan, and here’s why. When the phone enters Download Mode, it shows up as a new USB device. The VM has to catch it and pass it through every time. If the connection drops while Odin is writing, the flash fails and you have to start over.

If you go this way, set the VM to connect Samsung devices to the guest automatically, and never touch the cable while it’s flashing. With Brokkr and samloader around, you really shouldn’t need it.

Which one should you use?

Here’s how I’d decide.

  • You want something that feels like Odin: Brokkr.
  • You live in the terminal, or you want to download and flash in one go: samloader.
  • You only need to flash a single image, like a recovery: Heimdall works fine.
  • A guide specifically asks for odin4: use it on Linux, from the XDA thread only.
  • Nothing else works on your setup: Odin3 in a VM.

Odin for Mac and Linux questions

Is there an official Odin for Mac?

No. Samsung has never made Odin for macOS. Odin3 is Windows only, and odin4 is Linux only. On a Mac, Brokkr is the easiest native option, and samloader is the best command line one.

Is there an Odin for Linux?

Yes, sort of. Samsung’s internal odin4 for Linux leaked on XDA in 2022. It’s command line only and hasn’t been updated since. Brokkr, samloader and Heimdall also run on Linux, and they’re all open source.

Do I need the Samsung USB Driver on a Mac or Linux PC?

No. That driver is only for Windows. On Linux, you may need a udev rule so your user account can access the phone, and on a Mac you don’t need anything extra.

Is Heimdall still working in 2026?

The original Heimdall is abandoned, but Grimler’s maintained fork is still getting updates. Its latest release is v2.2.2 from May 2025. It still needs extracted images and partition names, so it’s harder to use than Brokkr or samloader.

Can I flash stock firmware from a Mac without wiping my data?

Yes. Flash the HOME_CSC file instead of CSC, along with BL, AP and CP. HOME_CSC keeps your apps and data, as long as you’re updating to the same or a newer build.

Can I download Samsung firmware on a Mac?

Yes. Bifrost has a Mac app, and samloader has a universal macOS build. Both pull the official firmware straight from Samsung’s servers.

That’s all you need to flash a Galaxy phone without touching Windows.

If you get stuck, send me a message through the contact page. Tell me your computer, the tool you’re using and your phone’s model number, and I’ll help you sort it out.