Please remember to add a category to the bottom of each page that you create.
See categories help for further details, but most will probably be [[Category:HTC ModelName]].

Samsung Galaxy S Plus/GT-I9001

From XDA-Developers
Jump to: navigation, search

This template is no longer being used, please update this page to use Template:Device.


Samsung Galaxy S Plus
Phone
Samsung Galaxy S Plus.jpg
Model Number: GT-I9001
Specification
Manufacturer: Samsung Samsung-icon.png
Release Date: April, 2011
Operating System: Android Android-icon.jpg
Dimensions: 122.4 x 64.2 x 9.9 millimetres
Weight: 119 grams (battery included)
Chipset: Qualcomm MSM8255T Snapdragon S2 with 1.4 GHz Scorpion CPU and Adreno 205 GPU
Display: Super AMOLED, 4.0" (10.2cm), 480 x 800, 16 million colors
Networks: GSM850, GSM900, GSM1800, GSM1900, UMTS850, UMTS1900 / CSD, GPRS, EDGE, UMTS, HSDPA, HSUPA
Wifi: Wi-Fi 802.11 b/g/n, DLNA, Wi-Fi hotspot
Bluetooth: Bluetooth 3.0 with A2DP
NFC: No
GPS: Yes, with A-GPS
Video out: Not Known
Camera: 5.0 MP (2592 x 1944 pixel), no LED flash, 720p video capture @30fps
Secondary Camera: Yes, 0.3 MP VGA
Internal Memory: 8/16 GB internal SD-Card
Memory Card: microSD, microSDHC, TransFlash, SDIO
Battery: 1650 mAh
Additional Features: FM radio (87.5-108MHz) with RDS


Contents

Introduction

The Samsung Galaxy S Plus (SGS+) aka I9001, while virtually identical to the older Galaxy S/I9000 on the outside is a completely different phone on the inside.

For the I9001, Samsung replaced its homemade Hummingbird CPU and the PowerVR SGX 540 GPU in the I9000 with a Snapdragon platform chipset by Qualcomm (MSM8255T). It contains a 1.4 GHz Scorpion CPU and Adreno 205 GPU all on one chip, giving the I9001 more processing power with a faster CPU but a slower GPU. The included battery has also been expanded from 1500 to 1650mAh, giving the I9001 somewhat longer battery life.

Due to the completely different interior of the Galaxy S Plus, firmware, tweaks, themes etc. developed for the Galaxy S cannot be used with the S Plus and have to be ported first.

Our community of I9001 developers can be found in the XDA Galaxy S Plus I9001 Android Development Subforum. You can stay up to date with the latest dev/ROM updates on Twitter or Facebook, or the unofficial website splusdev.tk (in early stages)

Buttons

Samsung Galaxy S Plus Buttons

Your phone has four physical buttons:
- Power button
- Volume Up button
- Volume Down button
- Home button
and two virtual buttons:
- Back button
- Menu button


Booting

By holding down specific combinations of buttons when booting the phone you can boot into special modes. This is necessary for flashing, installing ROMs etc.


Download Mode

Download Mode graphic

Download mode is used to flash a new firmware using Odin. (See Flashing)

To enter download mode, turn off the phone and then hold down Volume Down + Home + Power.

If done properly within 1-2 seconds you should see a screen with the green Android robot and the writing "Downloading... Do not turn off target!"

Pressing Power for at least 8 seconds will reboot the phone.

If you can't enter the download mode your phone might be Soft-Bricked.


Ramdump Mode

There is another mode called Ramdump Mode which is accessed by holding down Volume Up + Home + Power. There are no known uses for this mode.

If you were trying to get into Download Mode and got into Ramdump Mode instead, you were pressing Vol+ instead of Vol-.

Recovery Mode

Recovery mode is used to install system updates in form of update.zip files (such as the one for rooting your phone), performing a factory reset and wiping the cache. Once you replace the stock recovery with a more advanced recovery, you will also be able to install custom ROMs, make backups and much more.

"Android out of the box" icon indicating successfully booted recovery mode

To enter recovery mode, turn off the phone, connect the USB cable, and then hold down Volume Up + Power.

IMPORTANT NOTE: There is an imminent bug in most custom recoveries that results in phone turning off in the middle of backup or restoring. Use "boot into recovery" option from power option if your rom supports it, otherwise from the recovery choose "reboot into recovery" to prevent this bug.(see this thread) This bug is fixed now post announcing this fix, The thread for fixed recoveries

If done properly, the phone will show the SAMSUNG and Galaxy S Plus screens and then end up at the "Android out of the box screen". Now press Menu to enter recovery mode (see .

The options for actually performing recovery when something is wrong with your phone are very limited with the stock recovery that comes preinstalled on your phone. However, you have the option to replace it with a much better, fully-featured recovery called "ClockworkMod Recovery" (CWM).

Getting into recovery mode can be a bit fiddly and you might need several tries. Connecting the USB cable makes it a lot easier. CWM recovery does not have this problem and boots reliably. If you are still having problems getting into recovery mode, download Easy Reboot Recovery.zip, unpack and run RebootRecovery.bat while your phone is connected with the USB cable. The phone will reboot into recovery mode.

Navigation in recovery mode is done using the Volume Up and Volume Down buttons to scroll up and down in lists and the Home button for choosing an item. Sometimes a simple push of the Home button is interpreted as two pushes so be careful.

Recovery mode is a separate partition on your device (#13) that holds its own minimal Android system with a kernel and a small set of tools.

Safe mode

Only system apps are loaded when you boot into safe mode, the rest is disabled for the rest of the time you spend in safe mode.

Safe-Mode can be accessed in 3 ways:

  • Pressing and holding the Shut down button in the power menu - AOSP based ROMs
  • Pressing and holding the Reboot button in the power nenu - CyanogenMod
  • While booting press/hold the menu button (see keys above) - SGS+


Safe-Mode can also be accessed manually:

Open terminal emulator or an adb shell and enter:

  • echo 1 > /data/property/persist.sys.safemode

When you reboot your phone it will start in Safe-Mode

Boot-loop

A boot-loop is when your phone starts booting but keeps rebooting during the boot process, forever stuck in a loop. A boot-loop can occur after flashing a new ROM or when tinkering with mods and themeing.

If you are stuck in a boot-loop, follow broodplank1337's excellent guide on how to recover from a bootloop.


Soft-Bricked

Soft-bricked screen

If you are not able to enter the Download Mode by pressing Volume Down + Home + Power, your phone is soft-bricked. In this case you can still get into Download Mode using a so-called "jig", which is simply a micro-usb plug with a resistor that makes the phone boot into Download Mode when it's plugged in. You could build the jig on your own using this guide or buy a preassembled one on eBay or Amazon Marketplace. Jigs for the Galaxy S, Galaxy S Plus and the Galaxy S II are all identical.

Cheapest working solution: i9001 Compatible JIG - (1.60$, Free shipping!)

Un-Brick the device

Apparently there is one safe and working way to un-brick the GT-I9001. This procedure has been tested on a soft-bricked device with a stock unbranded ROM.

  • Download the WORKED2.rar package (mirror 1, mirror 2);
  • Download Odin Multi Downloader version 4.43;
  • After expanding the WORKED2.rar archive, press the OPS button and select the AriesVE.ops file from the uncompressed archive;
  • Mark the One Package option, press the One Package button on the bottom of the window and select the recovery-clockwork-6.0.1.0-ariesve.tar.md5 file;
  • Put your device in Download Mode by pressing Volume Down + Home + Power and plug it to your PC;
  • Make sure to have installed the correct drivers and the phone should be recognised by Odin (the top left rectangle becomes yellow) and press the Start button.

This process could take from 8 to 30 minutes to finish, with an average time of 15 minutes. After that you should have your device back with the same settings, applications and files you had before the brick. Moreover you should have installed a working version of the ClockworkMod Recovery.


Using an Odin ROM to fix your device:

If your device is still not working correctly after the steps described above. You should try to install a stock ROM and do a factory reset.

Rooting

Rooting allows apps to act as administrator of your phone (called "root") and perform modifications on anything. This allows you to use backup apps that can backup all apps including their data on your phone, firewall apps that control internet access for other apps, adblockers which block ads on webpages and inside apps and much much more. You control which apps you want to grant the root privilege to with an app called "Superuser". Please inform yourself on responsible use of root privileges and do not grant unknown or suspicious apps root rights.

All Custom ROMs, CyanogenMod-based ROMs etc. come pre-rooted. The rooting procedure is only necessary if you are using a stock Samsung ROM.

Procedure

Easy rooting and unrooting guide by KeksKlip: http://forum.xda-developers.com/showthread.php?t=1253707

  1. Put Root-i9001-Signed.zip into internal sdcard
  2. Reboot into recovery mode by turning on the phone while pressing Volume Up and Power Button
  3. As soon as the "Android out of the Box" appears, press the Menu button
  4. Use Volume buttons to choose "apply update from sdcard" in the recovery menu.
  5. Press Home button to submit.
  6. Use Volume buttons to choose Root-i9001-Signed.zip on sdcard
  7. Press Home button to start update.
  8. Choose "reboot system now" and press Home button to reboot your phone.

Unrooting is exactly the same, except with the file UnRoot-i9001-Signed.zip

After rooting your phone, you might want to go to the Market and update the Superuser app to the latest version. To update the su binary to the latest version, open up Superuser and select Menu -> Preferences -> Su binary.

Useful root apps

Some useful root apps you might want to install:

- Titanium Backup allows you to backup all your apps and their settings and data and allows you to freeze or completely remove unwanted system apps.

- LBE Privacy Guard allows you to block apps from gaining permissions to read your SMS, contacts, IMEI number, make calls etc.

- DroidWall, allows you to block user and system apps from getting Internet access via either WiFi, 3G or both. Essentially a GUI for configuring iptables. Open source!

- AdAway, ad-blocker that automatically downloads several lists, merges them and adds them to your hosts file. Allows for user black and white lists. Open source! (requires BusyBox)

- ES File Explorer, File Expert, Solid Explorer, three free file managers that support root access. Saves you from spending money on Root Explorer.

Technical details

The Root-i9001-Signed.zip does the following:

  • It deletes the stock "su" program and replaces it with a modified one that allows full root access to any UID without a password. The permissions for su are set as setuid and setgid root.
  • It installs Superuser.apk


Flashing

Flashing allows you to change your ROM or parts of it by overwriting it. This way you can upgrade to a newer version of Android or try a custom ROM that offers better performance or a different look.

It is absolutely essential that you perform a full backup of all your apps, data and settings before attempting a flashing procedure.

Additionally, it is recommended to make backups of your /efs and /persist partitions which among other things contain your IMEI. In rare cases you might destroy these during flashing and you will have no way of getting them back. Your carrier will most likely not allow you to connect to it without a valid IMEI. A backup can be performed using adb like this:

adb shell su -c "dd if=/dev/block/mmcblk0p27 of=/sdcard/efs.ext4 bs=4096"
adb shell su -c "dd if=/dev/block/mmcblk0p12 of=/sdcard/persist.ext4 bs=4096"

Flashing your phone voids your warranty. In the event that you need to have your phone repaired under warranty, you will have to flash it using the firmware it initially shipped with. If this is your first time flashing, it is therefore advisable to write down the original PDA, CSC and PHONE IDs that your phone shipped with. "Dial" the number *#1234# and write down the three ID strings. These exact three ROM parts can then be restored by downloading the appropriate stock firmware from sammobile.com.

Depending on the ROM it will either leave all your apps and data intact or delete them. Regardless you should always perform a factory reset after flashing (to be more thorough, also perform a reset directly before flashing). Not doing a reset will very likely result in lots of tiny problems like applications force-quitting, Market misbehaving, apps randomly disappearing and re-appearing, apps not being able to be installed etc.

Flashing stock ROMs will also remove your root access and your CWM recovery, you will need to re-install them. Most Custom ROMs have root access 'built in', and you don't need to root it again.

System independent

It is common to flash files during the recovery mode. In that mode, you do not need to have the phone connected to any computer; you just need to have transferred files to the phone (usually the SD card), and in the recovery mode you chose to flash (install) them.

Flashing in Windows

On Windows, flashing is performed using the freely available ODIN Multi-Downloader tool.

Version 4.43 should be used.

Guide to flashing with ODIN: http://forum.xda-developers.com/showthread.php?t=1345671

  • Make sure you have the appropriate USB drivers by installing the latest version of Samsung Kies If Kies recognizes your phone, the USB drivers are working. Close Kies.
  • Download and install ODIN Multidownloader 4.43
  • Run Odin as Administrator (right-click on icon -> "run as Administrator")
  • Power off your phone and boot it into download mode by simultaneously pressing Volume Down + Home + Power
  • Connect the phone to your PC via USB. Odin will now recognize your phone and a small box under COM Port Mapping should turn yellow and the text log should show "Detected!!!"
  • In the "Select OPS" section provide the following file: AriesVE.ops (AriesVE.ops)
  • Unzip/unrar the ROM you are flashing. If it's passworded, the password usually is samfirmware.com
  • If it's a single .tar.md5 file, check the option "One Package" in Odin and then load the .tar.md5 file using the One Package button at the very bottom. Odin will load it and check the MD5 checksum.
  • If your ROM consists of several .smd files, load the MODEM file with the PHONE button, the PDA file with the PDA button and the CSC file under with the CSC button. Load the Boot_loader.tar with the BOOT button.
    • Boot_loader.tar -> BOOT
    • MODEM.smd -> PHONE
    • PDA.smd -> PDA
    • CSC.smd -> CSC
  • Start flashing by hitting the Start button. Make absolutely sure the flash procedure is not interrupted. If it is taking longer than you expected or seems stuck, do not panic and do not interrupt it.
  • Flashing should take ca. 5-10 minutes for a full ROM. The phone will reboot. Wait and make sure it has booted successfully, then close Odin and disconnect the USB cable.

A lot of Odin-related problems during flashing seem to occur because of USB port problems. If you are having problems, try a different USB port and ideally try it on another PC as well. Other things to try are to flash with or without external SD card inserted and with or without SIM card inserted.

The AriesVE.ops is a textfile containing the partition order for the I9001.


Flashing in Linux/Mac

Linux and Mac users might be able to use the open source Heimdall tool to flash firmware in the future: http://www.glassechidna.com.au/products/heimdall/

However, currently as of version 1.3.2 Heimdall does not properly recognize the i9001.


ROM parts

ROMs are split into following parts:

  • BOOT - The bootloader that initializes the phone and loads Android. This part is the most critical, if a faulty bootloader is written to your phone, it will be bricked.
  • PDA - The Android operating system including the Linux kernel, libraries, frameworks and system apps.
  • MODEM/PHONE - This part holds a firmware driver for one of the most important hardware part of your phone, the GSM radio transmitter.
  • CSC - Carrier Customization, contains regional settings for by your carrier like keyboard localisations or internet APN settings. In rare cases flashing a ROM from a different region like Asia will not have the settings you need and you will have to manually enter your APN configuration.

Each part is provided as a .smd file, which is a custom tar-like archive used by Samsung. Each part can also be (re-)flashed individually. Alternatively so-called "one package" ROMs are provided as a single .tar.md5 file containing the .smds, which is a regular tar archive appended with its md5 hash.

MODEM/PHONE is independent of the OS contained in the PDA, making it possible to mix-and-match MODEM and PDA versions from different ROMs, sometimes jokingly referred to as "FrankenROM". This can be useful for example if a specific MODEM version has drivers that conserve the battery better.


Here are some MODEMs/Basebands that can be flashed with ODIN+Ariesve.ops, independently of your ROM.

Put the .SMD/.TAR in the PHONE section!

Baseband Released for Release
XXKP4 Modem SMD Germany, Romania 2012 June
DDKP9 Modem TAR (unzip) India 17.04.2012
XXKPK Modem SMD Germany, Russia 04.11.2011
XXKPL Modem TAR (unzip) Austria, Baltic, Netherlands,
Nordic countries, Romania, Switzerland
23.02.2012
XXKPM Modem TAR (unrar) Europe 24.07.2012
XXKPO Modem TAR (unzip) Germany, Italy 22.11.2012
BOKQ3 Modem TAR (unrar) Netherlands 11.09.2012


Additional information, about ROMs and their Basebands

After that, boot into recovery, wipe cache and wipe dalvik cache.

Partitions

WARNING: Do not touch any partition below number 8!

Partitions below 8 contain absolutely vital stuff like the primary boot loader responsible for low-level hardware initialization. Messing with them is what leads to fully bricked phones because you will not be able to get into download mode anymore!

Partition Name Filesystem Type
/dev/block/mmcblk0p8 boot emmc
/dev/block/mmcblk0p12 persist
/dev/block/mmcblk0p13 recovery emmc
/dev/block/mmcblk0p14 param
/dev/block/mmcblk0p15 /system ext4
/dev/block/mmcblk0p16 /cache ext4
/dev/block/mmcblk0p17 /data ext4
/dev/block/mmcblk0p18 /preload ext4
/dev/block/mmcblk0p27 /efs ext4
/dev/block/mmcblk0p28 /sdcard vfat

Also be very careful about /efs partition. Corrupting/deleting it will make you lose your IMEI number and some carriers will not allow you to connect to them anymore.

Param partition is used as temporary buffer to forward commands (like boot into recovery) from running OS to the bootloader. (A faulty param entry is also the cause for the bootloop into recovery problem experienced on some devices, here is a detailed analysis.)


For developers only:

We know from the I9001 AriesVE.ops, which is essentially a list of partitions, that the low-level firmware partitions below partition number 8 should be:

Partition Name Meaning
DBL Device Boot Loader (loads OSBL)
OSBL Operating System Boot Loader (loads AMSS)
AMSS Advanced Mobile Subscriber Software, the Qualcomm GSM firmware (baseband)
EMMCBOOT Embedded MMC(eMMC) boot (loads EMMCBOOT)
ADSP Apps (application processor)'s DSP, Qualcomm's DSP firmware, for encoding/decoding video and stuffs

The exact partition numbers are unclear but the order should be as given in the AriesVE.ops file.

The AMSS can be flashed with a different version via ODIN as described in the ROM parts section.

Some info about the low-level bootloaders can be found in this post.

ROMs

Stock ROMs

Stock ROMs are official ROMs provided by Samsung. Samsung provides I9001 ROMs for three different parts of the world: Europe, Asia and Middle East. All Stock ROMs are Android 2.3 (Gingerbread) based. Samsung has officially confirmed there will not be an Android 4 (Ice Cream Sandwich) ROM. The last and final stock ROM release was the 2.3.6 "Value Pack", which added face unlock, Touchwiz 4 and a couple of other features.

This list is based on the i9001 Stock ROM List Thread by Option58: http://forum.xda-developers.com/showthread.php?t=1346245

For Stock Firmware you can also consult:

For a tutorial on how to flash back stock-ROM, see [[1]] by mrjraider


Key to reading the IDs:

I9001 XE K E 8
Model Provider/Country Year Month Revision Number

Months: January = A, February = B, ..., December = L

Years: K = 2011, L = 2012

Source with full list of regions, providers etc.: http://www.sammobile.com/firmware/?page=1&t=1

Tool to decode IDs: http://www.sammobile.com/firmware/?page=1&t=2

See here for a list of Stock Apps, their purpose and whether they can safely be removed or not.

Gingerbread 2.3.3

Baseband ID Date Region Provider Download Link Languages
I9001XEKE8 05.2011 Europe [2] en,et,lt,lv,ru,uk,az,bg,de,fr,ka,kk,mk,ro,sr
I9001XXKF8 06.2011 Europe [3] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKG3 07.2011 Europe [4] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr

Gingerbread 2.3.4

Baseband ID Date Region Provider Forum Thread Languages
I9001BVKP8 08.2011 Europe Orange Switzerland [5] de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr
I9001BVKPA 09.2011 Europe Orange Switzerland [6] de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr
I9001XXKP4 Europe [7] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr

Gingerbread 2.3.5

Baseband ID Date Region Provider Forum Thread Languages
I9001BUKP2 10.10.2011 Europe Vodafone [8] de,el,en,es,fr,hr,hu,it,nl,pt,sl,sv,tr
I9001DXKJ2 22.10.2011 Asia [9] en, id, ms, th, vi, zh, ta
I9001BOKP4 26.10.2011 Europe T-Mobile Germany [10] cs,de,el,en,es,fr,hr,hu,it,mk,nl,pl,pt,sk,sl,sr,sv,tr,da,fi,no
I9001XXKPG 26.09.2011 Europe [11] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKPJ 07.10.2011 Europe [12] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr

Gingerbread 2.3.6

ID Baseband Date Region Provider Forum Thread Languages Notes
I9001ZSKP3 21.10.2011 Asia [13] en,zh
I9001ZSKP5 28.10.2011 Asia [14] en,zh
I9001ZSKP6 07.11.2011 Asia [15] en,zh
I9001ZSKP7 18.12.2011 Asia [16] en,zh
I9001XXKPS XXKPK 04.11.2011 Europe [17] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKPU 01.12.2011 Europe [18] de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKQ1 06.01.2012 Europe [19]
I9001XXKQ6 XXKPK 21.02.2012 Europe [20]
I9001XXKQ7 XXKPK 23.02.2012 Europe [21]
I9001XXKQB XXKPL 20.03.2012 Europe [22] Value Pack
I9001XXKQD DDKP9 17.04.2012 Asia [23] multilanguage Value Pack, Changlist: 1077879
I9001XXKQE XXKPL 24.04.2012 Europe [24] cs,de,el,en,es,fr,hu,it,nl,pl,sl,tr Value Pack, Changelist: 1102220
I9001DXLD3 25.04.2012 Asia [25] Value Pack
I9001XXKQI XXKPM 24.07.2012 Europe [26] Value Pack, Changelist: 1159246
I9001XXKQM XXKPO 30.10.2012 Europe [27] Germany Value Pack, Changelist: 1207170
I9001XXKQN XXKPO 24.11.2012 Europe [28] Italy Value Pack, Changelist: 1210389

Custom ROMs (Stock-based)

All these customized ROMs are based on stock Samsung Gingerbread ROMs. They usually are tweaked and optimized and offer a smoother, faster experience than the stock ROMs. Most remove Samsung bloatware and many are themed with a different look than stock.

ROMs using the Aroma Installer allow you to select which features you want during installation.

Please see the respective forum threads for a full list of features each ROM offers. Most of these ROMs are very similar to each other.

Name Developer Latest Relase Based on Forum Thread Special Features and notes
DeepSky hiej 1.0 XXKQN [29]
Ginger Revenge hiej 1.1.5 XXKQI [30]
GIGABREAD+ texten Final XXKQB [31] Aroma Installer, Toggle2G
Crybernation crybert 1.0.1 XXKQB [32] Aroma installer, 2 Themes
broodROM broodplank1337 RC5 Rev2 XXKQB [33] Also usable as last resort fix (contains all partitions)
broodROM Business Edition broodplank1337 v1.2 XXKQI [34] Capable for business environments
NitroX Galaxy White Edition AlessandroXCV 7.5 XXKQE [35] Galaxy S3 look-a-like
NitroX Galaxy Black Edition AlessandroXCV 7.5 XXKQB [36] Jelly Bean look-a-like
MoonROM jackq, mr_omega v4.2 XXKQB [37] Aroma installer, 2 Themes, PDroid, Toggle2G
KubsonRom kubson1999 RC1 XXKQB [38]
Arky's ROM Arky21 2.1 XXKQB [39]
InDrOiD EVOLUTON kkrraazzyy RC1 XXKQB [40] Green evolution theme
BlazR Costinutz32 RC8.2 XXKQE [41]
Simplistic Plus Dutch.ly 3.0 Beta 2 XXKQE [42] (Thread Not Found) minimalistic and simple
LionROM FlorisNL v1.1 XXKQ7 [43]
Xperiated ROM manoo2 - XXKQ7 [44] Xperica arc launcher
UCM una calaita mas 2.1 XXKQ1 [45]
Jupiter ROM Ikiseev, TheFrankenstain Q1 XXKQ1 [46] Aroma installer
Lightning ROM V07A4ER - XXKQ1 [47] Lightning launcher
Cranium sakinidia123 RC9 XXKQ1 [48] no further development
Android Revolution kkrraazzyy RC3 XXKPS [49]
CyMod ROM Cynob, Rhonin86 0.5-5 XXKPU [50] comes with a modding script
Crybert's ROM crybert v1.3.1 XXKPU [51] no further development
Shadow0 kingsonwongs v2.0.4a XXKP4 [52] 3 themes
UltimatePower CodeXpert R1 JPKP3 [53] Arabic support

AOSP

The Android Open Source Project (AOSP) is pure Android, as released by Google, without any modifications by third parties like Samsung. It is basic and minimal. For ROMs based on AOSP that offer more functionality and apps, see the CyanogenMod and MIUI sections.


Gingerbread AOSP 2.3.7 - by mazen912

Topic: http://forum.xda-developers.com/showthread.php?t=1639421


Ice Cream Sandwich AOSP (IMM76L) 4.0.4 - by broodplank1337

Topic: http://forum.xda-developers.com/showthread.php?t=1971838


Jelly Bean AOSP 4.1.2 - by broodplank1337

Topic: http://forum.xda-developers.com/showthread.php?t=2079944

Jelly Bean AOSP 4.1.2 - by alireza7991

Topic: http://forum.xda-developers.com/showthread.php?t=2230357

BAREBONE

A barebone Android ROM is a ROM that has been stripped to the bone completely, leaving only the core apps behind, this will result in a very clean/fast ROM that is smaller then you ever imagined it to be. This is mostly interesting for developers, to add their own piece of work in it. it's basically a ROM from scratch. leaving you an empty black screen to be filled by your creativity


Android Barebone Packages (ABP) 2.3.7 - by broodplank1337

Topic: http://forum.xda-developers.com/showthread.php?t=2213386

CyanogenMod

CyanogenMod is a free, community built, aftermarket firmware distribution of Android, which is designed to increase performance and reliability over stock Android for your device and is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed.


Development Status


CyanogenMod 7 (Gingerbread)

CyanogenMod 7

CyanogenMod 7.2 (based on Android 2.3 / Gingerbread) is being ported to i9001 by YardE, skywalker01 and mazen912.

In the latest CM7 build all phone components work except for FM Radio and WiFi tethering.

The latest CM7 build is:


Notes:

  • The default keyboard is tiny and very hard to use. Install an alternative keyboard such as this from the Play store and activate it in System Settings -> Language & Keyboard.
  • If you are having problems with 3G internet, try adding net.dns1=8.8.8.8 and net.dns2=8.8.4.4 to your build.prop using BuildProp Editor.

CyanogenMod 7 Custom ROMs


CyanogenMod 9 (Ice Cream Sandwich)

CyanogenMod 9 (Signature by tomsteel1)

CyanogenMod 9 (based on Android 4.0.4 / Ice Cream Sandwich) is being ported to i9001 by arco68

Thread : CyanogenMod 9


All major components of the i9001 work except for FM radio (however, experimental solutions are available for those).

BASE DEVELOPMENT HAS BEEN STOPPED. THE ROM BASE IS STABLE FOR DAILY. THE ROMS BASED ON CM9 NEED TO BE UPDATED IN ORDER TO HAVE THE BASE UPDATED TO FULLY STABLE!


Installation:

  1. Back up your apps with TitaniumBackup. Backup your SMS with SMS Backup & Restore and your call logs with Call log Backup & Restore. Export your contacts to a .vcf file.
  2. First a special version of CWM recovery is needed, FeaMod does not work because it does not set partition sizes for CyanogenMod 9 correctly. The new recovery can restore FeaMod Recovery backups in case you want to return to one later. There are many ways how to install the recovery, choose one:
  3. CyanogenMod9 comes as a zip that is installed inside recovery. Download the latest build and put the zip file into the sdcard.
    • Reboot into CWM Recovery
    • Perform a backup!
    • Wipe data/factory reset
    • Wipe Cache partition
    • Advanced > Wipe dalvik cache
    • Install zip from sdcard (choose cm-9-20130206-EXPERIMENTAL-ariesve-rc4.zip)
  4. Flash the gapps-ics-20120429-signed.zip inside recovery in order to have Google Play etc. (cannot be shipped together with CyanogenMod due to legal reasons)
  5. Restore your backed-up apps, sms, call logs and contacts. DO NOT restore old Gingerbread system apps and be careful when restoring app data.


Notes:

  • Under CyanogenMod, your external SD card can be found under /external_sd
  • Reboot into recovery from power menu not working? Turn off "touch sounds" option in sound settings.
  • FM Radio can be made to work using the Spirit FM app. Download and use the "qdsp5v2 Altern" driver. Unfortunately, with the current version, the phone will crash an freeze when receiving calls while listening to the radio!
  • Want to see something fun? CM9 has an easter egg that can be activated in System Settings -> About phone. Click the "Android version 4.0.4" entry several times very fast. The screen will clear and show an Android robot. Click and hold on the robot. It will zoom into the robot and then activate a Nyan-cat like animation of flying Android robots.
  • CM9 now includes a theme manager. Themes come as apps and can be found in the Play store and here.
  • To change your boot animation, download an animation from a thread like this and then put the bootanimation.zip file containing the animation images into /data/local/bootanimation.zip. That way your boot animation will be preserved throughout ROM upgrades.
  • Facebook currently is blocked by ICS from synchronizing contacts. If you'd like to synchronize your Facebook contacts you can use a third-party app or this fix for CM9/AOKP.


Mods

CyanogenMod 9 Custom ROMs

CyanogenMod 10 (Jelly Bean)

CyanogenMod 10 (Based on Android 4.1.2 / Jelly Bean).

CyanogenMod 10 is being ported to i9001 through the combined efforts of Doomsday94, ivendor, arco68 and camcory.

Thread : CyanogenMod 10

CyanogenMod 10 Custom ROMs

CyanogenMod 10.1 (Jelly Bean)

CyanogenMod 10.1 (Based on Android 4.2.2 / Jelly Bean) It's developed by AriesveDevConnection Team

Thread : CyanogenMod 10.1

All major components of the i9001 work except for FM radio.


Installation:

  1. Before you install CM10.1: Preparation (First three are optional. If you want to start fresh, these can be skipped)
    • Install AppBak from Market, run it and save a list of all your apps.
    • Install SMS Backup and Restore from Market, run it and backup your SMS history.
    • Install Call Logs Backup and Restore from Market, run it and backup your call log history.
    • Boot into CWM5 recovery. Make a full backup. You will need this backup later if you decide to go back to your previous ROM and data.
      • WARNING: Many apps will Force Close crash if you restore data from a previous ROM.
  2. Use CWM 5.5.0.4 Flashable zip version | Odin version OR CWM 6.0.3.2 with safe kernel (no EMMC bug)
  3. CyanogenMod10.1 comes as a zip that is installed inside recovery. Download the latest build and put the zip file into the sdcard.
    • Wipe data / Factory Reset
    • Wipe cache
    • Advanced > Wipe dalvik cache
    • Install zip from sdcard (choose cm-10.1-20130607-dev_connection_team-release1-ariesve.zip)
    • Flash the gapps-jb-20130301-signed.zip
      • You must flash gapps after every upgrade to CM10 since /system is formatted, wiping your previous add-ons.
    • Reboot phone.
  4. After you setup your Google account, reinstall the three apps from Market in order to restore most of your apps, call log and SMS history.
    • WARNING: Do not restore backup data of system apps!
      • If you restore a bad backup with cached settings in telephony.db in data/data/com.*.*.telephony it can break MMS.
      • It seems that restoring backups can also break Calendar sync.


Notes:

  • Upgrades from previous versions of CM10.1 are the same process as install, except you do not need to wipe anything. Contrary to popular belief, you do not need to even wipe cache and dalvik-cache when upgrading between CM10.1 versions. You only need to wipe if you are doing a major upgrade, switching to a different ROM entirely, or attempting to fix bugs caused by bad backups or corrupt app data.
  • Under CyanogenMod 10.1, your external SD card can be found under /storage/sdcard1
  • Reboot into recovery from power menu not working?
    • Turn off "touch sounds" option in sound settings.
  • No Developer options & Performance setting?
    • Tap Build number for 7 times in Settting > About phone
  • Want to see something fun? CM10.1 has an easter egg that can be activated in System Settings -> About phone. Click the "Android version 4.2.2 / CyanogenMod version" entry several times very fast. The screen will clear and show an Android JellyBean / CyanogenMod icon. Click and hold on the JellyBean / CyanogenMod icon. It will zoom in and activate a lots of flying JellyBean / CyanogenMod icon.

CyanogenMod 10.1 Custom ROMs


CyanogenMod 11 (Kit Kat)

CyanogenMod 11 (Based on Android 4.4 / Kit Kat) It's developed by AriesveDevConnection Team

Thread:

AOKP

AOKP

The Android Open Kang Project (AOKP, not to be confused with AOSP!) is a ROM based on CyanogenMod 9/10 which adds a large amount of extra configurability and customization options to the status bar, notification drawer, power menu, lockscreen and many other areas.

AOKP JB: AOKP JellyBean Alpha 3 by crybert

AOKP ICS: Two i9001 ports are maintained by oisis and crybert. They are based on arco68's and ivendor's CM9.

The latest crybert build is AOKP Milestone 6 build5. (Forum Thread) Crybert's AOKP supports OTA (Over The Air) updates so you will automatically know when a new version comes out.

The latest oisis build is Build40: KANG - AOKP - Beta-11. (Forum thread)


AOKP-based Custom ROMS

Paranoid Android

Paranoid Android

Paranoid Android is a AOSP-based ROM. Extra features include Hybrid mode', PIE Controls and Halo'. Hybrid settings switches your phone to different modes, like Stock UI (default - normal phone UI), Phablet UI (combination between Phone & Tablet), and of course Tablet mode.

The different modes changes your DPI settings, ads well as other layout settings. DPI settings can also be set for indevidual apps, as well as statusbar&navigation bar colors.

Pie Controls can be accessed by swiping on the side of the screen where is located (default in the bottom). It offers a way to use onscreen buttons in a different way, as well as a way to access notifications and quick settings easely (Android 4.2)

Halo is a sort of notification manager, that allows you to view your notifications on top of what ever it is you were doing (eg. Playing Temple Run) without pausing/exiting the app you were using before.

ROMS

PACman

PACman is a JellyBean all-in-one-ROM that combines all the functionality of ParanoidAndroid (P), AOKP (A) and CyanogenMod (C) in a single ROM. You get to have all the advanced AOKP functionality together with Paranoid's scaling of any app.

MIUI

MIUI

MIUI is a Chinese ROM based on CyanogenMod but redesigned with a clean, simple iPhone-like interface.

It provides advanced features not available in CyanogenMod like an app permissions manager, a root permissions manager, a network firewall and call screening.

It is completely themable and gives you access to a large online archive of user-contributed themes. Themeable elements include the launcher, lockscreen, boot animation, status bar, icons, clock and the dialer.

It also comes with a large selection of MIUI apps including a music player, gallery, file manager, notes, clock etc.


MIUI (Gingerbread)

MIUI 2.4.13 based on a slightly older CM7 build (and thus has the same bugs as the CM7 port plus weak vibration and Bluetooth bugs).

Ported by wuhaoyu1990

Forum thread

The latest build is MIUI GB 2.6.7. Flash the zip inside CM9 recovery after doing a full wipe. If you don't have CM9 recovery, see the CM9 section.


MIUI V4 (ICS)

MIUI v4 is based on the CM9 build by Ivendor. Beta 4

Ported by wuhaoyu1990 and currently maintained by Alex93917.

Current forum thread

Original forum thread

  • The latest build Multi-Lang (17) is MIUI V4 2.8.10 RC3. Download the zip and flash it inside CM9 or TWRP recovery after doing a full wipe.
  • The latest build French Language is MIUI 2.8.10 RC3 French -- Ariesve --. Download the zip and flash it inside CM9 or TWRP recovery after doing a full wipe.


MIUI V5 ( JB )

MIUI V5 is based on the CM10 build by Ivendor.

Official porting thread by Alex93917: http://forum.xda-developers.com/showthread.php?t=2224826

Unofficial porting by zxc123coke : http://forum.xda-developers.com/showthread.php?t=2288550

Other

Smoothie ROM

Smoothie ROMs are the ROMs based on CM, or on the stock ROMs. These ROM boast of stability, smoothness, and high performance. The Smoothie ROMs are available with Jellybean, Ice Cream Sandwich, and Gingerbread. All these ROMs are made and maintained by XDA Senior Member Brahmnoor.

The forum thread for SmoothieJB [54]

The forum thread for SmoothieICS [55]

The forum thread for SmoothieGB has not yet been released, but will be releasing soon.


H-Book Rom

H-Book ROMs are the ROMs based on CyanogenMod. These ROM boast of smoothness, battery life, high performance, graphics and features. The H-Book ROMs mixes Sony Xperia and Nexus 4 features with a great smoothness and beautifull graphics. H-Book is the unique rom that includes H-Sync Rendere Control, a tweaks made by the rom developer. All these ROMs are made and maintained by XDA Senior Member AlbertoSONIC and they are a project by Tsunamix Developers Team.

The forum thread for H-Book Revolution [JB] [56]

The forum thread for H-Book Over Galaxy [ICS] [57]

The forum thread for H-Book Evolution [JB 4.2] has not yet been released, but will be releasing soon.

JoyOS

JoyOS

JoyOS is a Chinese ROM based on CyanogenMod 7. Its main goal is to replicate the look and feel of the iPhone iOS as closely as possible.

The i9001 port is made and maintained by Sot0. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (FM radio not working).

Forum thread: http://forum.xda-developers.com/showthread.php?t=1676120

LeWa

LeWa OS

LeWa ("happy frog") is a Chinese ROM based on CyanogenMod 7 quite similar to MIUI.

The i9001 port is made and maintained by Costinutz32. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (radio not working, USB notification always shown).

Forum thread: http://forum.xda-developers.com/showthread.php?t=1631791

An alternative LeWa build is available by robert_jacketti: http://forum.xda-developers.com/showthread.php?t=1723428


ShenDu OS

ShenDu OS is a Chinese ROM based on CyanogenMod 7.

The i9001 port is made and maintained by han-yunzhong. It is based on an older mazen912 CM7 build and thus has headphones and radio not working.

Forum thread: http://forum.xda-developers.com/showthread.php?t=1678071


MoKee OS

MoKee OS is a Chinese ROM based on CyanogenMod 7.

The i9001 port is made and maintained by Costinutz32. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (radio not working, USB notification always shown).

Forum thread: http://forum.xda-developers.com/showthread.php?t=1684072


Flyme OS

Flyme OS is a Chinese ICS-based ROM developed by Meizu Technology Co. Ltd for their Meizu phones.

Forum thread with i9001 port: http://forum.xda-developers.com/showthread.php?t=1976747

Kernels

The Android Operating System uses the Linux Kernel as its base. The kernel is like a car's engine, it's the part of the OS that talks directly to the hardware. Changing the kernel can affect the overall speed of the system, your battery life and functionality of hardware components.

Custom Kernels usually offer the ability to overclock/undervolt, a broader choice of CPU governors, I/O schedulers, init.d script support and custom bootanimation support.


GB Kernel Building:

To build your own (GB) kernel, you will need a Linux based x64 machine (this can be a VM) that is configured for building kernels. If you're new to kernel building you can use broodplank's Automated (Unix) Build Environment Setup script. This script does the whole environment setup by itself, the result is a ready to build i9001 kernel source.


ICS/JB Kernel Building:

If you would like to build an ICS or JB kernel you can use Diablo's KernelToolbox. This is a shell script with everything you need, from acquiring the source until making the boot.img file. Very handy script for the people that don't know how to make a kernel.


Installation

Kernels will usually come as an installable zip file that you install in recovery or as a .img-File. If it's a zip file, check the contents to make sure it was made for installation in recovery: An installable zip will have a META-INF folder inside.

Kernel boot.img files can be flashed using Broodplank's Quickflasher or via dd (for advanced users).

Broodplank's Quickflasher:

  1. Download: http://broodplank.net/?p=196
  2. Connect phone via USB, start sgsflasher_x86.exe
  3. Activate "Flash a new Kernel", check the "Wipe before flashing" option
  4. Select the kernel boot.img and press "Start Now".

dd:

  1. adb shell
  2. su
  3. dd if=/sdcard/boot.img of=/dev/block/mmcblk0p8


GB Kernels

These should run on Gingerbread Stock ROMs, Custom ROMs, CM7 and MIUI GB.

Name Developer Download Features
Vitality ™ vitaliy_y http://forum.xda-developers.com/showthread.php?t=1544066
Cranium sakindia123 http://forum.xda-developers.com/showthread.php?t=1432674
Sky High skywalker01 http://forum.xda-developers.com/showthread.php?t=1555431
FeaCore Phoenix manveru0 http://forum.xda-developers.com/showthread.php?t=1331164
broodKernel broodplank1337 http://forum.xda-developers.com/showthread.php?t=1737717 v1.2 = stock, v1.3 = OC

ICS Kernels

These should run on any Ice Cream Sandwich ROM (CM9, AOKP, MIUIv4, Paranoid etc.)

Name Download Features
Arco68 http://www.broken-arrow.pl/oisis/aokp/kernel-arco-cm9.zip Stock CM9
Vitaliy https://github.com/vitaliyy/samsung-kernel-ariesve/downloads OC/UV. Governors: SmartsAss v2, InteractiveX. Scheduler: SIO, CFQ. VolumeBoost
Oisis http://www.broken-arrow.pl/oisis/aokp/kernel-aokp-01.zip
crybert http://forum.xda-developers.com/showpost.php?p=27879301 Governors: SmartAss v2, InteractiveX. Scheduler: SIO, CFQ, Noop, Deadline, VR
CastagnaIT http://forum.xda-developers.com/showthread.php?t=1827428 OC/UV, Extreme undervolt, Governors, Scheduler, BLN, FastCharge, Tweaks and more...
broodplank1337 http://forum.xda-developers.com/showthread.php?t=1737717 NocOC & OC, smartassV2/SIO, Swap and some tweaks (Also available for JB)

Ivendor is working on a 3.0.x kernel.

Jelly Bean Kernels

Make sure that your ROM supports 3.0 Kernel before installing it. Put a working Kernel on your SD-Card, just in case.

Name Download Kernel 2.6 Kernel 3.0 Kernel 3.4
broodplank1337 http://forum.xda-developers.com/showthread.php?t=1737717 v1.x v3.x v4.x
CastagnIT Kernel http://forum.xda-developers.com/showthread.php?t=1827428 v1.x-7.x v10.x v12.x
Jaggy Kernel http://forum.xda-developers.com/showthread.php?t=2052859 all versions
PhenomKernel http://forum.xda-developers.com/showthread.php?t=2144996 / http://forum.xda-developers.com/showthread.php?t=2144996 all versions v4.x.x
Nexus Kernel http://forum.xda-developers.com/showthread.php?t=2131844 up to v9.0 since v9.1
educk LKA Kernel http://forum.xda-developers.com/showthread.php?t=2165341 single release
K^Kernel http://forum.xda-developers.com/showthread.php?t=2183378 / http://forum.xda-developers.com/showthread.php?t=2315721 v2.x vx.x

3.4 Kernels are optimized for Android

Kit Kat Kernels

Name Download
K^Kernel (PMEM) http://forum.xda-developers.com/showthread.php?t=2543066
K^Kernel (ION) http://forum.xda-developers.com/showthread.php?t=2580112
PhenomKernel http://forum.xda-developers.com/showthread.php?t=2574083

Recoveries

The recovery is a separate partition on your device that contains a small bootable Android system which allows you to repair your system, make backups, install system modifications etc.


ClockWorkMod Recovery

ClockworkMod Recovery (CWM) is a recovery that replaces the stock recovery on your phone. It offers a wide range of functionality, including:

CWM logo
  • make full backup images (also called NANDroid backup) that contain everything (the ROM, your apps, your data) and can restore your system to the exact state it is at the moment of backup
  • restore backup images or parts of them (see here if restore fails because of md5 checksum failure)
  • access the phone using adb while it is in recovery mode (not possible using stock recovery!)
  • repair file permissions which might be causing errors with your apps
  • install a lot of custom tweaks, themes etc. that rely on having CWM
  • wipe the Dalvik cache
  • wipe the battery stats file

There is a modern, easy to use touch version of CWM which has a graphical interface and a non-touch version that is used by pressing the phone buttons.

Last unmodified and stable CWM 6.x :

Lastest CWM recovery is compiled for I9001 by alireza7991 in both touch and non- touch and one patched for bricked data partition devices . also in odin flashable , recovery flashable and quick flashable versions . this recovery is fully stable and has no more shutdowns or SoDs ! also its compiled by 2.6 kernel zImage so its safe for brickable emmcs too ! find the orginal thread of CWM-6.x-Touch+non-touch-odin+cwm flashable . we are currently at v 6.0.3.3

Older builds :

The official, unmodified CWM Recovery has been compiled for the I9001 by arco68 and alireza7991 . CWM Touch recovery has been compiled by alireza7991 & czobor .

To install CWM Touch Recovery 6.0.1.4, install this zip file by booting into recovery mode and choosing "install zip from file" (this should work with stock recovery, FeaMod, or any other CWM):

If you would like the non-touch version instead, use:

Warning Tested on an i9001 and the home button did not work to select options, CWM works, you can change options but can't select them.

Warning: Some people have reported a bootloop that always boot into CWM recovery after installing it using this package (happens only on some devices). There's a solution to this problem in this post.

Old CWM 5.5.0.4 version:

Important:

  • mount /sdcard before doing a backup (this guarantees that your apps stored on sdcard in /sdcard/.android_secure are backed up as well, otherwise they will not be backed up)

TeamWin Recovery (TWRP)

teamwin-logo.png The TeamWin Recovery Project (TWRP) is an advanced recovery with a graphical user interface that is navigated using the touchscreen. It offers all the functionality of CWM Recovery and additionally also allows for compressed backups (saves up to 50% space), has a graphical file manager, battery percentage indicator and clock, install queues for installing several zips at once, mounting of SD cards on your PC via USB in recovery and more.

Forum thread: [58]

Installation zip: v2.4.1.0 - copy the zip file to your sdcard, boot into recovery (VolumeUp+Power) and then use "install zip from sdcard"/"apply update from sdcard" to install it.

Note: A few devices experience random reboots/shutdowns in recovery with the latest version. If this is the case for you, use version 2.2.1 which is completely stable.

link to latest stable branch release v.2.3.3.0. link to latest master branch release v2.2.2.1.

v2.6.3.0 for CM9/CM10/CM11.

FeaMod Recovery

manveru0 has created a modified CWM Recovery 5.5.0.4 for the i9001 and calls it FeaMod Recovery. The project has been abandoned and there will be no further development. FeaMod Recovery is not compatible with CyanogenMod9.

An important difference to regular CWM is that to select an item in the menu, you use the Menu button (and not the Home button which can act erratically sometimes). By default FeaMod Recovery comes with the recovery and a custom kernel called FeaCore, optionally you can install just the recovery.

To install FeaMod Recovery v1.4, install this zip file prepared by nail16 by booting into recovery mode and choosing "install zip from file" (this should work with stock recovery, FeaMod, or any other CWM):


Forum thread: http://forum.xda-developers.com/showthread.php?t=1331164


Known Issues with Feamod

Upon installation of CWM/FeaMod some devices can go into a boot loop after entering recovery mode i.e. whenever the phone boots, it will always boot into recovery. Here is the fix:

  1. Put this file on sdcard
  2. Load it via Feamod recovery with "install from sdcard"
  3. Reboot the phone ("Reboot system now")

Src 1: http://forum.xda-developers.com/showpost.php?p=21872451&postcount=3 Src 2: http://forum.xda-developers.com/showpost.php?p=21527547&postcount=875


RZrecovery

  • RZrecovery is an alternative recovery developed by Raidzero. It offers more functionality than CWM such as backup management, compressed backups, boot.img and .apk installation, installation queues and battery charging. Currently the I9001 port is unmaintained and can only back up on the internal SD card.


Stock recovery

If for some reason you ever need to go back to stock recovery, wintel_mac has prepared a zip you can install in CWM or FeaMod:


AROMA Installer

AROMA Installer gives users the possibility to choose which mods and applications they want to Install on to their device. Sometimes we want the clean install, without bloatware; and sometimes we want the full set of applications on our device. With AROMA Installer, you are your phone's master!

To get rid of the blue-ish color, you need to add ini_set("force_colorspace", "rgba"); at the top of the aroma-config file.

AROMA Filemanager

AROMA Filemanager is a graphical file manager that you can use in CWM Recovery. It is started using the "install from sdcard" option and can then be used after calibrating the touchscreen. AROMA Filemanager doesn't seem to suffers under any false colors problem on the I9001 anymore.

Fix crashing apps and other problems with recovery

  1. Reboot into recovery
  2. Wipe cache partition
  3. Advanced -> Wipe Dalvik Cache
  4. Advanced -> Fix Permissions

If this doesn't work, you will have to uninstall the app with its data and do a clean install. If it is a system app that is crashing, you most likely installed a new ROM without doing a full wipe data/factory reset.


Custom Tweaks and Tools

Tweaks:

Tools

  • Galaxy S Plus Configurator RC1 by broodplank1337. Works on any rooted and deodexed ROM. Can install and configure different kernels, tweaks, CPU governors, I/O schedulers, keyboards etc.
  • I9001 Quickflasher by broodplank1337. Easily flash new kernels, recoveries or ROMs onto your phone.
  • GPS Configuration Tool by broodplank1337. Get a fast working gps.conf for every region/country.
  • Charged Notification Remover by broodplank1337. Remove the "Battery Charged Notification" from any Samsung based SystemUI.apk.
  • APK to Java by broodplank1337. Decompile APK sources to Java/Smali code and/or resources and convert output into Eclipse project.

Managing your phone from your PC

Samsung offers the Kies software for Windows to manage your phone, however it is extremely erratic, slow and buggy.

Much better alternatives exist:

  • QtADB for Windows, Mac and Linux - Manages files, SMS and apps. Take screenshots, access shell, recovery and logcat logs. Software that accesses your phone via USB cable or WiFi.
  • AirDroid - Manage files, SMS, apps, contacts, ringtones, music, clipboard and tasks. Web interface to your phone via WiFi.
  • MyPhoneExplorer - Manage files, SMS, apps, contacts, call lists and calendar. Software that connects to your phone via WiFi, USB cable or Bluetooth. Windows only.


Theming with UOT Kitchen (replacing the battery icon etc.)

The UOT Kitchen is a website that allows you to theme your system by changing various icons, fonts etc. You select what you want, upload the files specific to your ROM and then download the modified files.

Using CWM/FeaMod Recovery

  1. Requirements: ClockWorkMod Recovery, root
  2. Using a filemanager in root mode (e.g. ES File Explorer), copy the following system files to /sdcard:
    • /system/framework/framework-res.apk
    • /system/framework/twframework-res.apk
    • /system/app/SystemUI.apk
  3. In the UOT kitchen, select the options you want and optionally preview them.
  4. Go to the "File Upload" tab and select the following options:
    • "Edify scripting" -> "update-binary: Type Galaxy"
    • "Select your Rom..." -> Upload System Files
  5. Under "Upload your own files" upload your framework-res.apk, SystemUI.apk and twframework-res.apk
  6. Go to the "Summary" tab, double-check everything and submit the job. Once it's finished, download the zip file.
  7. Boot into recovery mode by pressing VolUp and Power buttons when the phone is off. Select "Install zip from sdcard", navigate to your downloaded zip from the kitchen and apply it. (Navigation in FeaMod/CWM Recovery: VolUp/Down for up/down, Menu for selecting)
  8. Reboot

Using Stock Recovery

  1. Requirements: root
  2. Follow steps 2 to 6 of the above guide (configure the kitchen, copy your apks and upload them to the kitchen, cook, download resulting zip)
  3. Download the Update.zip Modifier and unpack it (Windows only)
  4. Unpack the zip from the kitchen into the "placehere" directory inside the Update.zip Modifier directory
  5. Download and unpack META-INF.zip inside the "placehere" directory, replacing the existing META-INF
  6. Start "Script.bat" from the main Update.zip Modifier directory, press n, select the second option: "Create update.zip".
  7. Copy the resulting update.zip to your sdcard, reboot into recovery mode and flash it by selecting "Install zip from sdcard".

TW Launcher 4.5

TW Launcher 4.5 is a modified Launcher based on the official Touchwiz Launcher 4. For informations follow this thread

  1. Download and Install TW4Manager.apk
  2. Open it and go to "check for updates"
  3. select "Latest stable version". The download and installation for the Launcher starts.


TV-Out

The Galaxy S Plus provides analogue TV-out through the headphone jack. Currently this only works on Samsung-based ROMs. There is no HDMI out via USB.

The headphone jack does not use the standard pin order for 3.5mm jacks so in addition to a 3.5mm to composite cable you will need an adapter to change the pin order as follows:

  • L -> L
  • R -> R
  • GND -> MIC
  • MIC -> GND

An affordable working tv-out cable is the Nokia CA-75U, an example of the headphone jack adapter needed can be found here.

Instructions (Samsung ROMs only):

  1. In system settings, enable TV out and set TV type (NTSC or PAL)
  2. Connect headphone adapter to headphone jack and to video adapter
  3. Connect video adapter to headphone adapter and to composite plugs in TV (video, audio left, audio right).


Useful Guides for Developers

Make your own ROM and kernel - Guide by sakindia123

How to make an ODIN installable package - Guide by nikagl

How to make an Odin Image (with additional info) - by broodplank1337

All files you need to build an XXKPS Odin ROM - by broodplank1337

dsixda's kitchen for i9001 - by dsixda

Compiling arco's CM9 for i9001 - by vpupkin

How to mod a stock kernel - by broodplank1337

How to add languages to Samsung Keyboard / port Swype - by texten

How to prepare a stock rom for modification (written for beginners) (flashing, rooting, deodexing) - by broodplank1337

Build a 3.0.x kernel - Step by step guide by Xistance

Compiling CM10 from source by Xistance

Adding features to your kernel (GOV/IO/OC) by broodplank1337

Downloading/Compiling specific ROM Parts by broodplank1337


Deodexing

Deodexing is done if you want to theme your phone to the limit and change any graphic or icon presented by the system. It is necessary because these items are mostly stored inside optimized uncompressed .odex files. Deodexing puts them back into the .apk/.jar of the app/framework so that you can edit and change things. Note that since .jars are compressed, your system might run slightly slower as a result of deodexing.

To deodex your phone follow this guide (Copy from the I9003 thread). Go there for more info.

How to report Bugs

If you have some trouble by using a rom, you should report these with almost all the informations you can give.

The biggest help for debugging is a logcat.

"The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are collected in a series of circular buffers, which then can be viewed and filtered by the logcat command." (more)

Make a logcat directly after the existing issue.


Calibrate Battery

As you can read here the calibrate battery part is obsolete. Deleting the batterystats.bin won't do any good ...

Sometimes you can't trust your batterystats, because flashing roms will make them inaccurate.
To fix this issue, you have to calibrate the battery.

You will need a fully charged device. After that let the phone on charger:
* reboot your phone in recovery mode, under "advanced options", wipe batterystats - reboot
* or go to the folder /data/system and delete batterystats.bin - reboot
* or for adb shell: su (enter) rm /data/system/batterystats.bin (enter) - reboot

Now you can unplug the device from charger.

Secret Codes

The following special numbers can be "dialed" to read out internal data and get access to various debugging functionality (most of these only work on Samsung Stock ROMs and ROMs derived from Stock ROMs):

Dialer Code Function
*#1234# print the PDA, PHONE and CSC versions of the current firmware (alternatively: *#*#44336#*#*)
*#06# print the IMEI
*2767*4387264636# print the product code
*#*#4636#*#* Phone information, Battery information, Usage statistics, Wifi information (very useful for debugging, has ping test etc.)
*#0*# testing mode, has tests for LCD, speaker, vibration, front and back camera, touchscreen and all other internal sensors like accelerometer, magnetic sensor etc.
*#*#7594#*#* switch the action performed when you hold the "Power" button: default is to display a menu (with options like silent mode, flight mode, power off), the other setting is to directly switch phone off
*#*#8255#*#* GTalk service monitor, for GTalk debugging
*#*#526#*#* WiFi driver test, use Menu button to select start transmission and receiving tests (alternatively: *#*#232339#*#*)
*#*#232338#*#* print WiFi MAC address
*#*#1575#*#* service mode: GPS test
*#0011# service mode: signal status
*#1111#* service mode: print FTA SW Version
*#2222#* service mode: print FTA HW Version
*#*#0283#*#* service mode: audio packet loopback
*#*#0673#*#* speaker test (alternatively *#*#0289#*#*)
*#*#0842#*#* vibration test
*#*#2664#*#* Touch screen test
*#*#0588#*#* Proximity sensor test
*#*#232331#*#* Bluetooth test
*#*#232337#*# print Bluetooth device address
*#*#3264#*#* print RAM version
*#3214789650# enter AngryGPS configuration
*2767*3855# Factory format. WARNING! ALL DATA WILL BE DELETED AS SOON AS YOU TYPE IN THE FINAL #! IT DOES NOT ASK FOR CONFIRMATION!
*#*#34971539#*#* Camera firmware info and update. WARNING! Trying to flash camera firmware will brick your camera!
*#*#2663#*#* Touch screen firmware version and update
*#9900# dumpstate/logcat, debugging (RIL) and Enable/Disable Fast Dormancy (settings seem to reset on boot)
*#*#3214789650#*#* TEST GPS and edit parameters (with GPS ACTIVE)