Thursday, 15 November 2012

How to install CM9 ICS custom ROM on Samsung Galaxy S I9001 Plus:


How to install CM9 ICS custom ROM on Samsung Galaxy S I9001 Plus:

  1. Download the CM9 based custom ROM from HERE. Save the file on your PC and don’t extract its contents.
  2. Download Google Apps zip for CM9 / ICS from HERE. Save it on your computer and leave it as it is.
  3. Now that you’ve downloaded these two files above, you should move them on your phone’s internal SDcard. Do it using the USB cable and dropping the files on the root of the internal sdcard; it is the first folders menu that opens when the phone connects to your PC.
  4. After the transfer is complete, you should disconnect the phone from PC and power it OFF. Boot into TWRP Recovery mode or in CWM Recovery mode. Both are working with these files. We will use TWRP. Enter custom Recovery mode by pressing ‘volume up’ and ‘power’ buttons at the same time and when the Samsung logo appears you should press the Menu button to load recovery mode.
  5. When in recovery mode you should first use the ‘Backup’ option to save the existing ROM. In case you already have a full backup of your currently installed ROM then you can skip this step.
  6. Select ‘wipe’ and then ‘factory reset’ and confirm that you want to wipe all data. Remember that this won’t delete the internal sdcard, so you’re safe and the files downloaded at steps 1 and 2 will be left unchanged.
  7. Now select ‘Install’ and after that browse for the ‘CM9 ICS custom ROM’ zip file. It is the file downloaded at step 1 and moved on your device’s internal sdcard at step 3. Install this file.
  8. When the ROM was successfully flashed you should repeat step 7 in order to install the ‘Gapps’ file. This will install the Google Apps that your phone needs. With these apps you will gain full control over the ICS Android 4.0 ROM.
  9. When the installation of both the ROM and the Gapps files is complete, you should select ‘Reboot system’. Now your device will restart and this first boot process into the new CM9 ICS custom ROM will take at least 5 minutes to complete.
  10. After the first boot loads you will be taken to the new ICS welcome screen and you should enter your Google account details to take control over your phone’s functions.
NOTE: If the first boot process takes over 15 minutes to complete, then the update wasn’t correctly installed and you should re-apply all the steps listed above, as you might have skipped some of the steps that I have listed. Eventually you should manage to install this new ROM. If you cannot complete the install then you should tells us in comments and we will try to help you.
I hope that you found this guide helpful and that now your Galaxy S Plus I9001 is running the CM9 ICS ROM.
Do not attempt to restore applications backups, only use AppBak tool to see which apps were installed before you applied this new ROM. Restoring the applications’ backup files will make the ROM unusable. Also, if you have trouble with this ROM you should restore the full backup ROM file that you created before moving to this tutorial.
For any other questions use the comments filed at the end of this post and I’m sure that you’ll be given a solution to your problems.
thanks for read my post.
for support my blog, please select donate button below.:)

custom rom for samsung galaxy s plus


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.

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.
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.
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.

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.

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 1mirror 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.

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:
  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! (requiresBusyBox)
ES File ExplorerFile ExpertSolid 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.

Flashing in Windows

On Windows, flashing is performed using the freely available ODIN Multi-Downloader tool.
Version 4.43 should be used.
  • 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!
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/mmcblk0p8bootemmc
/dev/block/mmcblk0p12persist
/dev/block/mmcblk0p13recoveryemmc
/dev/block/mmcblk0p14param
/dev/block/mmcblk0p15/systemext4
/dev/block/mmcblk0p16/cacheext4
/dev/block/mmcblk0p17/dataext4
/dev/block/mmcblk0p18/preloadext4
/dev/block/mmcblk0p27/efsext4
/dev/block/mmcblk0p28/sdcardvfat
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 ↓
DBLDevice Boot Loader (loads OSBL)
OSBLOperating System Boot Loader (loads AMSS)
AMSSAdvanced Mobile Subscriber Software, the Qualcomm GSM firmware (baseband)
EMMCBOOTEmbedded MMC(eMMC) boot (loads EMMCBOOT)
ADSPApps (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:
I9001XEKE8
ModelProvider/CountryYearMonthRevision 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
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 ↓
I9001XEKE805.2011Europe[2]en,et,lt,lv,ru,uk,az,bg,de,fr,ka,kk,mk,ro,sr
I9001XXKF806.2011Europe[3]de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKG307.2011Europe[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 ↓
I9001BVKP808.2011EuropeOrange Switzerland[5]de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr
I9001BVKPA09.2011EuropeOrange Switzerland[6]de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr
I9001XXKP4Europe[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 ↓
I9001BUKP210.10.2011EuropeVodafone[8]de,el,en,es,fr,hr,hu,it,nl,pt,sl,sv,tr
I9001DXKJ222.10.2011Asia[9]en, id, ms, th, vi, zh, ta
I9001BOKP426.10.2011EuropeT-Mobile Germany[10]cs,de,el,en,es,fr,hr,hu,it,mk,nl,pl,pt,sk,sl,sr,sv,tr,da,fi,no
I9001XXKPG26.09.2011Europe[11]de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKPJ07.10.2011Europe[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 ↓
I9001ZSKP321.10.2011Asia[13]en,zh
I9001ZSKP528.10.2011Asia[14]en,zh
I9001ZSKP607.11.2011Asia[15]en,zh
I9001ZSKP718.12.2011Asia[16]en,zh
I9001XXKPSXXKPK04.11.2011Europe[17]de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKPU01.12.2011Europe[18]de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr
I9001XXKQ106.01.2012Europe[19]
I9001XXKQ6XXKPK21.02.2012Europe[20]
I9001XXKQ7XXKPK23.02.2012Europe[21]
I9001XXKQBXXKPL20.03.2012Europe[22]Value Pack
I9001XXKQDDDKP917.04.2012Asia[23]multilanguageValue Pack, Changlist: 1077879
I9001XXKQEXXKPL24.04.2012Europe[24]cs,de,el,en,es,fr,hu,it,nl,pl,sl,trValue Pack, Changelist: 1102220
I9001DXLD325.04.2012Asia[25]Value Pack
I9001XXKQIXXKPM24.07.2012Europe[26]Value Pack, Changelist: 1159246

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 ↓
GIGABREAD+textenFinalXXKQB[27]
Aroma Installer, Toggle2G
Crybernationcrybert1.0.1XXKQB[28]Aroma installer, 2 Themes
broodROMbroodplank1337RC5 Rev2XXKQB[29]
broodROM Business Editionbroodplank1337v1.2XXKQI[30]Capable for business environments
NitroX Galaxy White EditionAlessandroXCV7.5XXKQE[31]Galaxy S3 look-a-like
NitroX Galaxy Black EditionAlessandroXCV7.5XXKQB[32]Jelly Bean look-a-like
MoonROMjackq, mr_omegav4.2XXKQB[33]Aroma installer, 2 Themes, PDroid, Toggle2G
KubsonRomkubson1999RC1XXKQB[34]
Arky's ROMArky212.1XXKQB[35]
InDrOiD EVOLUTONkkrraazzyyRC1XXKQB[36]Green evolution theme
BlazRCostinutz32RC8.2XXKQE[37]
Simplistic PlusDutch.ly3.0 Beta 2XXKQE[38] (Thread Not Found)minimalistic and simple
LionROMFlorisNLv1.1XXKQ7[39]
Xperiated ROMmanoo2-XXKQ7[40]Xperica arc launcher
UCMuna calaita mas2.1XXKQ1[41]
Jupiter ROMIkiseev, TheFrankenstainQ1XXKQ1[42]Aroma installer
Lightning ROMV07A4ER-XXKQ1[43]Lightning launcher
Craniumsakinidia123RC9XXKQ1[44]no further development
Android RevolutionkkrraazzyyRC3XXKPS[45]
CyMod ROMCynob, Rhonin860.5-5XXKPU[46]comes with a modding script
Crybert's ROMcrybertv1.3.1XXKPU[47]no further development
Shadow0kingsonwongsv2.0.4aXXKP4[48]3 themes
UltimatePowerCodeXpertR1JPKP3[49]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.

Ice Cream Sandwich AOSP (IMM76L) 4.0.4 - by broodplank1337

Gingerbread AOSP 2.3.7 - by mazen912

CyanogenMod

CyanogenMod is a replacement firmware that is fast, highly customizable and free of Samsung stuff. Unlike the custom ROMs based on Samsung firmware above, CyanogenMod is based on the Android Open Source Project and offers you a completely different experience since it is different from the ground up and uses its own hardware drivers.

Development Status

CyanogenMod 7 (Gingerbread)

CyanogenMod 7
CyanogenMod 7.2 (based on Android 2.3 / Gingerbread) is being ported to i9001 by YardEskywalker01 and mazen912.
In the latest CM7 build all phone components work except for FM Radio and WiFi tethering.
The latest CM7 build is:
  • CM 7.2 fixed2.1 by mazen912 (June 6th, 2012).
  • Install the zip using arco's CWM recovery by doing wipe data/factory reset and then install zip from sdcard.
  • After that install the gapps.zip from recovery to have the Google apps.

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.

CM7-based Custom ROMs


CyanogenMod 9 (ICS)

CyanogenMod 9
CyanogenMod 9 (based on Android 4 / Ice Cream Sandwich) is being ported to i9001 by arco68 (forum thread).
The latest build by arco68 is 2012-10-23: CM9 beta3 .

Another similar CM9 build based on CM9 arco68 by ivendor (forum thread)
The latest build by ivendor is 2012-10-11: CM9 RC5

Signatures created by tomsteel1 [50]
All major components of the i9001 work except for FM radio (however, experimental solutions are available for those).

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 cm-9-20121023-EXPERIMENTAL-ariesve-beta3.zip and put it on your 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-20121023-EXPERIMENTAL-ariesve-beta3.zip)
  4. Flash the gapps package 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:
  • To get BLN working in arco68 CM9 build(Now possible !!)
    • Flash CM9 ROM
    • Flash gapps
    • Flash CastagnaIT 7.0 kernel
    • Reboot
    • Delete the file "lights.ariesve.so" in /ssytem/lib/hw using Root Explorer
    • Verify whether the file "lights.msm7*30.so" exists in the same location
    • Reboot
    • Now customize BLN setting with BLN Control
    • Enjoy~
  • 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 appDownload 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

CM9-based Custom ROMS

CyanogenMod 10 (JB)

CyanogenMod 10 is based on Android Jelly Bean (4.1).
CyanogenMod 10 (Android 4.1.1 Jelly Bean) is being ported to i9001 by Doomsday94(Thread)
The latest build that available is Cyanogenmod 10 Alpha 1 by Doomsday94 (UPDATE 20120930).

CM10-based Custom ROMS

AOKP

AOKP
The Android Open Kang Project (AOKP, not to be confused with AOSP!) is a ROM based on CyanogenMod 9 which adds a large amount of extra configurability and customization options to the status bar, notification drawer, power menu, lockscreen and many other areas.
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 CM9-based ICS ROM that offers to switch your phone to Tablet mode (get the Android user interface you have on tablets) or Hybrid mode.
Hybrid mode allows you to choose for each app whether you would like to use it in regular Phone mode or in Tablet mode and set a custom DPI setting for each app.
It is being ported by Doomsday94.

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
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.
  • 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.

Other

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).

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).
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.

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).

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 governorsI/O schedulers, init.d script support and custom bootanimation support.

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.

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_yhttp://forum.xda-developers.com/showthread.php?t=1544066
Craniumsakindia123http://forum.xda-developers.com/showthread.php?t=1432674
Sky Highskywalker01http://forum.xda-developers.com/showthread.php?t=1555431
FeaCore Phoenixmanveru0http://forum.xda-developers.com/showthread.php?t=1331164
broodKernelbroodplank1337http://forum.xda-developers.com/showthread.php?t=1737717only the ramdisk has been modified

ICS Kernels

These should run on any Ice Cream Sandwich ROM (CM9, AOKP, MIUIv4, Paranoid etc.)
Name ↓Download ↓Features ↓
Arco68http://www.broken-arrow.pl/oisis/aokp/kernel-arco-cm9.zipStock CM9
Vitaliyhttps://github.com/vitaliyy/samsung-kernel-ariesve/downloadsOC/UV. Governors: SmartsAss v2, InteractiveX. Scheduler: SIO, CFQ. VolumeBoost
Oisishttp://www.broken-arrow.pl/oisis/aokp/kernel-aokp-01.zip
cryberthttp://forum.xda-developers.com/showpost.php?p=27879301Governors: SmartAss v2, InteractiveX. Scheduler: SIO, CFQ, Noop, Deadline, VR
CastagnaIThttp://forum.xda-developers.com/showthread.php?t=1827428OC/UV, Extreme undervolt, Governors, Scheduler, BLN, FastCharge, Tweaks and more...
Ivendor is working on a 3.0.x kernel.

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.
The official, unmodified CWM Recovery has been compiled for the I9001 by arco68. CWM Touch recovery has been compiled by 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: 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)

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.
Installation zip: http://www.mediafire.com/?l78dskdap2xghd7 - copy the zip file to your sdcard, boot into recovery (VolumeUp+Power) and then use "install zip from sdcard"/"apply update form sdcard" to install it.

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):

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")

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 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 suffers under the same false colors problems as the AROMA Installer on the I9001 but other than that is fully functional.

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 BETA 5 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 mod a stock kernel - by broodplank1337
How to prepare a stock rom for modification (written for beginners) (flashing, rooting, deodexing) - 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

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)