* Fix segfault when file to flash does not exist * Rename some fields in the flashing protocol, MMC4096 seem to be UFS, and what I thought was the protocol number seem to be the number of logical units in the storage
|9 months ago|
|.builds||1 year ago|
|Linux||2 years ago|
|OSX||2 years ago|
|Win32||1 year ago|
|cmake||1 year ago|
|heimdall||9 months ago|
|heimdall-frontend||9 months ago|
|libpit||11 months ago|
|.gitignore||2 years ago|
|CMakeLists.txt||2 years ago|
|LICENSE||6 years ago|
|README.md||1 year ago|
Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.
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.
For more details about how to compile and install Heimdall please refer to the appropriate platform specific README:
- Linux/README (online)
- OSX/README.txt (online)
- Win32/README.txt (online)
Odin protocol and PIT format
For more details on the Odin protocol, and the PIT files, see the external project samsung-loki/samsung-docs.