Flashing Galaxy S devices under Linux (Was: Upgrading Android Under Linux)
Gadi Cohen
dragon at wastelands.net
Tue Jun 7 22:13:22 IDT 2011
On 11/05/2011 15:48, Amos Shapira wrote:
> I'm following the forums around it but from what I heard CM7 doesn't
> fully support the SGS yet though this might change soon since Samsung
> released the kernel sources a few weeks ago.
First piece of news is this:
"Samsung Delivers Galaxy S II to CyanogenMod Dev, Says Get to Work"
http://phandroid.com/2011/06/06/samsung-delivers-galaxy-s-ii-to-cyanogenmod-dev-says-get-to-work/
> If someone can point me to *detailed* instructions how to achieve that
> without Odin then I'd love to hear - I don't have time to mess with a
> dead phone if I screw things up or to sit through tons of text which
> assumes you already know tons of jargon TLA's etc. I tried following
> instructions but they all either start by assuming you know the
> acronyms and the basic stuff or I end up chasing explanations of the
> terms used in the instructions.
Right, I finally overcame my fears and successfully flashed my SGS II
I9100 in Linux yesterday.
I'll be as detailed as I can, but ultimately exact instructions would
depend on which ROM you want to flash.
Basically:
1) Download and install Heimdall from here:
http://www.glassechidna.com.au/products/heimdall/
There are debian packages (.deb) which can be installed in Ubuntu/Debian
or converted to RPM.
2) Download whatever ROM you want. Unzip/unrar/etc to get the .tar.md5
file.
This is just a regular tar file. Odin can read it all in one go.
For Heimdall you need to untar it, and specify each file separately.
3) Get the phone into download mode.
>From a powered off phone, hold down vol-down, home, and power.
4) There's a Heimdall GUI which I didn't use (since it's not updated for
the latest version).
But the command line is very easy. Run heimdall with no arguments for a
list of options.
Then it's a matter of specifying what each file is.
The (possibly) less obvious ones are
* zImage is the kernel
* Sbl.bin is the Secondary Boot Loader
Then it's just (as an example):
heimdall flash --factoryfs factoryfs.bin --kernel zImage
Yeah, it's that simple. For a full (stock) ROM it would probably be:
heimdall flash --primary-boot boot.bin --cache cache.img --factoryfs
factoryfs.img --hidden hidden.img --modem modem.bin --param param.lfs
--secondary-boot Sbl.bin --kernel zImage
Some ROMs require you to repartition how the memory is divided, in which
case you'll also need, for example, "--repartition --pit 512.pit".
5) When Heimdall finishes, the phone reboots automatically with the new ROM.
Note, that's the flashing part, which is "easy", but ROMs in general
might be a bit more complicated. e.g. especially for the Galaxy S II
which is new, you might need to e.g. wipe the phone before flashing.
You should definitely wipe the cache if you don't flash a new one. You
can do these actions from recovery mode (power on with vol-up, home,
power). Note, the SGS I is sometimes hard to get into recovery, see my
previous note in a previous email about that.
The point is, even if you flash successfully, other things could still
go wrong. But then it's not a problem to just reflash the device. Just
make sure you don't unplug or power off during the middle of a flash!
Generally speaking, if you aren't trying to keep your user data between
flashes, more than likely if you flash a base ROM, and then a custom ROM
known to work on top of that base rom, your chances of success are very
high.
Let me know if anything wasn't clear, and good luck :)
G
--
Gadi Cohen aka Kinslayer <dragon at wastelands.net> www.wastelands.net
Freelance admin/coding/design HABONIM DROR linux/fantasy enthusiast
KeyID 0x93F26EF5: 256A 1FC7 AA2B 6A8F 1D9B 6A5A 4403 F34B 93F2 6EF5
//
More information about the Linux-il
mailing list