5,593,248 Members 32,901 Now Online
XDA Developers Android and Mobile Development Forum

[GUIDE] How to create a your own ROM

Tip us?
 
androidcustomrom
Old
#1  
Junior Member - OP
Thanks Meter 3
Posts: 2
Join Date: Sep 2009
Default [GUIDE] How to create a your own ROM

How to create your own ROM update.zip for the T-Mobile MyTouch 3G

Things you will need to perform this:
Java SE Dev Kit from Sun. java.sun.com
May need Cygwin with zlib0 package, from cygwin.com


This will give you Android 1.6 with all the Google applications, Root access.
I never found one place where all this information is all together, so that is why I compiled this together.
Now anyone can do this themselves.

Thanks to all the hard work others have done before this.


1.
First Root your phone and install a new Recovery image, either Amon Ra or Cyanogens Recovery image.
Instructions for one-click root: http://theunlockr.com/2009/08/22/how...-in-one-click/

2.
Download the Android 1.6 System image from
http://developer.htc.com/google-io-device.html

extract the contents of signed-google_ion-img-14721.zip.

3.
You now need to extract the contents of system.img using a tool called unyaffs. The source code is here:
http://code.google.com/p/unyaffs/downloads/list
Or download a prebuilt win32 version here.
http://jiggawatt.org/badc0de/android/index.html
Note you may also need cygwin1.dll and cygz.dll (zlib0 package). Found at cygwin.com

Of course if you already have Cygwin installed with the GCC packages, you can just compile it yourself. Then also
if you comment out the line 67 to "// symlink(oh->alias, full_path_name);"
then it will not create the copies of the symbolic link file, and you will not have to worry about deleting duplicate
symbolic link files later.


Now in the directory where system.img exists, create a new directory called "system"
go into the "system" directory.
type the following command:
unyaffs ..\system.img

That should extract all the files from the system.img file into the system directory.

4.
Now we just need to clean up some items. Since the system.img is a linux file system, it has symbolic
links built into it, but when we extracted it, it just created duplicate files, if you used the prebuilt unyaffs.exe.
So we can just delete the duplicates and have a script recreate the symlink on install.

So we need to delete some extra files from the system\bin directory.
Run the attached DeleteExtras.bat file from the same directory where system.img is in.
If you notice, all the files it deletes are 28 byte files, and if you open them in notepad only contain:
"!<symlink>toolbox..."
And we will remake the symbolic link when it is installed.


5.
Now from the directory where the system.img is, enter the following commands
mkdir META-INF
mkdir META-INF\com
mkdir META-INF\com\google
mkdir META-INF\com\google\android


Now copy the included file "update-script.txt" into the "META-INF\com\google\android" directory
and RENAME it to just "update-script".
This update-script gets run to recreate the symbolic links.

Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.


6.
-- Optional --
These add root and Superuser access to the ROM, plus the Terminal Emulator application.

Copy the file "su" from Cyanogen's rom to the folder "system\bin"
Copy the file "Superuser.apk" to the folder "system\app"
Copy the file "Term.apk" to the folder "system\app"

You can also replace the "system\etc\apns-conf.xml" with a more complete one from here:
http://forum.xda-developers.com/showthread.php?t=547718
or here
http://docs.google.com/Doc?docid=0AZ...g3ejN3eg&hl=en

Turn data roaming off by default by editing line in the build.prop file:
ro.com.android.dataroaming=false

Also to fix the Market program to show "Protected" applications change the ro.build.fingerprint line to the following:
ro.build.fingerprint=tmobile/opal/sapphire/sapphire:1.5/COC10/150449:user/ota-rel-keys,release-keys

Only phones with a fingerprint of a "released" device can access some market applications.

--------------

7.
Now we just need to create a ZIP file for the final ROM

Zip up the following file and two folders:

boot.img
META-INF
system


8.
Now sign the zip file.
See here how to sign a ZIP file for flashing it.
http://androidforums.com/developer-1...ning-roms.html

9.
Copy it to your SD card, boot into recovery, wipe, apply the update, Reboot.
You are now running Android 1.6!
Attached Files
File Type: txt DeleteExtras.txt - [Click for QR Code] (1.2 KB, 1738 views)
File Type: txt update-script.txt - [Click for QR Code] (2.3 KB, 2370 views)
The Following 3 Users Say Thank You to androidcustomrom For This Useful Post: [ Click to Expand ]
 
Zarboz
Old
#2  
Zarboz's Avatar
Recognized Contributor / Recognized Developer
Thanks Meter 9252
Posts: 6,245
Join Date: Mar 2009
Location: Denver

 
DONATE TO ME
the finger print is found in build.prop is this correct and what app do you use to edit your build.prop
 
androidcustomrom
Old
#3  
Junior Member - OP
Thanks Meter 3
Posts: 2
Join Date: Sep 2009
Yes the fingerprint is in build.prop

Make sure to use an advanced text editor like TextPad, UltraEdit, or EditPlus. It has to handle UNIX text files.
Also use this for the update_script.
 
farbird
Old
#4  
Senior Member
Thanks Meter 2
Posts: 234
Join Date: Jun 2005
how abt kernel parameters?
 
detox702
Old
#5  
Senior Member
Thanks Meter 2
Posts: 225
Join Date: Mar 2008
How would one go about customizing this with Hero? Or is that not possible at this point?
 
raymar23
Old
#6  
Member
Thanks Meter 3
Posts: 98
Join Date: Oct 2009
Location: Moncton, NB
Quote:
Originally Posted by detox702 View Post
How would one go about customizing this with Hero? Or is that not possible at this point?
Would like more info on hot to incorporate senseui
 
JettAustin
Old
#7  
Junior Member
Thanks Meter 1
Posts: 1
Join Date: May 2010
Location: Dallas, Texas
Thanks for sharing... Got nothing to do today, so I experimented on my phone... I gotta say, I'm pretty amazed w/ this feature. Was able to sort out and organize my files.

Kudos!
The Following User Says Thank You to JettAustin For This Useful Post: [ Click to Expand ]
 
Bhups
Old
#8  
Bhups's Avatar
Member
Thanks Meter 4
Posts: 61
Join Date: Oct 2006
Location: London
How does one create the system.img file once one has the system files...

What I want to do is use some of the custom roms here and put it on an AVD emulator system.

Can someone help with this please.

NOTE: I dont have linux. So if there is an alternative to mkbootimg, it will be excellent.
 
lodewj
Old
#9  
Member
Thanks Meter 0
Posts: 60
Join Date: Aug 2008
Location: Aarschot
the ion is the 32b if I'm not mistaken?
Is there an image for the 32a or do we always have to use the ion and throw a patch over it?
Sorry if this is a stupid question
 
penguinmod
Old
(Last edited by penguinmod; 29th July 2010 at 05:14 PM.)
#10  
Junior Member
Thanks Meter 1
Posts: 3
Join Date: Jul 2010
in step 5. it says

Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.

Where do i copy the files from or download please?
thanks in advance

P.S. any tips on changing the splash screen would be much appreciated.

The Following User Says Thank You to penguinmod For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes