~grimler/Heimdall

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy devices.
FlashAction: fix FileOpen check
libpit: MMC4096 is really UFS

clone

read-only
https://git.sr.ht/~grimler/Heimdall
read/write
git@git.sr.ht:~grimler/Heimdall

You can also use your local clone with git send-email.

#Heimdall

builds.sr.ht status builds.sr.ht status builds.sr.ht status

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.

#Supported Platforms

Heimdall should work on AMD64/x86-64 (64-bit) or x86 (32-bit) computers running GNU/Linux, macOS or Windows.

However, several third-parties have reported success running Heimdall on ARM chipsets (in particular Raspberry Pi), as well as additional operating systems such as FreeBSD.

#How does Heimdall work?

Heimdall connects to a mobile device over USB and interacts with low-level software running on the device, known as Loke. Loke and Heimdall communicate via the custom Samsung-developed protocol typically referred to as the 'Odin 3 protocol'.

USB communication in Heimdall is handled by the popular open-source USB library, libusb.

#Free & Open Source

Heimdall is both free and open source. It is licensed under the MIT license (see LICENSE).

Heimdall is maintained and predominantly developed by Glass Echidna, a tiny independent software development company. If you appreciate our work and would like to support future development please consider making a donation.

#Documentation

For more details about how to compile and install Heimdall please refer to the appropriate platform specific README:

#Linux
#OS X
#Windows

#Odin protocol and PIT format

For more details on the Odin protocol, and the PIT files, see the external project samsung-loki/samsung-docs.