Related
The Almost Complete Compendium for MT4G Slide (Read This before Posting)
Note as of 12/22/2011 the ota update is not rootable (H boot 1.45.0013)
and s-off cannot be obtained. If you updated with s-off it is possible to revert back. [url='http://forum.xda-developers.com/showthread.php?t=1421258"] Reference thread [/url]
Also, people who used HTC unlock and have s-on will have trouble flashing roms that are not gingerbread based.
Table Of Contents
1. XDA Lingo
2. MT4G Slide Specs.
3. S-Off, Root, Recovery, Backup, Unroot
4. ROMS, Kernels, Fixes, Mods
5. Network (Unlocking, Backtrack)
6. Apps
7. Development Section
8. Credits
Section One
READ FIRST
READ SECOND
READ THIRD
This is really helpful if a person is new to the forums. Some Lingo, Jargon!!
S-Off: This term is used when describing the security radio. With S-on only signed ROMs may be flashed, when S-off unsigned ROMs may be flashed IE custom ROMs.
Root: This means the user will have unrestricted full access to almost the entire system stack. Another way of describing it would be, having administrator rights on a windows computer
Custom Rom: This stands for “read only Memory”. With Android OS, a custom rom allows you to change things that were un-changeable.
Hybrid ROM: When referring to the MT4G Slide. This ROM contains both HTC Sense and AOSP Theme.
(Unlocked)Bootloader: Loads the core operating system. Unlocked bootloader means users can modify what files the bootloader opens.
H-Boot: Hitting power+volume down after a power down or restart brings up the H-boot (skating androids). This is used to get into recovery and can also be used to flash files using the proper file name.
Fastboot: Fastboot is the name of a tool used to manipulate the flash partitions of the Android developer phone. It can also boot the phone using a kernel image or root filesystem image which reside on the host machine rather than in the phone flash
Zipalign: Is an archive alignment tool. The benefit of zipalign is a reduction in the amount of RAM consumed when running the application.
A.O.S.P "Android Open Source Project": Pure google source untouced by carriers and phone manufacturers.
SDK ADK: “Software Development Kit”” Android Development kit” A suite of tools that helps developers create software for the Android OS.
ADB: “Android Debug Bridge” Allows a user to control and interface with the Android OS.
SBF: System binary file. “I sbfed back to stock” Meaning, I reverted my phone back to stock using a system binary file with a stock image.
Kernel: This is the center of the computer operating system. It provides basic services to the other parts of the system.
Overclock: Forcing the processor to increase its clock rate (therefore more cycles per second). Normally used to get better performance.
Underclock: Reducing the processor clock rate (less cycles per second). This is used to get battery performance and increase processor life.
Undervolt: Lowering the voltage while still maintaining clock rate. This is used to help save power and heat reduction.
Frosted/Defrost: A term used when freezing (frosted) an application or unfreezing (defrost).
Bloatware/Debloat: The many useless applications that carriers add onto the stock os (bloatware). Debloat means that the bloatware has been removed.
Master Subsidy Lock (MSL): Many phones are sold below cost, (at a loss to the carrier,) with the expectation that the money will be recouped in the cost of the monthly service plan. The up-front loss that is later recouped is called a Subsidy.For this to work financially for the carrier, the user must not buy the phone and then use it with a different carrier.The carriers slap on a MSL so the user cannot switch service providers.The term "unlock" means to get the MSL code to free the phone from the carriers lock.
Section Two
MT4G Slide Specs.
Phone specs:
Phone Scoop
[url='http://www.t-mobile.com/shop/Phones/cell-phone-detail.aspx?cell-phone=T-Mobile-myTouch-4G-Slide-Black"]T-Mobile[/url]
HTC
Snapdragon
"Best Still Image shooter" according to PC World
T.V Out
Section Three
S-Off, Root, Recovery, BackUp.
S-Off and Root
How to find out S-On or S-Off / Booting Into Hboot
Radio - Necessary to recover botched radio install Stock Radio Another Stock Radio Thread
S-OFF for Retail (S-ON) Devices, NOTE ADDED 8/17/11
Revolutionary's site also has the root zip that is needed. Does this give me root?
Boot into H-boot, then recovery, use camera button and select "install zip from sd card". When zip is done reboot phone, check superuser.
PERMANENT-ROOT (NEW!) & Temp-Root (v2) for any MT4GS (Windows) Great Guide with very good information!
Recovery
[RECOVERY] Official CWM Recovery v5.0.2.7
Thanks Undeadk9 for install guide.
Also, if using an older ROM version of Sense On Crack, Senseless, Virtrous, etc both the system and data need to be mounted.
ROM Manager is also supported for flashing CWM Recovery. Simply download ROM manager, click flash recovery at the top. Then select our phone. Follow the directions.
Directions:
1. Make Sure Your On a WiFi connection.
2. Go here: http://www.clockworkmod.com
Go to recoveries, Download v5.0.2.7 recovery for doubleshot
3. Download Term Emulator
4. Using root explorer, move the recovery image to /data/local, then mount System r/w in root explorer, then press the home button.
5. Then open Term emulator and this....
su
dd if=/data/local/recovery-clockworkmod-5.0.2.7-doubleshot.img of=/dev/block/mmcblk0p21
Press ENTER
6. It should say transferring bytes blah blah
7. Open ROM manager and press reboot into recovery.
8. If it says v5.0.2.7 then You are done.
ClockworkMod Recovery 4.0.0.9 for the T-Mobile myTouch 4G Slide (MoDaCo edition)
*Older Version*
I took out the terminal emulator post in the thread which is how I upgraded my recovery. The words and numbers must be exact.
here is the OP Thanks
1. Download Recovery 4.0.0.9 from Modaco's website
2. Using Root Explorer, find the file in your downloads folder on the sdcard.
3. Paste the recovery img file into your phone's /data/local folder.
4. In terminal emulator, first type "su" and then type "'dd if=/data/local/doubleshot.clockworkmod.4.0.0.9.modaco.img of=/dev/block/mmcblk0p21" and let it transfer the recovery file.
Re-Cap How To Turn S-Off, Install MoDaCo Clockworkmod Recovery, and Install a Rom For Dummie
Backup (Read and Re-Read this section)
Backups - After Rooting, before ROMing, take this step
Unroot
For The What Ifs
Section Four
Roms!Roms!Roms
Difference between full rom and patch
Basic Installation of a NEW ROM
1. MAKE NANDROID BACKUP OF STOCK ROM
2. REBOOT INTO RECOVERY
3. WIPE DATA AND CACHE
4. FORMAT DATA
5. FORMAT SYSTEM
6. WIPE BATTERY STATS "OPTIONAL BUT HIGHLY RECOMMENDED"
7. WIPE DALVIK CACHE
8. INSTALL ROM
9. REBOOT
10*. LET PHONE SET FOR 5-7 MINUTES.(see below)
*The system is still building symlinks and installing things behind the scenes on first boot of a fresh installation. If you choose to play with it before the 5 minute mark, you risk losing data that has yet to be written. This can lead to buggy performance and issues the DEVS will have a hard time figuring out.
For patches
Backup
1. Wipe cache
2. Wipe davik
3. Flash Patch
4.Reboot
Stock Roms
12/Aug 1.28.531.9 r1 - HTC Doubleshot Stock ROM Rooted and decodexed
Pure Stock Doubleshot, Root/Deodex/Busybox/Opt/Zip
Ice Cream Sandwhich
[ROM][Jan 5 2012] Pyr-o-Ice ICS 0.3.0 alpha (Android 4.0.1) |Camera(photo)|FaceUnlock
Android Open Source Project (AOSP) Roms
CM7
Sense Roms
Virtrous
Crack Injected Sense
BulletProof
Touch 4G Slide DoubleShot Lite
*These Roms Have active Developer support. If I missed a ROM please message or post and I will fix.
Kernels
BoneStock Kernel
Unity V2
Kanged
Fixes, Mods
GPS Fix
Safe Bloatware Removal
Turn off system update for good
*Data Connectivity Fix
*Clutter Cleanup
*indicates stock ROM safe
Section Five
Networking(Unlock,Backtrack)
Unlock:Use method one
Another Way to Unlock the MSL
Backtrack (offensive network secruity)
Section Six
Apps
Good App suggestions and reviews
Section Seven
Development Section
This section is intended for DEVS and beginner DEVS. If you have a question ask before doing something.
MT4GS Stock App Developers Reference
Partions - memory address listing
ADB,SDK,JDK
Fastboot.Exe is in the attachments incase you did not get it. Put the .Exe in platform-tools folder.
Blue61x's Guide to setting up a fresh Dev Computer XP
ADB Workshop by Adrynalyne and Guide by Captainkrtek
Understanding Basic ADB Commands
Dev guide to adb
Key Mapping
Genius button to search
Hardware Key mapping and Flashable zips and requests
LockRing Editing
[How-To] Custom Sense Lockring on the MT4GS - easy step-by-step.Part 1
[How-To] Edit .9.png files for the MT4GS - step-by-step.Part 2
[How-To] Edit Mode10 Files for the MT4GS - step-by-step. Part 3
Tools and Dowloads
MR.Root by XMC Wildchild22 Great scripts!!!
SuperOneClick Root
Section Eight
Credits
I am adding more sections, more links and more information as well as some more jargon.
Pm's welcome for mistakes, more information, etc. ( I am human).
Thanks Blue6IX,Very involved with the creation of this compendium
I thank all the Devs, Mods,end users, supporters and noobs for helping me compile this information. I take no credit for this as it's an orangized Hub for all of our information.
Change Log: 11/02/2011 Added New CWM Recovery, CM7, Mods and Fixes section. Changed name of Unlocking section to networking. Added backtrack.
11/06/2011: Added new terminology.Updated and split the ROM section into aosp and sense roms. Added another way to obtain an unlock code. Added development Section.
11/11/2011: Added new terminology. Added new section to ROM: Hybrid. Added Doubleshot Lite to ROM section. Moved Key mapping section to dev. section. Added ADB section to dev. section. Edits.
11/22/2011: Added new terminology. Added Rom Manager is now supported for flashing CWM. Minor Edits.
12/21/2011: Updated Dev. Section and added fastboot.exe to attachments
1/05/12 : Added ICS Rom section, Added tools and download section, Added Blue's guide and XMC's root tool.
This should help clear up some of the oft-asked questions for people new to the device.
Droidmoder really put a lot of effort into making this happen!
Edit - How did I forget to click thanks on the OP? Dec 14th, 2011
Blue6IX said:
This should help clear up some of the oft-asked questions for people new to the device.
Droidmoder really put a lot of effort into making this happen!
Click to expand...
Click to collapse
Blue6IX,
thanks for your help. You helped more than you think you did!
Blue6IX said:
The system is still building symlinks and installing things behind the scenes on first boot of a fresh installation. If you choose to play with it before the 5 minute mark, you risk losing data that has yet to be written.
The system will serve you, the user, before itself, and will drop from memory things it still needs to write to process your requests. This can result in buggy performance or problems down the line, and lead to frustrating issues that developers of the ROM can't figure out - because no one else will have these problems. Please be advised of this.
Click to expand...
Click to collapse
Added to step ten.
Very nice write up =D.
ekoee said:
Very nice write up =D.
Click to expand...
Click to collapse
Yes, thank you very much! Now the goal is to keep it up to date which will probably turn into more work than you want, but thank you!
unclespoon said:
Yes, thank you very much! Now the goal is to keep it up to date which will probably turn into more work than you want, but thank you!
Click to expand...
Click to collapse
No problem.
Sent from my Crack Injected Doubleshot using xda premium
Great Job!
Suggestion: a section on key remapping? (there was a thread somewhere but never got completed)
Etn40ff said:
Great Job!
Suggestion: a section on key remapping? (there was a thread somewhere but never got completed)
Click to expand...
Click to collapse
I'm going to add this tonight. At work. I have that thread alreay
Sent from my Crack Injected Doubleshot using xda premium
Etn40ff said:
Great Job!
Suggestion: a section on key remapping? (there was a thread somewhere but never got completed)
Click to expand...
Click to collapse
Two threads actually.
Original
Then I made one for requests that people want in flashable zip form:
Requests
So technically, there is no need to 'finish' the first one, and I support my request thread as time allows. It's set up so any dev can come in and handle requests, and there are a few floating around here that would be more then happy to help.
by finish I refer to ekoee's post on shift+alt keys, either it never appeared or i could not find it at the time
Etn40ff said:
by finish I refer to ekoee's post on shift+alt keys, either it never appeared or i could not find it at the time
Click to expand...
Click to collapse
Ah, good catch - i'd forgotten about that with everything else that's been going on.
Wonder if someone will put time into figuring it out?
I bet the answer to that will also lead to the answer for getting other languages supported on the hardware keyboard.
Yeah sorry about that, I haven't had the time to start pulling apart key mappings. Ill make sure to get on it when work settles down.
ekoee said:
Yeah sorry about that, I haven't had the time to start pulling apart key mappings. Ill make sure to get on it when work settles down.
Click to expand...
Click to collapse
I thinking about moving key mapping in the dev section. Wouldn't it be more of a devlopmental thing?
Btw I'm going to refurb the dev sections with links and guides on adk adb and fastboot .
sent from my sense on crack MT4G Slide using xda premium
What does "nandroid" backup mean?
I have backed up with the recovery and I have backed up with ROM manager. What is nandroid?
sandiegoan said:
I have backed up with the recovery and I have backed up with ROM manager. What is nandroid?
Click to expand...
Click to collapse
Nandroid is what clockwork mod calls the actual backup file.
Backup means to create a backup.
Nandroid is the file backup of your system . Hence nan (small) and droid the os. So you can also say you made a small android os .
Ill add this to terminology when I get to it. Hope this helped.
sent from my Agent Orange MT4G Slide using xda premium
Very helpful info, I unrooted, but theunlockr guide stated that this would turn the phone back to S-ON, but it hasnt, i have the stock tmobile rom back on the phone, but HBOOT states I still have S-ON, is this a problem? is there a way to get S-ON again so I can start the root process over? or am is there shortcuts I can take to root now that I have S-off?
I actually do not know. I would assume s on is attainable. Why would you want s on, you can re root without going threw rev again.
Follow the root guide its easy enough.
sent from my Agent Orange MT4G Slide using xda premium
You mean the guide from theunlockr? or another guide? if its another guide please post it? as far as following theunlockr method, in order to gain perm root it stated I have to first boot into recovery, and then flash the ZIP file, but when I try to go into recovery, I get a red exclamation mark, even though I have S -OFF
Came across this useful guide for newcomers to Android, all credit goes to the original poster (appdroid)
appdroid said:
I don't take any credit I Googled everything. I do take credit of modifying some stuff in word. The idea came from here. I may have took some of his work. SO credit him and Pirateghost for the information about Android.
ADB → Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device..
Android →Unveiled on 5 November 2007, Android is a mobile operating system running on the Linux kernel developed by Google.
ASOP → Android Open Source Project
Apps2SD → Move applications from the internal NAND memory on the device to a removable SD Card.
Bloatware → Software bloat is a process whereby successive versions of apps include an increasing proportion of unnecessary features that are not used by end users, or generally use more system resources than necessary, while offering little or no benefit to its users. Like all the crap that comes from At&t
Brick → When used in reference to consumer electronics, "brick" describes a device that cannot function in any capacity (such as a device with damaged firmware). This usage derives from the fact that some electronic devices (and their detachable power supplies) are vaguely brick-shaped, and so those which do not function are useful only as actual bricks. The term can also be used as a verb. For example, "I bricked my phone when I tried to modify its firmware."[
Hard Brick → When your phone does not turn on at all. When you can’t get in to CWR/CWM Or Stock recovery. You are basically screwed.
Soft Brick → When your phone bootloops. When you can get into CWR/CWM. When You can use jigtag to get into download mode.
Busybox → BusyBox provides several stripped-down Unix tools in a single executable. It runs in a variety of POSIX environments such as Linux, Android, FreeBSD and others, such as proprietary kernels, although many of the tools it provides are designed to work with interfaces provided by the Linux kernel. It was specifically created for embedded operating systems with very limited resources. Platforms counterparts, but they are pretty close and useful nonetheless.
CWR OR CWM ClockworkMod Recovery →A custom recovery for Android phones and tablets that allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery.
DEODEX → Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file and put it back inside the apk. This allows you to easily replace file (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) and to deodex services.jar, you need to deodex everything.
Flashing → The process of applying a firmware image (or ROM) to a device. It generally entails a very specific order of steps. Failing to complete any one of these steps properly may result in bricking the device.
Firmware → is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices. Programs stored in the ROM, EPROM, or flash memory that usually control various internal electronic devices (Hard Drives, Keyboards, Displays, etc). Firmware is typically 'fixed' software that is not updated in consumer devices, however it is often updated (or 'flashed') by advanced users to fix bugs or add features to the device. Flashing firmware designed for one device onto a different device, or not following a specific procedure while flashing will often render the device unusable.
Kernel → is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components
Radio → The cellular radio on the device which needs control software called firmware to control it.
ROM → Read Only Memory. In the context of an Android device, ROM is the internal flash memory where the core operating system resides. It can also refer to a specific version firmware that can be applied to a device through a process usually referred to as flashing. An improperly flashed ROM can often brick the device, rendering it unusable.
Superuser→ A program, which gives unlimited access privileges to perform any or all operations on the operating system.
ODIN → Odin is the Samsung software used to update Samsung phones. It does not work with any other devices other than official Samsung phones.
OTA or FOTA → (F)OTA stands for (Firmware) Over The Air and is the process by which required updates and enhancements to your phone's basic operating system can be sent to you through the cellular network. The Galaxy S II software update will be sent via FOTA and is available through Samsung Kies mini.0
ODEX → In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
SDK → Software Development Kit.
Logcat → A debugging tool built into Android devices that displays system logs as they occur. See Logcat.
NANDroid → A set of tools that will enable anyone who has root on their Android device to make FULL system backups, in case something goes wrong or you want to try out that new experimental ROM/theme. NANDroid will backup (and restore) /system, /data, /cache, and /boot partitions.
Recovery Mode → A special environment that you can boot into for troubleshooting and upgrading purposes.
Kang → The process of creating a code based of someone else's code or reapplying code that someone else created into your own code (e.g. git cherry-pick)
Rooting → is a process that allows users of mobile phones and other devices running the Android operating system to attain privileged control (known as "root access") within Android's Linux subsystem with the goal of overcoming limitations that carriers and manufacturers put on some devices.
Click to expand...
Click to collapse
Excellent thread with very useful information.
Perhaps Ben could add this to his index?
olyloh6696 said:
Excellent thread with very useful information.
Perhaps Ben could add this to his index?
Click to expand...
Click to collapse
I'll PM him requesting him to do that or does he just choose?
mmmcfc said:
I'll PM him requesting him to do that or does he just choose?
Click to expand...
Click to collapse
Both
Sent from my iPod touch using Tapatalk
OK ... will do
Couldn't find ben's thread but PM'ed Nodeffect.
Great thread! I was planning to write some sort of glossary for newcomers, but the structuring of such thread is still not appearing in my mind. Too much info to share...
But this covers some stuff
Sent from my Desire S using Tapatalk
Thanks for this, it has been added to the complete guide.
Hi guys .You all know me.
I have created this thread for the sole purpose educating every newbie and noob about ROM and it's components...
Here goes
Parts of a ROM
i. The kernel.
Android (like many other Smartphone operating systems) runs on the Linux kernel. The Linux kernel was created in the early 1990’s by a gentleman named Linus Torvalds in Helsinki, Finland. It’s incredibly stable, incredibly friendly, and incredibly difficult for the layman to understand and modify. Thankfully it’s also very popular so it has been ported on to a multitude of hardware, including our Android devices.
Think of the kernel as an interface layer between the hardware and software on your device. The kernel decides when things happen, such as the LED indicator gets lit or when the soft button's LED gets lit. An application sends a request to the operating system to blink the LED. The operating system then sends the request to the kernel, which makes the light flash for the amount of time requested by the OS.
What sounds like a round-about way to get things done is also what makes the system so scalable and robust. Application developers only have to code in a way the operating system understands and the kernel makes it work on the hardware. This also keeps the application running in it’s own user-space and separate from the kernel. That means when you run the latest uber-cool app that wasn’t designed for your particular OS version, or is still very beta and it crashes, the kernel gives you the option to Force Close the application and the kernel can run untouched.
In a standard Android ROM (we will leave developer images and the like for another discussion) the kernel is bundled along with a set of instructions that tell the device how to load the kernel and the OS during boot. This is the boot.img that you see inside a zipped ROM that your not able to easily open. The device knows to extract this image to internal memory (the ramdisk) and follow a series of scripts (init scripts) to load the kernel and then the other portions of the OS. That’s what’s happening while you’re watching the boot animation. Interestingly enough this is done the same way for a PC, your smartphone, an Android tablet, or even a smart Linux powered toaster. If you’re feeling exceptionally geeky, plug your Android phone into the USB port on your PC and let the PC boot from the USB device. No, it doesn’t actually load, but you can watch the animation while it tries to match up the hardware support with what’s inside your PC. As I said, Linux is amazingly scalable and as a result so is Android.
What is a kernel? If you spend any time reading Android forums, blogs, how-to posts or online discussion you'll soon hear people talking about the kernel. A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
Click to expand...
Click to collapse
ii. The operating system.
Once the kernel is loaded, the init scripts tell the Operating System to load. Android is the user interface for a custom built Java virtual machine called Dalvik. Dalvik was written by Dan Bornstein, who named it after the fishing village of Dalvik in Iceland, where his family originated from. The debate of which Java VM is superior is best left for another discussion, so I’ll simply say that DalvikVM is a register-based machine versus true JavaVMs which are stack based.
The Dalvik machine creates executable files (.dex files) which can be interpreted by the OS and run by the end user. These .dex files are OS version dependant. That simply means that applications and core functions built to work with one version of Android may or may not work well with other versions. Google provides the tools through it’s Software Development Kit (SDK) for applications to communicate with the OS.
Click to expand...
Click to collapse
iii. Core functions.
No smartphone would be complete without a set of functions that allow the device to be used as intended. Things like the phone and dialer interface, the calendar, the messaging system are core functions of the Operating System. In Android, these are run on top of the kernel as separate applications. The merits (or lack of) of providing these needed functions as separate applications is once again best left for another discussion, but this is what allows developers like HTC or Motorola to replace the standard functions with alternatives that provide a different look and feel from stock. HTC’s onscreen keyboard or Motorola’s MotoBlur contact list are great examples of this. The “little guy” isn’t left out of the mix either. Handcent SMS or Chomp SMS can integrate into the OS very well, as most of us already know.
An additional set of Core Functions are provided by Google. Popularly called GoogleBits, things like Gmail, sync, Gtalk and the Android Market are applications written by Google that give an extra set of useful functions to the OS. You’ll find these on all smartphones, as well as many other Android devices.
Click to expand...
Click to collapse
iv. Optional applications.
These are applications provided by the manufacturer to give the device even more usability. Things like the Amazon MP3 store, PDF readers, Corporate Calendar etc. allow you to do even more with your device. Remember - Droid Does
Click to expand...
Click to collapse
B. How is a ROM packaged?
In most cases a ROM will come packaged in a .zip file. The recovery image’s kernel (yes, it has one too!) has the ability to unzip and copy the contents into the correct place. Inside this zip file is a folder (META-INF\com\google\android\) that contains a script prepared by the ROM “cooker” (another of those techie terms - it means the person(s) who developed the ROM) that tells the system what to format, what to copy and where, and any file operations that need to be done. Each device does things a bit differently, but this script is where it all gets done. More on this folder later.
You’ll also see a /system folder. This is the meat of the ROM. It has the necessary OS files, the Core functions, and any optional applications the cooker decided to include. The folder is structured the same way it is on your device - /system/app, /system/framework, etc. The whole tree is usually copied over and the existing /system folder is overwritten. The cooker uses the script to tell the kernel to erase the existing system folder, copy the new folder over, and set the file permissions.
Sometimes you will also see a data folder. This usually is space set up for optional applications, including optional system tools like busybox or SuperUser white list. These applications could be placed in the /system folder, but placing them in the data folder makes it easier for the end user (you and I) to remove or update them as needed.
You’ll also notice a META-INF folder. This contains the update script we talked about earlier, as well as secure keys that need to be provided so the device knows the update can be trusted. A special note needs made here. Trusted means that the update is trusted to be in the correct form to load the device. It in no way means the ROM is safe from malicious code. Anyone is able to use a set of test keys and create a ROM that will flash and run your device - even those people with bad intentions. Flashing and running a custom 3rd party ROM is putting faith in the cooker that he or she not only knows what they are doing, but are honest as well. Also, some Motorola custom ROMs will have a small update.zip stored inside this folder to be run on first boot of the device.
Finally we are left with the boot.img file. This is the kernel and ramdisk image we discussed earlier. Your phone copies this over to be decompressed and run when the device boots.
Click to expand...
Click to collapse
2. How do I install a ROM?
In this section we’re discussing how to install a custom 3rd party ROM. ROMs from the manufacturer usually have a utility that runs on your PC to flash and load the new image.
A. Got Root???
Yes ?:good:!!!
Custom ROM’s simply will not load on devices that aren’t rooted. In theory, it may be possible to sign a 3rd party ROM with the keys that the stock recovery image will flash, but for the most part you need to have flashed a custom recovery image before you can change your device’s ROM. Instructions and tutorials on how to root your device are all over the internet. Some are good, some are bad. The hacking forum is a great place to go and learn more about rooting and how to successfully get it done on your device.
Click to expand...
Click to collapse
B. Recovery
Most Android devices have had a custom recovery image written for them. This will overwrite the stock recovery image, allowing you to flash 3rd party ROMs as well as giving extra functionality. Help with finding and flashing the custom recovery image for your device can also be found in the hacking forum. The installation of a custom recovery image also allows for a very important function. Backup and restore.
Click to expand...
Click to collapse
.C. Nandroid
Nandroid is a set of bash scripts and code written by that copies the state of your system and stores it in a folder on your SD card. You can then use the restore function of Nandroid to restore to this point at any time. This is a priceless feature and reason enough to root your phone. It’s included by default in most custom recovery images, and the code is freely available to use if you’re inclined to write your own recovery image.
Click to expand...
Click to collapse
In most situations, using Nandroid to back everything up is easy:
1. Verify you have a memory card with enough free space (~300MB to backup, ~500MB to restore).
2. Reboot your device into recovery. It’s slightly different for each device, once again hacking forum FTW!
3. Navigate through the menu and select the Nandroid Backup function.
4. Apply your choice and wait for the device to tell you it’s finished.
It’s always good practice to copy the entire nandroid folder from your SD card to a safe place. You can then copy it back to the SD card if the card is ever damaged, lost or erased.
D. Copy and Flash
You’re rooted, have downloaded a custom ROM, have your system backed up and are now ready to flash your device. This is not nearly as scary as it sounds.
1. Mount your SD card to your PC, and copy the .zip file to the root folder of the card. Don’t unzip the file, and don’t look for a folder called root. The root folder in this case means the base folder, what you will see when you mount your card to a PC or the device.
2. Reboot your phone into recovery.
3. Navigate through the recovery menu and select the flash update option. Depending on your recovery image, the file may need to be named update.zip, or you may be able to select any zip file on your card as long as it’s the correct format. The cooker knows this as well and if the ROM needs to be named update.zip it will be.
4. Apply your choice and wait for your device to tell you it’s finished.
5. Reboot.
Click to expand...
Click to collapse
It’s worth noting that many times a new ROM will require that you wipe and factory reset your devices data. While inconvenient, it’s often necessary to get rid of the old data as it may be incompatible. As long as you’re using the cloud for calendar and contacts, they will be re- downloaded and stored back on your device automatically.
Credits
The internet
And other sites related to android development
And of course me
My Galaxy R forum friends !!
ERRORS encountered in CWM Recovery
.
What is CWM Recovery ?
ClockworkMod Recovery is a custom recovery for many Android devices. It is considered to be the most popular recovery for Android due to its easily-ported nature, and integration with ClockworkMod ROM Manager by Koush(Koushik Dutta). The easiest way to recognize it is by the printed name when it first starts, and the background logo of a gear and hat.
Click to expand...
Click to collapse
ERROR STATUS 6
This is usually caused by CR/LF EOL(Windows style End Of Line) in updater-script. Change it to LF EOL(Unix Style EOL) using Linux command: dos2unix updater-script, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
ERROR STATUS 7
This is usually caused by a corrupt download, or bad file signature. Re-downloading (or re-signing) the ZIP will usually fix this.
Click to expand...
Click to collapse
We have been consistently seen and heard people facing error “Status 7″ error while trying to flash or install
custom ROMs or firmware packages on their Android smart phones or tablets with ClockworkMod Recovery. Many
of the users are nowadays facing this problem with CWM Recovery while flashing .zip files of modded or custom
Ice Cream Sandwich (ICS) or Jelly Bean (JB) ROMs on their devices. So, you have also downloaded a custom ROM,
placed its .zip file in your phone’s or tablet’s SD card, booted into ClockworkMod Recovery, selected – “install zip
from sdcard” and then chosen the .zip file of the ROM to get it installed on your device. But instead of getting
flashed successfully, if you are facing the issue mentioned below, then just keep reading this article to find out
what’s wrong and fix up the problem :
Finding update package…
Opening update package…
Installing update…
Error in /sdcard/custom-jelly-bean-rom.zip (Status 7)
Installation aborted
Click to expand...
Click to collapse
or the following error right after CWM recovery shows –
Installing update…
assert failed: getprop(“ro.product.device”) == “I9103″ || getprop(“ro.build.product”) == “I9103″ || getprop
(“ro.product.board”) == “I9103″
Error in /sdcard/android-4-1-1-ics-rom-latest.zip (status 7)
Click to expand...
Click to collapse
So, if you are facing any of these errors while trying to install the desired custom ROM package on your Android
phone or tab, then you may try a various things or steps which may turn out to be the workaround of this
problem. Here are a few tips to get this “Status 7” error fixed in ClockworkMod Recovery and flash the ROM
successfully on your device :
(1) First of all, make sure your device’s bootloader is unlocked. If it is already unlocked but you are still
not able to flash the ROM, then just extract the .zip file of the ROM into a new folder, find the boot.img file from
that directory and flash it up on your phone or tablet via fastboot on your PC.
(2) Make sure that you are having the appropriate Radio or Baseband version installed on your device which is
supported by the custom ROM you are trying to flash. Most of the ROMs requires the latest version of Baseband, so
just update or upgrade your device to the latest Baseband version and then try to install the ROM once again.
(3) Update your device to the supported / latest build of official firmware before trying to install the ROM. You can
do it from – Settings > About Phone / Device > Software Update.
(4) Make sure you are having the supported or required kernel installed on your phone or tab. If it’s not, then flash
a new kernel right away and try to install your custom ROM once again.
(5) Is the ROM which you are trying to flash really works ? Find out whether it is working for other users or not.
Click to expand...
Click to collapse
NOW
ERROR STATUS 0
This is usually caused by an incompatible update-binary in edify ZIPs. Replacing it with a compatible one, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
Now it's time for the partitions :good:
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
In addition, there are the SD card partitions.
/sdcard
/sd-ext
Note that only /sdcard is found in all Android devices and the rest are present only in select devices. Let’s now take a look at the purpose and contents of each of these partitions.
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
/system
This partition basically contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. To learn more about this partition and its contents, see the ‘About Android Recovery’ section of our guide to ClockworkMod recovery.
/data
Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
/cache
This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
/misc
This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
/sdcard
This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.
On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.
/sd-ext
This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.
With this, we conclude our tour of Android partitions. Now whenever you install a ROM or mod that requires you to wipe certain partitions before the installation, you should be in a better position to know what you’re losing and what not and thus, you’ll know what to backup and what not.
Nice thread, maybe add error status 0 for CWM
Sent from my C6603 using xda app-developers app
krabappel2548 said:
Nice thread, maybe add error status 0 for CWM
Sent from my C6603 using xda app-developers app
Click to expand...
Click to collapse
Done !!!!
Great thread, You are seriously doing well.:good:
MY thanks just ended
will use the mob app to thank u bro !!
After all you inspired me for this thread not
Moved to android general as per OP request.
I've done some research but many sources seem to either use the terms interchangeably or as separate items. I figured no better place than get the info directly from xda users. So basically I am trying to figure out what the differences are between an android app, and android OS, and android firmware. Your explanation will be much appreciated.
Also while i'm here if anyone could tell me what the difference in unlocking a phone, rooting a phone, and flashing a phone is that would be great.
Thanks in advance!
Az Tek said:
I've done some research but many sources seem to either use the terms interchangeably or as separate items. I figured no better place than get the info directly from xda users. So basically I am trying to figure out what the differences are between an android app, and android OS, and android firmware. Your explanation will be much appreciated.
Also while i'm here if anyone could tell me what the difference in unlocking a phone, rooting a phone, and flashing a phone is that would be great.
Thanks in advance!
Click to expand...
Click to collapse
What a bunch of questions All informations are already written doen on XDA but i'll post a short overview
app = installable appliction e.g. a camera app or messenger app
OS = operating system ~ the installed Android version (e.g. Gingerbread 2.3 or KitKat 4.4). Can be preinstalled "stock rom" or a manually installed "custom rom"
firmware = all system partitions bundled in one archive. Can be used to restore phone. Every manufacturer has its own firmware format.
unlocking = Either sim unlock for using all providers OR unlock the "bootloader" which is needed for some phones if you want to install modified software e.g. a "custom rom" or "root acces"
"root access" means ability to read/write/delete to all partitions even e.g. system
"flashing" describes the installation process for e.g. a firmware or custom rom or any other system parts that can't be installed via Android itself.
You might be confused of many terms in Android if you are a new developer or new to android. Here I got some meanings of these terms. Please give me some thanks if this topic helps you.
i. Root - Talking root access means that you have gained the full control of your device. You have made the system directory as read/write. When you buy a device there may be some files which the manufacturer deter to modify or delete since doing this may hamper the working of your device. But by gaining root access you can have the control of your visuals and looks of your phone. It is somewhat similar to the Administrator of Windows OS.
ii. The bootloader is a line of code that is executed even before your Android operating system boots up. The bootloader’s code is specific for each make and model of the many Android devices. Bootloaders come “locked” because the device manufacturer doesn’t want you tinkering with the software that they worked so hard to optimize for that particular piece of hardware. Unlocking the bootloader allows you to tinker with the phone’s firmware, or even replace it with a custom firmware (aka: ROM). It is important to note that unlocking your bootloader will erase all data stored on your phone, essentially putting it back to a “factory reset” state, so you’ll want to save any pictures, music, or any other important files that are on your device.
iii. Recovery - Once your bootloader is unlocked and you have rooted your device, you will need a custom recovery. A recovery is a piece of software that is called up separate from the actual Android operating system. Its purpose is to make changes to the Android OS at a core level, such as delete user data, apply updates and more. The stock recovery is limited in function, so if you are planning on modifying/hacking/rooting your phone, you will need to install a “Custom Recovery” such as Clockwork Mod Recovery. A custom recovery will allow you to make backups, restore them, wipe partitions, install custom software and more.
iv. Backup / Nandroid - Once your custom recovery is installed, you will want to make a backup (also known as a Nandroid). A Nandroid is simply a complete and total backup of your phone. It will store all of your data, apps, settings, SMS messages, and more, basically allowing you to restore your phone to the exact state that it was in when you made the backup.
v. Wipe - Now that your backup is made, you don’t have to be afraid of making changes to your phone or losing data, since you can always restore it (just be sure to not delete the backup!). Now you can “wipe” your phone without worry. Wiping is deleting all the user data from your phone, essentially resetting it to its factory state. You can also wipe (ie: delete) other partitions of your phone like the cache partition. It is always recommended to wipe your phone before installing a custom ROM (we’ll get to that in a second). You can wipe your phone via the custom recovery you installed.
vi.Flashing - Flashing is the process of installing some sort of software or code via your custom recovery.
vii. Flashable ZIP - A flashable ZIP is the actual file that you install or “flash” via the custom recovery to make changes to your phone’s software. It is a normal .zip file that contains the lines of code to modify your software. These Flashable ZIPs can be used to flash a ROM, Kernel, Radio, mod, and more, which we will define below.
viii. ROM - A ROM is the main firmware or operating system that your phone runs. Just like Windows 7 runs on your PC, or Mac OSX runs on your Macbook, a ROM is the main software you interact with to use your phone. It includes all the system apps (messaging, email, phone), the launcher, the notification bar…everything really. Google’s Nexus line runs a “stock” Android ROM (meaning it’s unmodified) while manufacturers make significant changes to the look and feel of their ROMS before they ship them with your phone (for example: note the difference between the Samsung Galaxy S III’s software and the software on LG’s Nexus 4) . Code-savvy developers have taken the manufacturers’ code and created their own “Custom ROMs”. These ROMs can dramitically enhance the look and feel of your phone, and often add tons of useful features. Two very popular custom ROMs are CyanogenMod and MIUI. A ROM is made for a specific model phone and comes in a Flashable ZIP file that is installed (“flashed”) via your custom recovery.
ix. Kernel - Unlike a ROM the Kernel does not alter the look and feel of your phone, but is a “deeper” line of code that rests beneath the surface, so to speak. It tells the software how to interact with the hardware.
Deleted
guitarboy021 said:
Thank you so much man. This is EXACTLY what I was looking for! I saw ur post on my thread and followed it. Thanks man. Ill definitely give this one a try.
Sent from my LG-E988
Click to expand...
Click to collapse
Thank you. Go to this thread of mine to know about Custom Recovery and flashing it http://forum.xda-developers.com/showthread.php?t=3046718
Thanks a lot!
seemeandyou said:
Thanks a lot!
Click to expand...
Click to collapse
If you are helped then please hit the thanks button