Yet another cell phone updated from Android to a custom Rom. In this case I upgraded a Samsung Captivate Glide i927 from Android 4.0.4 to PacMan Rom KK-RC3 which is equivalent to Android 4.4.4 (hence the KK for Kit-Kat). Originally, this phone started out as an Android 2.3.7, which later received an update from Samsung to Android 4.0.4.

As my buddy just bought a new phone, I like to use that for comparison of available Android versions, and his phone he just purchased is also Android 4.4.4. Technically, Android 5.0 and 5.1 are out, but are not on every new phone for sale yet. So, having 4.4.4 is equivalent, at least at the moment, to having a phone that can run the latest apps and has relatively recent security fixes.

There are two main methods for flashing a custom rom to this phone: using a Window’s program called Odin, or using a Linux program called Heimdall. I think we all know which one we are going to talk about here. However, I have used the Window’s program, Odin, for these Samsung phones, and it works very well.

Let’s get down to business, shall we? The first thing we need is the program. Currently, I am running Debian Stretch, and it is in the repository. You could perform the following:

$ aptitude search heimdall
p heimdall-flash – tool for flashing firmware on Samsung Gala
p heimdall-flash-frontend – tool for flashing firmware on Samsung Gala
$ sudo apt-get install heimdall-flash heimdall-flash-frontend -y
[sudo] password for user:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
heimdall-flash heimdall-flash-frontend
……………More Stuff…………………..
Setting up heimdall-flash (1.4.0-2) …
Setting up heimdall-flash-frontend (1.4.0-2) …

Or you can download it ( http://glassechidna.com.au/heimdall/ ) and install it.

You also are going to need something to flash. A little bit of research on XDA forums reveals that we need to first flash TWRP, then our new Rom of choice.

TWRP http://dualhoki.vim.hu/bubor/dev/twrp-i927/twrp-2.6.1-odin.zip
PacMan Rom (4.4.4 equivelent) http://dualhoki.vim.hu/bubor/dev/pac4.4/pac_i927_KK.RC-3.dev_20141223-154653.zip
Or
Omni Rom (4.4.4 equivelent) http://dualhoki.vim.hu/bubor/dev/omnirom4.4/omni-4.4.4-20141223-i927-HOMEMADE.zip
– I tried Omni Rom first. It installed just fine and worked out of the box, with a few small glitches. I decided to try the PacMan Rom, and it worked just as well, and I liked the setup a little better, so I stuck with it.

I would like to pause here for a moment to thank “Bubor” a member of XDA’s forums who puts together a lot of very useful custom roms.

Once downloaded, you then can put them onto your phone’s sdcard with ADB:

$ sudo adb devices
List of devices attached
304d1f7a6c42aaae device
$ sudo adb push pac_i927_KK.RC-3.dev_20141223-154653.zip
or
$ sudo adb push omni-4.4.4-20141223-i927-HOMEMADE.zip

Normally, you flash things onto the phone as zip files, but in the case of the twrp-2.6.1-odin.zip file, you actually need to unzip it first:

$ unzip twrp-2.6.1-odin.zip
Archive: twrp-2.6.1-odin.zip
creating: twrp-2.6.1/
inflating: twrp-2.6.1/Odin3 v3.04.exe
inflating: twrp-2.6.1/Odin3.ini
inflating: twrp-2.6.1/recovery.tar.md5
inflating: twrp-2.6.1/SS_DL.dll
inflating: twrp-2.6.1/tmax.dll
inflating: twrp-2.6.1/zlib.dll

You then need to break down the tar file into peices. (the tar file is used by Odin, but not by Heimdall).

$ tar xvf recovery.tar.md5
recovery.img

Now, plug your phone into the computer with USB (probably already there, since you just used ADB to push files to your sdcard). Power off your phone, and hold the volume up key while pressing the power on button. You will see a small print screen showing you some information and that it is “waiting” for the USB feed.

$ heimdall download-pit –output sghi927.pit
Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection…
Detecting device…
Claiming interface…
Attempt failed. Detaching driver…
Claiming interface again…
Setting up interface…

Initialising protocol…
Protocol initialisation successful.

Beginning session…

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device’s PIT file…
PIT file download successful.

Ending session…
Rebooting device…
Releasing device interface…
Re-attaching kernel driver…

Note: Your phone will reboot. So power off your phone, and hold the volume up key while pressing the power on button. You will see the same small print screen showing you some information and that it is “waiting” for the USB feed. Now it is time to use your heimdall-frontend program. You can open up the gui from a terminal with:

$ sudo heimdall-frontend

This opens a simple user interface that is point and click and fairly straight forward. It is slightly different from Odin’s interface, but has most of the same material, since it does the same thing. I do not know that you need to be root, however, to have full device permissions with ADB you do, so I figure the same applies here.

Click on the Utilities tab and press the “Detect” button to ensure the phone is ready. You should see some output to the effect of your device being there. If it isn’t, well, you may need to review some udev rules, check your usb cables, or reboot your computer and or phone. I didn’t need to do anything to make this work.

Click on the Flash tab and select the “Browse” button for PIT. Browse to your pit file and select it here. Then under partition name, open the drop down and select SOS. Finally, press the “Browse” button under file, and select the recovery.img file we extracted earlier. Press Add to add it to the list, and Start to flash it to your device. You are done with Heimdall, so you can close the window and terminal. The remainder of the work happens on the phone.

Enter the recovery mode by holding the volume down key when pressing the power button to turn the phone on. You should be greeted by a TeamWin logo screen and then have several options. Use the touchscreen gui to do the following.

– Press backup -> swipe to backup. Then go back to the home screen.
– Wipe the device by pressing wipe. Then go back to the home screen.
– Press install -> and select your custom rom from the /sdcard, and swipe to install it.
– Reboot and enjoy!

Upon rebooting you should see PacMan eat a few dots, and then get chased by some ghosts. I was confused the first time, because it then flashes “Game Over” and “Insert Coin” on the screen, leading me to believe it was dead. Just give it a minute to finish the first time setup, and you’ll be waka-waka-waka-ing in no time!

Problems with this rom that I noticed:
– When ever I reboot the phone, it shows an icon notification for text messages as if all of my old text messages were unread.
– In the camera app, if I select video record, it crashes the app.
– Occasionally my wireless will not turn on/off when I push the toggle. The toggle moves, but nothing happens. I just reboot when I see this and get a notification of how many total text messages I now have. I guess it might even be a feature!

There are likely more issues, but none that seem to have any bearing on day to day use. Overall I like it!

Linux – keep it simple.

One Reply to “Flashing a Samsung Captivate Glide SGH-i927 with a PacMan Rom”

Leave a Reply

Your email address will not be published. Required fields are marked *