man(1)

NAME
heimdall - tool for flashing firmware on Galaxy S Devices devices

SYNOPSIS
heimdall-flash [ ... ]

DESCRIPTION
This software attempts to flash your Galaxy S device. The very nature of flashing is dangerous. As with all flashing software, Heimdall has the potential to damage (brick) your device if not used carefully. If you're concerned, don't use this software. Flashing ROMs onto your device may also void your warranty. Benjamin Dobell and Glass Echidna are not responsible for the result of your actions.

    Fully charge your phone (use the wall charger as it's faster).

    Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory.

    If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. If you want to use the CSC then extract it last. If you're asked to overwrite files then do so.

    Put your Galaxy S device into download mode and plug it in..

    Open a terminal and navigate to the directory where you extracted the ROM/firmware files.

    Type the following to list all the functionality Heimdall supports:

heimdall help

    Before flashing, you must first know the names of the partitions you wish to flash. These can be obtained by executing:

heimdall print-pit --no-reboot

The inclusion of --no-reboot ensures the phone will not reboot after PIT file has been downloaded and displayed. After executing a command with the --no-reboot argument, the next command should include the --resume argument. You can still safely reboot your phone manually (with the power button) after executing --no-reboot commands.

    Use the help and print-pit output to construct a command with all the file you want to flash.

Here is an example that does a full flash and repartition on a GT-I9000:

heimdall flash --repartition --resume --pit s1_odin_20100512.pit --FACTORYFS factoryfs.rfs --CACHE cache.rfs --DBDATA dbdata.rfs --IBL+PBL boot.bin --SBL Sbl.bin --PARAM param.lfs --KERNEL zImage --MODEM modem.bin

    Heimdall will display the progress as it flashes so that you know things are working as they should.

AUTHOR
Bastien Roucariès <rouca@debian.org>