[Galaxy S Plus I9001 Android Development] broodplank1337:
How to prepare your i9001 stockROM for modding

First of all I want to say that I know that there already are tutorials about this, but this is just my sites "well explained aio tutorial" that everyone should be able to follow successfully, just as my other tutorials. I added loads of screenshots to make everything a lot easier. So please no complaining about duplicates ;)

Short description:

In this tutorial I will explain you how to prepare a stock rom for modding, the files in this tutorial (cwm and root) are for the Samsung Galaxy S Plus (GT-i9001) only!

The deodex part will work for every device, So if you have an other device then the i9001 you can only follow the deodex part if you would like to.

General notes

- I know I already made a tutorial about how to root the i9001, but this method is faster and easier, so forget the old method and use this one!

- In this tutorial I assume that you have installed your new stock ROM (or still have the original one) and made no modifications to it yet (this excludes apps & settings)

Chapters:

1. ClockWorkMod Recovery (CWM)

2. Getting full access to your system files (Root)

3. How to make system apks available for modding (Deodex)

Chapter 1. ClockWorkMod Recovery

The first step of this guide is to get rid of the stock recovery, the stock recovery is very useless if you compare it to CWM.

CWM is a custom recovery that it known worldwide, it has a great number of options and actually should be installed by default on any smartphone!

The method of flashing the recovery will be Odin (Mutli Downloader 4.43), this method doesn’t require root access and is very trusted.

What you have to do on your pc:

1. Download and unpack Odin and AriesVE.ops

2. Download and unpack CWM v5.5.0.4 (ICS Compatible)

3. Download and install Samsung USB Drivers

4. Now go to the folder where you extracted odin and AriesVE.ops, and open odin (Multi_Downloader_v4.43_with_smd0425.exe)

5. Click on the “OPS” button, now choose the AriesVE.ops file you downloaded earlier, after this check the “One package” checkbox

6. Now click the “One Package” button and choose the “recovery-clockwork-5.5.0.4-ariesve.tar.md5″ file you downloaded earlier, now it will perform an md5 check

7. Now turn off your i9001 if it’s on at the moment.

8. Turn it on by holding: Volume Down + Home + Power (hold it for about 6 seconds) until the Download Mode comes

9. Now put the USB cable in your phone and computer, your computer will now install all needed drivers

10. Once the driver installation is complete you will see a yellow block in your upper left odin window

This means it’s detected and ready to flash

11. Now click the “Start” button and the flashing will start

(as you see this process only takes a few seconds)

12. Now your phone will reboot and CWM is installed correctly. (You can also press the “Volume up + Power” buttons when you see the Samsung logo (when odin reboots your phone), It will force your device to go to cwm.

What I strongly advice is to make a backup of your current rom (backup & restore > backup)

Now see the next chapter for quick rooting!

Chapter 2. Getting full access to your system files (Root)

Once CWM is installed it’s very easy to root your phone very fast.

1. Download Root-i9001-Signed.zip or scan this barcode on your phone:

2. Put the zip on your sdcards root, and turn off your phone.

3. Now turn your phone on by holding: Volume Up + Power, when you see the Samsung logo wait another 2/3 sec and then release both buttons.

4. Now CWM Recovery will show, use the volume buttons to scroll up and down, use the home button to choose something

5. Scroll to “install zip from sdcard” and press the home button

(using the volume down button to go down in the menu)

(after pressing home in main menu)

6. Now Press home again to go to “choose zip from sdcard, this will let you browse your internal sdcard, now search for the root-i9001-signed.zip file

(my sdcard is a bit messy ^^)

7. When you found the zip press Home to choose it

8. Now scroll up (it’s faster then down) until you reach Yes, then press the home button again. This will install the root zip on your phone

9. Now press the back button once to return to the main menu, with “reboot system now” selected, press the home button once to reboot your phone

10 . When your phone is rebooted you should look for the SuperUser app and open it, now press the menu button and choose “Preferences”

11. Now scroll all the way down to Superuser information, then press the second button “Su Binary v3.0-beta2″, this will open the updater

(dutch language)

12. As you see it’s outdated and needs to be updated, press the Update button to do this

13. Now the updating will start, and soon SuperUser will ask for SuperUser permissions, click Grant

(dutch language)

14. After clicking grant the update process will continue and will be done in a few seconds

15. Now your Su Binaries are updated you need to update the app itself, just go to the market and search for “Super User”

16. Choose the one contributed by: ChainsDD, now click the “Update” button to update it. You are now done with the rooting.

Chapter 3. How to make system apks available for modding (Deodex)

Requirements for deodexing:

- Android SDK (x86)

- Java Development Kit (x86)

- Busybox Installed on your phone (the download from the market is the installer, so you will need to run the app to install it)

1. Download xUltimate Script v2.3.3, unpack it in some folder and if you have an anti-virus, scan the jar folder and add “auto_app.exe” and “auto_frame.exe” to exclusions/trusted files. (at least my anti-virus thinks it’s dangerous, but it’s not..)

2. Run “Main Skip.bat”, now the main menu of xUltimate will open

3. Now connect your phone in debugging mode to your pc (but not in mass storage mode!), and choose “1″ then press enter, this will pull all system apps from your device

4. When the pulling is complete choose “2″ and press enter, this will pull all system framework files.

5. Now that you’ve collected all apks/odex files, you will probably need to remove these apks from the “origi_app” folder, since they will probably fail to deodex.

- GoogleQuickSearch.apk / GoogleQuickSearch.odex

- Maps.apk / Maps.odex

- Phonesky.apk / Phonesky.odex

- PlusOne.apk / PlusOne.odex

- Voicesearch.apk / Voicesearch.odex

These apps can be redownloaded at the market later! (Phonesky is just the market installer, not the actual market installation)

6. Now choose “3″ and press enter, now the deodexing of the system apps will start.

This may take a while, but at least it will deodex until the end, since the trouble makers are already removed.

7. When the deodexing of the system apps is done you will return to the main menu, now choose “4″ and press enter to deodex the framework files

Luckily deodexing the framework goes a lot faster then the apps. When this process is also done you will have 2 output folders, called “done_app” and “done_frame”

8. What you will need to do is copy both folders to your internal sdcard’s root (since you’re still in debugging mode, drag down the status bar and click on the usb notification, then click on “Mount Storage” to mount your internal sdcard on your computer (Mass Storage Mode)

9. After you copied both folders, you need to press “Unmount Storage” on your phone, now it will be back in normal debugging mode, keep the usb cable in because we are not done yet.

10. Download ADB (Android Debug Bridge) and unpack it in some folder, Now in that folder “Shift+Right Click” at some empty spot > Open command window here (This is only for Windows 7). XP users will have to open cmd manually and “cd” to the adb directory

11. Once your in cmd, enter the following commands to successfully deodex your phone (an explanation of the commands can be found below them, make sure you don’t enter the symbols as well, I added those so you can see if you’re in the right mode)

> adb shell

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

$ su

# stop

# mount -o remount rw /system

# rm /system/app/*.odex

# rm /system/framework/*.odex

# busybox cp /sdcard/done_app/* /system/app/

# busybox cp /sdcard/done_frame/* /system/framework/

# busybox chmod 644 -R /system/app/*

# busybox chmod 644 -R /system/framework/*

# reboot

What did those commands actually do?:

“adb shell” – opens a shell interface for your phone, this is the same as a unix shell

“su” – asks for superuser permissions (and gets it right away)

“stop” – this command freezes your phone completely, except the adb traffic, that means you can replace system files without crashing your device

“mount -o remount rw /system” - this remounts the system partition but writable

“rm /system/app/*.odex” / “rm /system/framework/*.odex” – This deletes the old .odex files which are not needed anymore after deodexing

“busybox cp /sdcard/done_app/* /system/app/” / “busybox cp /sdcard/done_frame/* /system/framework/” – This copies the apks from the folders in your sdcard to the right destination.

“busybox chmod 644 -R /system/app/*” / “busybox chmod 644 -R /system/framework/*” – This command sets the permissions to RW-R-R, some users say it’s not needed but just remember to do it always, it’s a good thing! (and bad permissions may even crash your device)

“reboot” – well, I think you know what this does.

Ok so If you entered all commands correctly your phone will now reboot and succeed to boot. be ware that it takes a lot longer then a normal boot since the dalvik-cache has to rebuilt, this takes about 1 minute and 30 seconds at the i9001. (also depending on the amount of apps you have)

12. Now that your phone is successfully deodexed it’s ready to be customized! This means you can install Theme’s and Mod’s, but you can also do all other kinds of customization, since your phone is also rooted, such as installing Thunderbolt. But don’t forget to redownload the apps that you removed before deodexing ;)

I hope you’ve learned something in this tutorial, I’ve already written a tutorial about rooting, but this way of rooting is just way better then the traditional method.