Go to file
Henrik Grimler 60ab9bbaff
FlashAction: Make sure file fit partition before flashing
Partition size is calculated as block count times a block size of 512
for DeviceType 2 and 4096 for DeviceType 8.

Flashing stock android on some devices fail due to some partitions
being too small for the corresponding file.  This is the case on
klimtlte (and other exynos5420 devices), where sboot.bin does not fit
into the BOOTLOADER partition.

Tests done:

* Flash stock android (A500FXXS1CSB2) to a5lte, works fine
* Flash stock android (I9300XXUGPE1) to i9300, works fine
* Flash stock android (I9505XXUPQG1) to i9505, works fine
* Flash stock android (G930FXXU8ETI2) to herolte (with block
  size 4096), works fine
* Flash stock android (T705XXU1CPL1) to klimtlte, fails due to
  BOOTLOADER partition being smaller than sboot.bin, the file has a
  size of 1148160, and the partition 2046*512=1047552
2021-12-16 16:05:42 +01:00
.builds builds: test build for ubuntu 20.04 as well 2021-11-22 17:26:43 +01:00
Linux */README: replace http with https in urls 2021-06-15 11:29:49 +02:00
OSX */README: replace http with https in urls 2021-06-15 11:29:49 +02:00
Win32 win32: remove zadig.exe from repo 2021-12-14 11:22:04 +01:00
cmake cmake: replace LFS check with scripts from wireshark 2021-12-10 09:46:24 +01:00
heimdall FlashAction: Make sure file fit partition before flashing 2021-12-16 16:05:42 +01:00
heimdall-frontend Remove some extra whitespace and convert some spaces to tabs 2021-12-10 09:46:30 +01:00
libpit libpit: describe more parts of pit header 2021-12-16 16:01:18 +01:00
.gitignore gitignore: ignore *~ as well 2021-06-15 10:46:25 +02:00
CMakeLists.txt CMake: bump minimum version 2021-05-03 14:07:33 +02:00
LICENSE It's 2017. Where did the years go? 2017-05-12 03:47:37 +10:00
README.md README: re-format, re-phrase supported platform section 2021-05-03 14:53:19 +02:00

README.md

Heimdall

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