Samsung Galaxy S Plus/GT-I9001
|Samsung Galaxy S Plus|
|Model Number: GT-I9001|
- 1 Introduction
- 2 Buttons
- 3 Booting
- 4 Rooting
- 5 Flashing
- 6 ROMs
- 6.1 Stock ROMs
- 6.2 Custom ROMs (Stock-based)
- 6.3 AOSP
- 6.4 BAREBONE
- 6.5 CyanogenMod
- 6.5.1 CyanogenMod 7 (Gingerbread)
- 6.5.2 CyanogenMod 7 Custom ROMs
- 6.5.3 CyanogenMod 9 (Ice Cream Sandwich)
- 6.5.4 CyanogenMod 9 Custom ROMs
- 6.5.5 CyanogenMod 10 (Jelly Bean)
- 6.5.6 CyanogenMod 10 Custom ROMs
- 6.5.7 CyanogenMod 10.1 (Jelly Bean)
- 6.5.8 CyanogenMod 10.1 Custom ROMs
- 6.5.9 CyanogenMod 11 (Kit Kat)
- 6.5.10 CyanogenMod 12 (Lollipop)
- 6.5.11 CyanogenMod 12.1 (Lollipop)
- 6.6 AOKP
- 6.7 Paranoid Android
- 6.8 PACman
- 6.9 MIUI
- 6.10 MIUI V5 ( JB )
- 6.11 Other
- 7 Kernels
- 8 Recoveries
- 9 Custom Tweaks and Tools
- 10 Managing your phone from your PC
- 11 Theming with UOT Kitchen (replacing the battery icon etc.)
- 12 TW Launcher 4.5
- 13 TV-Out
- 14 Useful Guides for Developers
- 15 How to report Bugs
- 16 Secret Codes
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)
Your phone has four physical buttons:
- Power button
- Volume Up button
- Volume Down button
- Home button
and two virtual buttons:
- Back button
- Menu button
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 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.
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 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.
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.
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
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 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-188.8.131.52-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 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.
Easy rooting and unrooting guide by KeksKlip: http://forum.xda-developers.com/showthread.php?t=1253707
- Put Root-i9001-Signed.zip into internal sdcard
- Reboot into recovery mode by turning on the phone while pressing Volume Up and Power Button
- As soon as the "Android out of the Box" appears, press the Menu button
- Use Volume buttons to choose "apply update from sdcard" in the recovery menu.
- Press Home button to submit.
- Use Volume buttons to choose Root-i9001-Signed.zip on sdcard
- Press Home button to start update.
- 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!
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 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.
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.
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!
|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
|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|
After that, boot into recovery, wipe cache and wipe dalvik cache.
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!
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:
|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.
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:
- SamMobile: http://www.sammobile.com/firmware/?page=3&model=GT-I9001&pcode=0&os=1&type=1#firmwareForm
- Samsung-Updates: http://samsung-updates.com/device/?id=GT-I9001
- Check Fus: http://fus.nanzen.se
For a tutorial on how to flash back stock-ROM, see [] by mrjraider
Key to reading the IDs:
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.
|Baseband ID||Date||Region||Provider||Download Link||Languages|
|Baseband ID||Date||Region||Provider||Forum Thread||Languages|
|Baseband ID||Date||Region||Provider||Forum Thread||Languages|
|I9001DXKJ2||22.10.2011||Asia||||en, id, ms, th, vi, zh, ta|
|I9001XXKQD||DDKP9||17.04.2012||Asia||||multilanguage||Value Pack, Changlist: 1077879|
|I9001XXKQE||XXKPL||24.04.2012||Europe||||cs,de,el,en,es,fr,hu,it,nl,pl,sl,tr||Value Pack, Changelist: 1102220|
|I9001XXKQI||XXKPM||24.07.2012||Europe||||Value Pack, Changelist: 1159246|
|I9001XXKQM||XXKPO||30.10.2012||Europe||||Germany Value Pack, Changelist: 1207170|
|I9001XXKQN||XXKPO||24.11.2012||Europe||||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|
|GIGABREAD+||texten||Final||XXKQB||||Aroma Installer, Toggle2G|
|Crybernation||crybert||1.0.1||XXKQB||||Aroma installer, 2 Themes|
|broodROM||broodplank1337||RC5 Rev2||XXKQB||||Also usable as last resort fix (contains all partitions)|
|broodROM Business Edition||broodplank1337||v1.2||XXKQI||||Capable for business environments|
|NitroX Galaxy White Edition||AlessandroXCV||7.5||XXKQE||||Galaxy S3 look-a-like|
|NitroX Galaxy Black Edition||AlessandroXCV||7.5||XXKQB||||Jelly Bean look-a-like|
|MoonROM||jackq, mr_omega||v4.2||XXKQB||||Aroma installer, 2 Themes, PDroid, Toggle2G|
|InDrOiD EVOLUTON||kkrraazzyy||RC1||XXKQB||||Green evolution theme|
|Simplistic Plus||Dutch.ly||3.0 Beta 2||XXKQE|| (Thread Not Found)||minimalistic and simple|
|Xperiated ROM||manoo2||-||XXKQ7||||Xperica arc launcher|
|UCM||una calaita mas||2.1||XXKQ1|||
|Jupiter ROM||Ikiseev, TheFrankenstain||Q1||XXKQ1||||Aroma installer|
|Lightning ROM||V07A4ER||-||XXKQ1||||Lightning launcher|
|Cranium||sakinidia123||RC9||XXKQ1||||no further development|
|CyMod ROM||Cynob, Rhonin86||0.5-5||XXKPU||||comes with a modding script|
|Crybert's ROM||crybert||v1.3.1||XXKPU||||no further development|
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
Ice Cream Sandwich AOSP (IMM76L) 4.0.4 - by broodplank1337
Jelly Bean AOSP 4.1.2 - by broodplank1337
Jelly Bean AOSP 4.1.2 - by alireza7991
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
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.
- Please see this thread by CastagnaIT for up-to-date information and Changelogs for both CM7 and CM9.
CyanogenMod 7 (Gingerbread)
In the latest CM7 build all phone components work except for FM Radio and WiFi tethering.
The latest CM7 build is:
- CM 7 fixed2.1 by mazen912 download (15th June, 2012).
- CyanogenMod 7.2 RC 1 by Sot0 download (30th April, 2013).
- 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.
- 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=184.108.40.206 and net.dns2=220.127.116.11 to your build.prop using BuildProp Editor.
CyanogenMod 7 Custom ROMs
CyanogenMod 9 (Ice Cream Sandwich)
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!
- 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.
- 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:
- Flash CWM5504-CM9-recovery.zip inside FeaMod (boot into recovery, apply update from sdcard) or stock recovery
- or use Quickflasher from broodplank:
- Connect phone via USB, start sgsflasher_x86.exe, activate "Flash a new Recovery", select the recovery.img and press "Start Now".
- or use Odin to flash recovery-clockwork-18.104.22.168-ariesve.tar.md5 as One Package using the regular AriesVE.ops (Tutorial)
- or flash recovery.img using the command line/adb by putting it on your sdcard and executing the commands:
- adb shell
- dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p13
- 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)
- 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)
- Restore your backed-up apps, sms, call logs and contacts. DO NOT restore old Gingerbread system apps and be careful when restoring app data.
- 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.
- CM9 battery mods
- Set Your Own Status Bar Wallpaper
- Jelly Bean Style Notification Tray
- Windows Phone 7 Style App Switcher
- Vibration free lockscreen, Transparent Statusbar
- Floating Touch
CyanogenMod 9 Custom ROMs
- SmoothieICS - Smooth, Fast, Stable ICS ROM
- RemICS [thread closed]
- Simplistic ICS *
- ? BioHazard ?
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
- broodROM Jellybean - Rebirth of broodROM
- EHNDROIX II - Smooth, Stable, Slim JB ROM
- ErikMOD - Battery and performace JB ROM [thread closed]
- SmoothieJB - Smooth, Fast and Stable JB ROM
- RemICS-JellyBean S3 Look and Feel JB ROM
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.
- 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.
- Use CWM 22.214.171.124 Flashable zip version | Odin version OR CWM 126.96.36.199 with safe kernel (no EMMC bug)
- 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.
- 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.
- WARNING: Do not restore backup data of system apps!
- 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
CyanogenMod 12 (Lollipop)
CyanogenMod 12 (Based on Android 5.0 / Lollipop) It's developed by AriesveDevConnection Team
CyanogenMod 12.1 (Lollipop)
CyanogenMod 12.1 (Based on Android 5.1.1 / Lollipop) It's developed by AriesveDevConnection Team
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-based Custom ROMS
- AOKP Eclipse - Aroma Installer, choice of 2 Kernels, 3 themes and 4 launchers, TabletUI
- S3Experience - Galaxy S3-themed with Touchwiz 5 launcher
- NitroX GalactICS - Galaxy S3-themed, lots of extra apps
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.
- Paranoid Android by krislibaeer
- Paranoid Android JellyBean by camcory
- Paranoid Android ICS by Doomsday94 [thread closed]
- Wallpapers, Themes, MODs and Guides for Paranoid Android
- Original Paranoid Android thread
- Paranoid Android KK ported by Educk
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 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 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
- 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
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 
The forum thread for SmoothieICS 
The forum thread for SmoothieGB has not yet been released, but will be releasing soon.
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] 
The forum thread for H-Book Over Galaxy [ICS] 
The forum thread for H-Book Evolution [JB 4.2] has not yet been released, but will be releasing soon.
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 ("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 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 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 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
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.
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.
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).
- Download: http://broodplank.net/?p=196
- Connect phone via USB, start sgsflasher_x86.exe
- Activate "Flash a new Kernel", check the "Wipe before flashing" option
- Select the kernel boot.img and press "Start Now".
- adb shell
- dd if=/sdcard/boot.img of=/dev/block/mmcblk0p8
These should run on Gingerbread Stock ROMs, Custom ROMs, CM7 and MIUI GB.
|broodKernel||broodplank1337||http://forum.xda-developers.com/showthread.php?t=1737717||v1.2 = stock, v1.3 = OC|
These should run on any Ice Cream Sandwich ROM (CM9, AOKP, MIUIv4, Paranoid etc.)
|Vitaliy||https://github.com/vitaliyy/samsung-kernel-ariesve/downloads||OC/UV. Governors: SmartsAss v2, InteractiveX. Scheduler: SIO, CFQ. VolumeBoost|
|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|
|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
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 (CWM) is a recovery that replaces the stock recovery on your phone. It offers a wide range of functionality, including:
- 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 188.8.131.52
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 184.108.40.206, 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:
- CWM6013-CM9-recovery.zip (Use Power key to select)
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 220.127.116.11 version:
- CWM5504-CM9-recovery.zip (Use Home button to select)
- 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.
Forum thread: 
Installation zip: v18.104.22.168 - 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.
v22.214.171.124 for CM9/CM10/CM11.
manveru0 has created a modified CWM Recovery 126.96.36.199 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:
- Put this file on sdcard
- Load it via Feamod recovery with "install from sdcard"
- Reboot the phone ("Reboot system now")
- 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.
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 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 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
- Reboot into recovery
- Wipe cache partition
- Advanced -> Wipe Dalvik Cache
- 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
- ThunderBolt! by pikachu01, scripts for better performance
- Adrenaline Shot by dsexton702, scripts for better performance
- GPU Drivers update from GT-I8150 - huge graphics speed improvement
- Collection of mods - by Juhan Jufri
- 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
- Requirements: ClockWorkMod Recovery, root
- Using a filemanager in root mode (e.g. ES File Explorer), copy the following system files to /sdcard:
- In the UOT kitchen, select the options you want and optionally preview them.
- Go to the "File Upload" tab and select the following options:
- "Edify scripting" -> "update-binary: Type Galaxy"
- "Select your Rom..." -> Upload System Files
- Under "Upload your own files" upload your framework-res.apk, SystemUI.apk and twframework-res.apk
- Go to the "Summary" tab, double-check everything and submit the job. Once it's finished, download the zip file.
- 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)
Using Stock Recovery
- Requirements: root
- 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)
- Download the Update.zip Modifier and unpack it (Windows only)
- Unpack the zip from the kitchen into the "placehere" directory inside the Update.zip Modifier directory
- Download and unpack META-INF.zip inside the "placehere" directory, replacing the existing META-INF
- Start "Script.bat" from the main Update.zip Modifier directory, press n, select the second option: "Create update.zip".
- 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
- Download and Install TW4Manager.apk
- Open it and go to "check for updates"
- select "Latest stable version". The download and installation for the Launcher starts.
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):
- In system settings, enable TV out and set TV type (NTSC or PAL)
- Connect headphone adapter to headphone jack and to video adapter
- 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 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 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.
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.
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.
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):
|*#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#*#*)|
|*#*#2664#*#*||Touch screen test|
|*#*#0588#*#*||Proximity sensor 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)|