Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[GUIDE] How to create a your own ROM

OP androidcustomrom

30th September 2009, 08:38 PM   |  #1  
OP Junior Member
Thanks Meter: 3
 
2 posts
Join Date:Joined: Sep 2009
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, 1770 views)
File Type: txt update-script.txt - [Click for QR Code] (2.3 KB, 2408 views)
The Following 3 Users Say Thank You to androidcustomrom For This Useful Post: [ View ]
30th September 2009, 08:48 PM   |  #2  
Zarboz's Avatar
Known Scammer
Flag Denver
Thanks Meter: 9,264
 
3 posts
Join Date:Joined: Mar 2009
Donate to Me
More
the finger print is found in build.prop is this correct and what app do you use to edit your build.prop
30th September 2009, 08:57 PM   |  #3  
OP Junior Member
Thanks Meter: 3
 
2 posts
Join Date:Joined: 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.
30th September 2009, 09:35 PM   |  #4  
Senior Member
Thanks Meter: 2
 
234 posts
Join Date:Joined: Jun 2005
how abt kernel parameters?
1st October 2009, 10:50 PM   |  #5  
Senior Member
Thanks Meter: 4
 
243 posts
Join Date:Joined: Mar 2008
More
How would one go about customizing this with Hero? Or is that not possible at this point?
30th November 2009, 05:53 AM   |  #6  
Member
Flag Moncton, NB
Thanks Meter: 3
 
98 posts
Join Date:Joined: Oct 2009
More
Quote:
Originally Posted by detox702

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
17th May 2010, 05:48 AM   |  #7  
Junior Member
Flag Dallas, Texas
Thanks Meter: 1
 
1 posts
Join Date:Joined: May 2010
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: [ View ]
23rd July 2010, 03:47 PM   |  #8  
Bhups's Avatar
Member
Flag London
Thanks Meter: 5
 
64 posts
Join Date:Joined: Oct 2006
More
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.
23rd July 2010, 04:25 PM   |  #9  
Member
Flag Aarschot
Thanks Meter: 0
 
60 posts
Join Date:Joined: Aug 2008
More
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
29th July 2010, 02:05 PM   |  #10  
Junior Member
Thanks Meter: 1
 
3 posts
Join Date:Joined: 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.
Last edited by penguinmod; 29th July 2010 at 06:14 PM.

The Following User Says Thank You to penguinmod For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes