Need Some Assistance Editing Roms - G1 Android Development

I hate to make a thread on this but would like to get started soon with learning how to root roms and add the kernel for multitouch and tethering. This is more for my personal use since I just want a stock rom with all the root benefits like jf use to and theses are the questions I have.
1. Will I have to take the update.zip file and extract everything and modify it then resign and I'm done?
2. I read some info on adding busybox and root which seem easy but when I run the chmod command and such everything will be through adb and the files will be on my pc so do I just make sure its all in the right directory and file path?
3. Where are the wallpapers stored in builds along with animations I will be looking into the framwork/framework-res.apk later but still curious
4. The modified kernel for tethering and multitouch is located where along with the market.db file?
5. What is meta.inf and how easy is it to make the cpu 528mhz standard also not sure what BFS and ASOP are haven't been keeping up.
P.S. I would really appreciate some help on this and I don't mind reading if this information is somewhere else so please provide a link and as always gotta show love to those who started this like JF, Hakuro, Cyanogen, Drizzy, and many more like daproy and kornub did a lot of helping.

I hate to make a thread on this
Click to expand...
Click to collapse
You mean you hate starting threads in the correct place?

Thats a fine line here. Although it is a question, it is specifically a development question. Its not a which rom do i choose?
Although android is "open source" these people dont give a **** about people trying to learn how to develop. They will pull the google line or something.

yeah me 2
Trying 2 learn

Im a noob, so I can only answer two of thosew questions
1. Anytime you modify your update.zip you will have to resign before trying to flash it onyour device.
5b. BFS: Brain **** (simple) Scheduler, something to do with the priority of running proccesses or something http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler. AOSP stands for Android Open Software Project, which i believe is just googles standard rom really (but I may be wrong)
I recommend you try out this rom though, kind of like JF but for Donut http://forum.xda-developers.com/showthread.php?t=538456

Very Sorry, double post

Thanks! I'm actually using that rom and its what has me so interested in this cause I hate having to flash another update.zip to get the full root benefits when JF just made everything available in one nice package but looks like I will just have to go through trial an error unless I get some more feedback cause switching between cyan 4.1.11.1 and JF1..51 is killing me and taking up space on my card.

With my little to no knowledge, replacing the boot.img and some files in system/bin with the ones provided in theofficial expansion pack should give you all that you need. With no extra apps.

yeah me 2
Yeah me too

Related

Sapphire ROM HowTo - request for info

I'm Linux & BSD literate, and used to administering servers, compiling programs and kernels from source. I've also managed to root and flash my Magic, following advice found here. What I'd like to do is gather up some info on how to build ROMs for the Sapphire platform.
I'm already poking around the Android Wiki FAQ and the Dream dev forum on this site. There's quite a bit of info there but some of it is out of date and I've not found much that's Sapphire-specific. I also plan to take apart the .zip files released by Haykuro and others and compare/diff configs to get a feel for things.
My intent is to put together enough info to allow anyone to pull apart a released ROM and replace the dialler, add some language support or some extra apps, maybe make some other simple changes.
What I need is any pointers on:
1. Sapphire-specific info.
2. Any danger of bricking my Magic by messing around with home-made ROMs.
3. Anything else that might be useful.
Hopefully I'll be able to put together a rudimentary HowTo for the wiki, which others can add some fine-tuning and extra info to.
Thanks for any input.
I think this is a very good idea!
It would simplify things if everybody would understand how exactly custom ROMs are created.
1 - Be aware that there are different Magic HW versions...
2 - I don't think you can brick your magic as long as you make backups via nandroid.
3 - A few things I think should be in the wiki :
- how to completely setup a linux environment and which applications you need to be able to build custom ROMs.
- Explain how the android OS is working, explain what boot, hboot, recovery, system is, how the partitions work, etc..
- What are test-keys, what is the difference with and release-keys.
- How to sign.
- How to dump the recovery.img, boot.img without having root access.
- What to change into the recovery.img and boot.img to get root.
- How create an update.zip
- How to make backups with nandroid and how to restore them..
Agreed think this would be a fantastic idea, unfortunately it seems like the people in the know are not willing to share any of their knowledge =o(
Do keep us up to date as to what you find by dissecting the ROMs, had a look the other day briefly but didn't have time to play yet,
Also waiting for info/confirmation that as long as you just flash bad roms its not possible to brick your phone only if you play with SPL's and such
fxn said:
Agreed think this would be a fantastic idea, unfortunately it seems like the people in the know are not willing to share any of their knowledge =o(
Click to expand...
Click to collapse
Oh, I'm sure the knowledge is scattered around the place - sharing is one thing, bothering to document is quite another!
The only thing I don't expect to find openly shared is traceable leaked material, and frankly I can live without that.

Tattoo Port 10.16.09 Qtek is my hero

This is still not a bootable build
update 10/16/09 ------
Qteknology has got it booting to splash screen but its in a bootloop
this amazing progress
everything i do will be based off this work from here on out thans so much Qtek!
ill need to get some information on what exactly he changed but i know
modified build.prop
modified hw folder
modified bootscreen (tattoo one wouldnt play right)
still wont boot all the way waiting to work out a few things before i post a link i also wanna ask him if its ok for me to post a link
THIS BUILD WILL NOT BE FLASHABLE YET IT IS SPECIFICALLY FOR INPUT/Developement ONLY!
Code:
*****!!!!!! DISCLAIMER!!!!!!!*******
This is still not a bootable build
i am not responsible if you try to flash these roms
for any damage that may occur to your device
these are not finished and are not bootable
still in EARLY EARLY EARLY BETA!
This is about where im at right now
closed-10.07.09
Tattoo Only from the WWE 1.65.405.1 build
Merged lib and hw (for sensors) folders with 1.6 doughnut for magic 10/13/09 will try new lib folder idea tonight and report back with logcat and DDMS report
Specific items will be listed later today when i can think of everything
added some stuff in system/bin (super user access etc)
cyanogens 4.1.11.1 kernel and corresponding wlan.ko added (Thank you so much jubeh for the boot.img)
update-script should be super barebones... really just hoping for a boot right now
______________________________________
Update 10/07/09
so Jubeh might be my saviour He packed the Tattooboot.img with cyanogens kernel
A big thanks to: Jubeh(wouldve never got this far without his knowledge),Nk02(for dump used), Drizzy Drake Rogers(is my personal htc hero),Qteknology (you rock man), Jac, Haykuro, Cyanogen, ccyrowski,JF,twizzzzzzted and any others I forgot to mention you guys are great lets keep building a better bot
you cant mixe 2 different builds together, rosie is tied to many apps, so if you were to only try and port the rosie onto a hero build already out, then rosie wont load just your regular laucher!
mixing builds is bad, especially if they are odex!
Drizzy~
I have a night job and I'm getting ready to sleep. Sorry I didn't reply to your last PMs, but the questions are a little involved and I'm very very sleepy. When I have time (maybe later today, or tomorrow, or could be the weekend) I'll try to get a very simple (no a2sd, no compcache, no nonsense, no nothing, just tattoo and root) build working so that people can take it and mod it as they wish. I won't promise anything though, I'm a known procrastinator.
jubeh said:
I have a night job and I'm getting ready to sleep. Sorry I didn't reply to your last PMs, but the questions are a little involved and I'm very very sleepy. When I have time (maybe later today, or tomorrow, or could be the weekend) I'll try to get a very simple (no a2sd, no compcache, no nonsense, no nothing, just tattoo and root) build working so that people can take it and mod it as they wish. I won't promise anything though, I'm a known procrastinator.
Click to expand...
Click to collapse
Id feel alot more accomplished if i can make it work with a small ammount of direction (ill try not to ask REALLY stupid questions hahaha OMFG I BRICKED
coding makes all kinds of sense to me I jsut need to know what points where and where the system starts the read from
starts at kernel and kernel on firstboot compiles my libs and runs scripts once the environment is built from kernel loads framework and apps stuff like that
once that happens you have live system
Drizzy Drake Rogers said:
you cant mixe 2 different builds together, rosie is tied to many apps, so if you were to only try and port the rosie onto a hero build already out, then rosie wont load just your regular laucher!
mixing builds is bad, especially if they are odex!
Drizzy~
Click to expand...
Click to collapse
i knew about the odex thing becuase the odex is SPECIFIC to the build correct? when you add it i think youll get a error like doesnt match stored signature no signature on file ignoring in logcat
i need a NON Odex'd hero like haykuro's and update it all with tattoo stuff and the newest hero apps to fill in where tattoo doesnt cut it
I know rosie is tied in with alot of stuff and when you just try to merge rosie it wont parse properly because it needs the sdk4 to parse the package
THEREFORE! haha i want to make basically 1.6 Rosie with hero apps filling in for the tattoo ones that i dont wanna edit all the drawables in
i want functionality of 1.6 speed of the dumbed down rosie for tattoo and apps from hero i know ill have to cook this and in no way am i asking someone to "just make update.zip so i can flash"
lets limit me to 1 n00b question a day and after a week or so of patience ill prolly have it done
Question of the day: Can I Un ODEX builds or do the ODEX's directly correspond with the apk and are necesary for the apk's functionality i know that dexopt will run at firstboot on odex'd builds but the odex's exist before the dexopt runs right?
yes you can unodex. http://jf.andblogs.net/2009/09/10/slay-those-pesky-odex-files/#more-153
alritewhadeva said:
yes you can unodex. http://jf.andblogs.net/2009/09/10/slay-those-pesky-odex-files/#more-153
Click to expand...
Click to collapse
then ill see if unodex'd tattoo and unodex'd TwiztedZero6.14r3 can play nicely together :-D
sounds like a headache to unodex the whole build
*shoots self in head* this will take almost a week man i need my own computer
the classes.dex items go back into the apks right? (sorry that makes 2 stupid n00b questions today
NEVER MIND SCRATCH THIS WHOLE ENTRY
per mister drakes words
dont mix builds its bad!
so build off this droid i will
ok so last night i compiled the two different ideas weve had
1) Mashed Tattoo's APP/framework and merged the lib folder with TwiztedZerox6.14
2)Tattoo Alone with Cyanogens kernel and bin xbin folders and some build.prop changes for LCD DPI density changed from 120 back to default
On test flash i get the same message from both update scripts
(the update scripts had been pulled from the latest cyanogen update to be used in my build)
problem line 64 Chown perm *some numbers* bin:reboot
on both update zips tried editing the update-script and it still has issues
any ideas anyone?
Zarboz said:
ok so last night i compiled the two different ideas weve had
1) Mashed Tattoo's APP/framework and merged the lib folder with TwiztedZerox6.14
2)Tattoo Alone with Cyanogens kernel and bin xbin folders and some build.prop changes for LCD DPI density changed from 120 back to default
On test flash i get the same message from both update scripts
(the update scripts had been pulled from the latest cyanogen update to be used in my build)
problem line 64 Chown perm *some numbers* bin:reboot
on both update zips tried editing the update-script and it still has issues
any ideas anyone?
Click to expand...
Click to collapse
in /system/bin from system.img there is a toolbox symlink "reboot" ? if there is, you have to remove it (because all symlink must be create during installation, as write in update-script)
its actually easy to edit the script ... check every line and try to see! what it is doing , you shouldn need xbin at all, remove all lines about it for now, no busybox nothing
as nk02 said remove all links (do you use linux ?) and then your script hould copy system and data , make a symlink for app_s and change some permissisons that's it.
so clean upp the script , and make your own. I will pst one for you here , make sure you have all files in your system ...
shwan_3 said:
its actually easy to edit the script ... check every line and try to see! what it is doing , you shouldn need xbin at all, remove all lines about it for now, no busybox nothing
as nk02 said remove all links (do you use linux ?) and then your script hould copy system and data , make a symlink for app_s and change some permissisons that's it.
so clean upp the script , and make your own. I will pst one for you here , make sure you have all files in your system ...
Click to expand...
Click to collapse
thanks started using textpa and now my update scripts are fine got the hero+tatto mashup to boot but its giving me all kinds of odex issues
im gunna have to find a UN odex'd hero to mash it with and un odex the tattoo build
havent worked on the ONLY tattoo with cyanogens kernel yet i got busy and i dont have a tester phone just my mytouch and i cant go more than 3 hours with out being able to use it haha
no im not on a linux machine i am still getting comfortable with command line functions and have been doing nothing but reading the android developers page and anything linux related on the internet
my betas are uploading right now neither will boot one boots enough to get into logcat but because i mashed the odex'd builds together i know i know im a bum and i didnt wanna deodexarnt the whole thing (take time to do it right and never do it twice)
next on my list of things to try
get unodex'd hero build and unodex tattoo then mash
see if i cant just get straight tatoo to boot then trim the resolutions of the rom to fit on our 32b devices
any input is greatly appreciated
Zarboz said:
thanks started using textpa and now my update scripts are fine got the hero+tatto mashup to boot but its giving me all kinds of odex issues
im gunna have to find a UN odex'd hero to mash it with and un odex the tattoo build
havent worked on the ONLY tattoo with cyanogens kernel yet i got busy and i dont have a tester phone just my mytouch and i cant go more than 3 hours with out being able to use it haha
Click to expand...
Click to collapse
You can use my Hero build, it's unodexed.
maxisma said:
You can use my Hero build, it's unodexed.
Click to expand...
Click to collapse
wouldnt i need to unodex tattoo as well to ensure that they will work together?
i assume yes since the whole build would be unodexed
**edit**
wich one your new drizzy stuff or the old one thats in sapphire forums
yes would be need to unodexed too.
Can anyone deodexerant the tattoo dump I have no Linux machine
Zarboz said:
Can anyone deodexerant the tattoo dump I have no Linux machine
Click to expand...
Click to collapse
virtualbox ?
Help!
I am willing to help with the Deodex if I can, I already started doing something similar to you but against the latest Cyanogen experimental build which is already Donut.
I am trying to Deodex Tattoo but am struggling, I am trying to get my head round what we need to do to deodex it.
According to the readme of deodex you need to have the phone running the exact firmware you want to deodex (I don't have a Tatoo or know anybody who does), or use a CH Root environment to do it.
This is where I get stuck, are they on about a CH root environment on our phones or within my Unbuntu environment (it is not very clear)? Can somebody give me a clue or even better instructions on the CH root process required to use Deodex?
Thanks
James
james194zt said:
I am willing to help with the Deodex if I can, I already started doing something similar to you but against the latest Cyanogen experimental build which is already Donut.
I am trying to Deodex Tattoo but am struggling, I am trying to get my head round what we need to do to deodex it.
According to the readme of deodex you need to have the phone running the exact firmware you want to deodex (I don't have a Tatoo or know anybody who does), or use a CH Root environment to do it.
This is where I get stuck, are they on about a CH root environment on our phones or within my Unbuntu environment (it is not very clear)? Can somebody give me a clue or even better instructions on the CH root process required to use Deodex?
Thanks
James
Click to expand...
Click to collapse
take my tattoo only build unzip it and take the update script delete the line about system:xbin save and resign then flash this will load the android environment through cyanogens shell for the tattoo i just dont know if it will display anything on the phone itll probably have a bunch of errors in logcat
i just havent gotten this far yet because i dont have a phone that i can flash just to test stuff all i have is my mytouch and i cant afford to be without it for very long and i dont know how to boot custom roms on emulator nor do i think we can boot this due to htc parts missing from the SDK
next on my list to try....
*****************
-get virtualbox up and going and deodexarnt the tattoo build (i think itll boot enough to get dalvik manager to run so we can deodex it)
-once deodexed i would like to see if i can get this thing to boot standalone (if the standalone i have now will boot {not been able to test yet like ive said no device to test with} if the standalone is being a big pain in the [email protected]# and not booting properly or we have issues with screen size differences ill have to stop because my knowledge of these things is limited..)
we cant deodex tattoo without being booted into tattoo
so
oh well for that
lets work on getting original tattoo to boot so we can deodex and build off it
if anyone has started to do these things or is already in the process of doing these things please let me know
Zarboz said:
next on my list to try....
*****************
-get virtualbox up and going and deodexarnt the tattoo build (i think itll boot enough to get dalvik manager to run so we can deodex it)
-once deodexed i would like to see if i can get this thing to boot standalone (if the standalone i have now will boot {not been able to test yet like ive said no device to test with} if the standalone is being a big pain in the [email protected]# and not booting properly or we have issues with screen size differences ill have to stop because my knowledge of these things is limited..)
we cant deodex tattoo without being booted into tattoo
so
oh well for that
lets work on getting original tattoo to boot so we can deodex and build off it
if anyone has started to do these things or is already in the process of doing these things please let me know
Click to expand...
Click to collapse
went through about 15 flashes last night
none booted
the furthest i got the logcat is posted on the OP
i have two more ideas but i need someone to pack my boot.img for me for one of them (i know i should have my own linux machine but im not about to download anything over 100 megs on my tether SLOW!)
and the other ill work on tonight and see if i cant get it to work
So I have a bootable Tattoo build. is that all you need? Different phone but I don't see why it matters. I can unodex but I don't see the point... Tattoo and Hero share a lot of apps and functionality. All I see are cosmetic changes, which I'm working on as well. But, if you tell me what to run I can have it posted within the hour.
I'm not sure what you're really trying to do by backporting to Cupcake based Hero. I can unpack the boot.img, unodex Tattoo, whatever but I don't see what you want to accomplish with this. I don't have your phone so I can't test whether the kernel would work if I mod boot.img for you but it doesn't sound hard. Got the tools in my PATH.

Interactive updates?

Just throwing an idea out there, and since it's for developers (specifically people who make their own recovery images) I assume this is the right section.
Since we have 'control' over the recovery image on our phones, would it not be possible to add a little script to an update.zip that a suitably modified recovery image could extract and run to interactively prompt the user for various Rom options? I'm thinking specifically of kernel choices, but it could be extended to almost anything that needs to be done prior to booting the installed image.
Imagine installing a rom, and during the install you got a little menu like this:
1: RamHack, BFS Kernel
2: RamHack, CFS Kernel
3: No-RamHack, BFS....
etc...
inefficient, it adds extra baggage to rom, and more things can go wrong. what would you rather downlaod a 90mb file or a 110 mb file.
Which would you rather download, one 110MB ROM or 2 90MB ROMS?
I'm pretty sure there's more than a few people who'll download different variations of the same ROM so they can see which is faster, how much easier would it be to just download one thing and then choose which options you want in there without downloading anything else.
I believe it is entirely possible. As a matter of fact, I was working on a ROM project that would have an interactive installer from the update.zip that would selectively install different features, apps, customization, themes, etc., based on the recovery menu application. It would use a lot of the /cache for temp space, though, as the installer application and its resources and configuration file, and later, the necessary parts of the ROM itself, would need to be unzipped before the install can run, if I recall correctly.
Does anyone have a good link to a reference for the command syntax for the /META-INF/com/google/android/update-script file? I'll go search for it in a few moments myself. I could probably make a simple ROM installer that chooses between ROM X and ROM Y based on a key input, as a proof of concept. I'll test it myself, I don't really mind half-bricking my device for science. (As long as I don't need to touch the SPL/Radio, that is.)
Update: Some creative searching finds me this:
JesusFreke said:
Assuming you mean update-script in an update.zip update, you will need to either look at existing update-script files for an example of the syntax, or look at the source of the recovery program in the android source
Click to expand...
Click to collapse
There's also a "make-update-script.c" file I'm seeing here and there, I'm trying to find the file in the Android source.
Update 2: From install.c at donut from cyanogen's android_bootable_recovery:
Code:
#define ASSUMED_UPDATE_SCRIPT_NAME "META-INF/com/google/android/update-script"
#define ASSUMED_UPDATE_BINARY_NAME "META-INF/com/google/android/update-binary"
and in commands.c, toward the bottom at register_update_commands is all the commands defined, and above that are all the functions they carry out.
sorry about that deicist i was sleepy when i wrote that so i must have been cranky yea i guess that is a fine idea, with just 30 more mb you have like 300mb worth of stuff. and you can pick which 90 mb you want.
markolo25 said:
sorry about that deicist i was sleepy when i wrote that so i must have been cranky yea i guess that is a fine idea, with just 30 more mb you have like 300mb worth of stuff. and you can pick which 90 mb you want.
Click to expand...
Click to collapse
Well, on the 32B platform with the Death SPL (my phone) we have the following partitions of the internal NAND memory (mtdblock*) from the df and mount command:
NAND 3: /system 92160kb - OS partition, static and read-only
NAND 5: /data 91904kb - User, system config, app config, and apps (without a2sd)
NAND 4: /cache 30720kb - OTA cache, Recovery/update config and temp
And I'd assume NAND 1 and 2 are the kernel, ramdisk, and bootloader config.
So the ROM wouldn't exceed 92MB installed (most leave some room in /system for hacks and updates). And the update process doesn't ever really "flash", per se; it just formats, copies files, and sets permissions and initialization configs, like Windows or Mac.
So the files that are common to the different ROMs being packaged don't need to be duplicated, only the ones that are changed (like a boot.img, or 32A/B compatibility, or different apps). The update script and chooser menu will decide which files to copy. Meaning the ROM package in and of itself shouldn't really need to exceed 128MB, even if choosing from a wide variety of platforms. And upon installation, the system might take less than 32 MB.
yeah, what he said ^
The scenario I was thinking about specifically was SuperD. If you look here:
http://forum.xda-developers.com/showthread.php?t=613809
There's 8 different downloads there. How many files are actually different between those 8? I guess the themes mean a lot of application files are different (due to having different resources in them) but the underlying framework files will be pretty much the same I think.
Deicist said:
yeah, what he said ^
The scenario I was thinking about specifically was SuperD. If you look here:
http://forum.xda-developers.com/showthread.php?t=613809
There's 8 different downloads there. How many files are actually different between those 8? I guess the themes mean a lot of application files are different (due to having different resources in them) but the underlying framework files will be pretty much the same I think.
Click to expand...
Click to collapse
I could download them all, and find the differences of each. It would be cool if a ROM like this were available in a single download, from which you would choose the content from the device before flashing.
Also, inspired by talking about this, I wrote up a guide on the update-script in the package file. It's still not finished, but it'll be the only guide available for that syntax yet (trust me, I couldn't find one myself ). Link's in my sig.
I'm surprised that nobody's mentioned the Droid... the sholes.info rom (now called droidmod) have used a .tgz archive instead of a .zip, the .tgz installs have always allowed this customization, droidmod makes one of the most common recovery's AND rom's. (SPRecovery/Droidmod).
It give you the option to choose what launcher to install, what theme, what apps to remove.
page here: http://droidmod.org/news/droidmod-v1-0-is-out/
how big of a ROM are you thinking about?
There are roms (WG etc...) that offer more than one kernel as update.zip you can flash over an existing installation of your rom instead of adding all the stuff to one big file. also you can download themes for several roms/for metamorph.
so why would you want some big install script instead of just downloading the files you like and flash it?
jmhalder said:
I'm surprised that nobody's mentioned the Droid... the sholes.info rom (now called droidmod) have used a .tgz archive instead of a .zip, the .tgz installs have always allowed this customization, droidmod makes one of the most common recovery's AND rom's. (SPRecovery/Droidmod).
It give you the option to choose what launcher to install, what theme, what apps to remove.
page here: http://droidmod.org/news/droidmod-v1-0-is-out/
Click to expand...
Click to collapse
Is the Droid's recovery image capable of running on the G1, and/or is it open-source enough to be cross-built to the G1? If so, we could port it here. Only problem there though, is that all the roms are in update.zip format for the G1 already, we'd need to make it dual-compatible if we don't want to split the community and annoy generally everyone ("My rom only supports TGZ recovery!" "ROMs are in ZIP format, and I will not make a TGZ one for those unfortunate enough to use the other Recovery!")
domenukk said:
There are roms (WG etc...) that offer more than one kernel as update.zip you can flash over an existing installation of your rom instead of adding all the stuff to one big file. also you can download themes for several roms/for metamorph.
so why would you want some big install script instead of just downloading the files you like and flash it?
Click to expand...
Click to collapse
Well, for one, devs need to host one file only, and users need to download one file only. The file won't be much bigger or more complex at all, really. And the way things look on the recovery side, we could probably put a selection of themes in with the updater and patch them in post-install with a Metamorph script straight from recovery. That way, the rom is as you want it out-of-the-box, no multiple reboots, etc.
Also, those scripts that usually run on first-boot, like zipalign, dexopt, apps2sd etc. should run from the recovery environment, instead of before the Android bootanimation (I do get tired of hearing "This ROM will take a LONG time on the first boot. If it's stuck at the G1 screen, just wait 10-30 minutes.")
So what would you rather have, one single ROM (G1_Android_ROM_v1.17.zip) for each version released,
or six different ZIPs to flash (G1_Android_ROM_10MB_CFS.zip, G1_Android_ROM_Greentheme.zip, G1_Android_ROM_Bluetheme.zip, G1_Android_Nowipe_GApps.zip)?
Would you rather select what you want to include at flash (and be able to change things like themes or features after flashing), or have 20 different files to choose from, wiping and flashing on each?
I am aware of the no-wipe upgrades for many ROMs, but they can get confusing (I once flashed a CFS_10MB.zip that was for a Hero ROM, stupidly thinking that it might have been for the Eclair that I just downloaded.) Needless to say, I had to wipe and reflash. Again.
TylTru said:
Is the Droid's recovery image capable of running on the G1, and/or is it open-source enough to be cross-built to the G1? If so, we could port it here. Only problem there though, is that all the roms are in update.zip format for the G1 already, we'd need to make it dual-compatible if we don't want to split the community and annoy generally everyone ("My rom only supports TGZ recovery!" "ROMs are in ZIP format, and I will not make a TGZ one for those unfortunate enough to use the other Recovery!")
Well, for one, devs need to host one file only, and users need to download one file only. The file won't be much bigger or more complex at all, really. And the way things look on the recovery side, we could probably put a selection of themes in with the updater and patch them in post-install with a Metamorph script straight from recovery. That way, the rom is as you want it out-of-the-box, no multiple reboots, etc.
Also, those scripts that usually run on first-boot, like zipalign, dexopt, apps2sd etc. should run from the recovery environment, instead of before the Android bootanimation (I do get tired of hearing "This ROM will take a LONG time on the first boot. If it's stuck at the G1 screen, just wait 10-30 minutes.")
So what would you rather have, one single ROM (G1_Android_ROM_v1.17.zip) for each version released,
or six different ZIPs to flash (G1_Android_ROM_10MB_CFS.zip, G1_Android_ROM_Greentheme.zip, G1_Android_ROM_Bluetheme.zip, G1_Android_Nowipe_GApps.zip)?
Would you rather select what you want to include at flash (and be able to change things like themes or features after flashing), or have 20 different files to choose from, wiping and flashing on each?
I am aware of the no-wipe upgrades for many ROMs, but they can get confusing (I once flashed a CFS_10MB.zip that was for a Hero ROM, stupidly thinking that it might have been for the Eclair that I just downloaded.) Needless to say, I had to wipe and reflash. Again.
Click to expand...
Click to collapse
You could just have flashed the original rom without wipe.
Would be a step forward if you could simply put roms and additional files in folders... maybe even whole zip files containing some updates and an xml like file to describe them. This would guarantee compatibility with earlier boot images (just unpack the updates in the zip). Tar might work better than zip as it is not compressed thus faster afaik.
http://droidninja.com/?p=26334
We got ninja'd. Apparently the Droid Does exactly this.
So let's get to work on porting it! Like this comment says, I'm working on finding the source code to a good Droid recovery image (sadly Droid hasn't its own forum here), and if it's closed source, I'll get on reverse-engineering a .tgz rom to see exactly how it works.
TylTru said:
http://droidninja.com/?p=26334
We got ninja'd. Apparently the Droid Does exactly this.
So let's get to work on porting it! Like this comment says, I'm working on finding the source code to a good Droid recovery image (sadly Droid hasn't its own forum here), and if it's closed source, I'll get on reverse-engineering a .tgz rom to see exactly how it works.
Click to expand...
Click to collapse
This is pretty awesome. I was going to say, we could easily run bash scripts but this is so much better.
This needs to be merged with both Amon_ra's recovery and the new 2.x based recovery...

<< Create & Modify your own ROM's easy way - files included >>

This a simple and quick guide for everyone who wana make or just modify their own HTC DESIRE ROM's.(Rooted ones)
For example you downloaded a nice ROM from one of devs here, but they removed some application that you cant live without. Now you dont need to beg them to add those files back, simple add them your self and flash your rom.Missing APK's you can get simple by downloading any stock rom, than extract them and put them in your new ROM.
After you extracted files provided (c root recomended), you will see 2 maps
"Sign ROM" and "tools"
Signing ROM's:
After you modifed your ROM zip file, simple put it in "Sign ROM" map, and rename it to update.zip.Than run "Sign.bat" After the process is done you will get another zip called "update_signed.zip" which you can now put to your SD card and your ready for flashing. Note:JAVA SDK files are included, you only need to have normal java installed.
http://img99.imageshack.us/img99/2921/signedrom.jpg
Pushing recovery files from windows:
Now to flash your ROM you dont need linux anymore, simple enter recovery (Power button+back, than select recovery...), and than in the map "tools" run recovery-windows.bat. Than you will get standard screen where you can flash your roms, partition SD, clear data and so on..
NOTE: You need to have HTC Sync driver installed or your phone wont be detected (you can get them from HTC)
http://img213.imageshack.us/img213/1894/pushfiles.jpg
If you have any questions, suggestions or if i wrote something wrong i will be happy to answer/corect them.
http://hotfile.com/dl/43311449/92d9ee6/Desire_Tools.exe.html
http://www.megaupload.com/?d=JNI68MWZ
http://rapidshare.com/files/388849647/Desire_Tools.exe.html (Thanks pympster for link )
http://www.robertolsen.no/desire_tools.rar
(Thanks GeoTrail for link)
would this tool work for the HTC Legend aswell?
For signing roms yes, for pushing files not sure if Desire and legend use same files..
Ok this one is simple, but this is only how to add/delete several apps.
How about going little bit more deeper?
Well if you wana go deeper, you can download costom kernels with overclocks or low volatege and replace the ones in rom, or those circle battery mods or costom boot sounds and so on...Basicly your replacing/modifying original files. But this is just quick basic guide for basic stuff, let real ROM developing and costomizing to the developers who are good at it.
As far as hardware support goes is it the kernel that provides everything? Basically if I take an N1 rom (like cyanogen 5.0.6) and change to a desire kernel, is it likely to just work perfectly or are there other bits in the ROM that are likely to need changing?
Of course you can just use dsixda's Kitchen which is cross-platform and quite straightforward to use.
You just add the update.zip file you want to change, remove/add any apps you want and make any advanced changes you want too.
Select Build ROM and it'll create the new update.zip that you can flash to phone.
I've used it on my Desire without problem for adding/removing apps.
Well that kitchen is nice, but still..you need to downlaod virutal machine to make it run under windows or Cygwin tool than download JAVA SDK..setup lots of things.
My point of this thread was just vey basic and simple way to quickly add/remove/costomize files from ROM, without installling and downloading lots of tools, and quickly install it on Phone and test.
Sorry, I wasn't meaning to undermine your work. No doubt you've spent a lot of time creating this and trying to contribute to the community. It's far more than I can say for myself.
I was just pointing out there's something already out there, and more capable than this.
It's definitely good to see people helping out the members and this is definitely something useful
Everything is cool TheAshMan, and thanks for you link, im sure some enthusiastic people will try some advance things like that. But even my self im not big expert about Linux and phones, i do have great knowledge about windows and computers, but dont have much time for this area.
Screen shots on how to use this would help, I've come from cooking my own WinMo ROMs and wuld like to give this a try if possible
Also, as I use W7 x64 is it best to run the .bat files as an admin? Had issues using Windows methods in the past so have been using Linux to get rooted
I'm also using Windows 7 x64.
About running bat's as admin its not necessary unless you have some kind of UAC high settings, or running on some kind of limited user account. I never run this bats as admin and they work fine.
Basicly download some stock rom, or someones rom. And simple add or remove files inside rom.zip/system/app/
If you dont like facebook for example, just remove Facebook.apk and facebook.odex(if its present).
After your done with that, rename ROM to update.zip and put it in the folder
C:\Desire Tools\Sign ROM\ and excecute "Sign.bat" , and it will create signed rom with name update_signed.zip.
http://img99.imageshack.us/img99/2921/signedrom.jpg
This is just some base, im not gona explain you about ROM deodexing, framework, boot images kernels and stuff, because im not expert at this.
Now you can put that file to root of your SD card.
Now you can test it on your phone.
Shut down your phone. Turn it ON while holding back button.You will see Bootloader selected, press power button again. Than Recovery will appear, you can navigate down with volumen UP AND DOWN and select Recovery and press POWER button again to select it.Phone with Red triangle will appear on your phone. Now go in map C:\Desire Tools\tools and excecute "recovery-windows.bat"
http://img213.imageshack.us/img213/1894/pushfiles.jpg
And on your phone you will get that screen with green letters where you can select to 'Flash zip from sdcard' ,where your signed rom will appear.(You need to wipe data before from the same menu)
I hope i made some thing clearer im writing this from work so dont have much time
Right, got a ROM and added 2 .apk files to the /system/app folder and now got a signed_update.zip...is that it? They'll be on the device from the start?
Seems to simple to me!!
How can you add a new radio? Or change the version number in About phone>Software?
Yea thats it. About those other things..Google is your friend...
edit mate
when i flash it says:
E: Can't find update script
rom.zip/META-INF/COM/google/android/update-script
Did you touch that in ROM? If you didint, than you removed something that you shouldnt.
Can u also remove apps from rom that you don't like by this method.
-------------------------------------
Sent via the XDA Tapatalk App
Yea, thats the all point of everything i wrote here. Very simple way of very quickly removing apps that you dont want from the rom before flashing it.
Also, you need to watch out, and to a bit experementing. Because sometimes if you remove some crucial app, you will start getting random crashes of applications or random bugs. Allways make a copy of original rom.
For example if you remove HTC-IME.apk, you wont have any kind of keyboard in the rom. Making it un-usable
Somebody already asked how to add radio update, is it maybe included in Modaco r3 rom(the one without apps2sd and modaco additional stuff)?
Tnx for help

How to Port a ROM to Milestone2

As lately some people are asking me about ROM porting I decided to create this new thread where we can share knowledge about this hard task.
Please note this is a Dev talk thread, so DON'T ASK about fixing a particular ROM problem here. Also don't ask questions like "My phone is bricked! please help!". This IS NOT the appropriate place for it. There are plenty of other threads to help you out.
Also note that this is not a step by step guide (and not a guide at all), it's just a point where you can start from. Android is a very complex system and there are many things I don't know yet. So, research and hard work is what you need to learn it deeply. My first tip is Google really works. Don't be afraid to search
Ok, to the basics. Porting a ROM is no simple task. It requires advanced understanding of how android works and how it is organized. Previous Linux/Unix knowledge helps A LOT. As android is based on this O.S. there are many similarities between both. In fact many ppl consider android to be a kind of linux distro.
The very first task to port a ROM is finding a device which is compatible with your own. For example Defy/Milestone2. Then you are going to choose a ROM to port to your device.
As our devices (Milestone2) have a locked bootloader we now need to find a system image that have a compatible kernel with the ROM we are trying to port. This is mainly based on trial and test and takes a long time. You'll be ending flashing your phone several times with RSD Lite. You should learn how to use MotoAndroidDepacker and how to create a fixed SBF.
The basic procedure to try that:
1. Open original ROM update.zip and remove any files/commands that flashes boot/devtree/recovery/anything.
2. Install this new file on your phone via CW Recovery.
3. Boot into bootmenu and enable ADB so you can read logcat while phone boots.
4. Choose Boot/Normal. If your ROM uses 2nd-init you will need to place/edit/adapt bootscripts into bootmenu 2nd-init folder.
5. Check logcat for errors:
- If you're getting HAL errors you're going to need a new kernel;
- If you can start android without getting HAL errors but still getting errors and bootloop on android animation you should try to replace libs with appropriate original ones.
6. Once you are able to boot android you should test it's features to see what needs to be fixed.
This is what I have to say for now. The thread is now open for discussion.
At this week, motorola has just pushed the GB official update for Droid 2 and Droid 2 Global....
Can i try to port this new rom to milestone 2 and after a success boot, fix the radio..??
I was asking that, because some people has success on port CM7 to milestone 1, when it originally maked for droid 1...
tks a lot..!!
jorgebaruchi said:
At this week, motorola has just pushed the GB official update for Droid 2 and Droid 2 Global....
Can i try to port this new rom to milestone 2 and after a success boot, fix the radio..??
I was asking that, because some people has success on port CM7 to milestone 1, when it originally maked for droid 1...
tks a lot..!!
Click to expand...
Click to collapse
It may be possible, but you'll have a hard time fixing the baseband.
You may have to mod the init.rc scripts and find the right radio binaries (rild is one of them) and drivers.
Ask those ms1 people for help, if they are still with the same phone...
Sent from my Milestone 2 XDA App
I don't know if this will be relevant or not.
I wanted to know if to do any of this, having a Linux distro as OS a must or can I try my hands at it on a windows based machine. I mean I'm sure that a Linux distro will give certain advantages (as Android is based on UNIX/Linux) but can we get things to work a 100% on windows.
If yes, then will someone be kind enough to get give the list of all softwares etc. which will be required to do the job on Windows machine as well as a Linux machine.
I do know a few softwares but I'm not sure if I have an exhaustive list. I would like to learn and try and at least be able to modify in bits n pieces to begin with.
I apologize if this wasn't supposed to be asked in this thread.
The only thing i can get from SBF is a bunch of smg files.
But the only ones i can open are
preinstall.smg
CG39.smg
Is there a way to open/see the rest?
2)
Im trying to modify the CM7 rom, what boot does it use? 2nd-init or 2nd-boot?
i guess it is second-init. but not sure
thanks a lot for this !!!
WeeDv2 said:
The only thing i can get from SBF is a bunch of smg files.
But the only ones i can open are
preinstall.smg
CG39.smg
Is there a way to open/see the rest?
2)
Im trying to modify the CM7 rom, what boot does it use? 2nd-init or 2nd-boot?
Click to expand...
Click to collapse
SMG files are disk images of certain partitions of your flash memory.
You can only open CG39.smg and preinstall (CG66.smg) because they are the only images in ext3 format. The rest of images may be on ramdisk format or some proprietary format. For more details on partition codes take a look here:
http://and-developers.com/partitions:cdt
You may be able to open and see contents of other partitions but the only one that matters aside from system and preinstall is the boot partition (CG35.smg), which contains the init scripts we should mod in order to make they work with 2nd-init. Boot partition is in ramdrive format. More details here:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://elinux.org/Android_on_OMAP
It is easier to unpack boot image using Dsixda's Kitchen here:
http://forum.xda-developers.com/showthread.php?t=633246
Edit: To see what boot your CM7 uses just go inside /system/bootmenu/config and look for a file called default_bootmode.conf. That should be the boot method used. It's normally 2nd-init.
sahilarora911 said:
I don't know if this will be relevant or not.
I wanted to know if to do any of this, having a Linux distro as OS a must or can I try my hands at it on a windows based machine. I mean I'm sure that a Linux distro will give certain advantages (as Android is based on UNIX/Linux) but can we get things to work a 100% on windows.
If yes, then will someone be kind enough to get give the list of all softwares etc. which will be required to do the job on Windows machine as well as a Linux machine.
I do know a few softwares but I'm not sure if I have an exhaustive list. I would like to learn and try and at least be able to modify in bits n pieces to begin with.
I apologize if this wasn't supposed to be asked in this thread.
Click to expand...
Click to collapse
Don't worry, this is the right place
As for your question: yes you can work in windows if you like, but using at least a Linux VM is more productive. I don't have a full list of applications to give you, as different mods may require different tools, but I advice you to have at least:
- Notepad++ (essential for editing text files and keeping linux end-line format);
- dsixda's Android Kitchen (http://forum.xda-developers.com/showthread.php?t=633246)
- 7zip (or some other compress tool you like)
- Moded putty for ADB as working with windows command prompt really suck (http://forum.xda-developers.com/showthread.php?t=803225)
- Oracle Virtual Box (if you are going to use linux VM).
r2beta0 said:
SMG files are disk images of certain partitions of your flash memory.
You can only open CG39.smg and preinstall (CG66.smg) because they are the only images in ext3 format. The rest of images may be on ramdisk format or some proprietary format. For more details on partition codes take a look here:
http://and-developers.com/partitions:cdt
You may be able to open and see contents of other partitions but the only one that matters aside from system and preinstall is the boot partition (CG35.smg), which contains the init scripts we should mod in order to make they work with 2nd-init. Boot partition is in ramdrive format. More details here:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://elinux.org/Android_on_OMAP
It is easier to unpack boot image using Dsixda's Kitchen here:
http://forum.xda-developers.com/showthread.php?t=633246
Edit: To see what boot your CM7 uses just go inside /system/bootmenu/config and look for a file called default_bootmode.conf. That should be the boot method used. It's normally 2nd-init.
Click to expand...
Click to collapse
Thanks again r2beta
thanks r2beta0
- Notepad++ -- got it
- dsixda's Android Kitchen -- downloaded (need some link for a how-to on its usage)
- 7zip -- got it
- Moded putty for ADB -- got it
- Oracle Virtual Box -- can't install Linux on my system as this is a work machine
dunno if I can do without the last option.
sahilarora911 said:
thanks r2beta0
- Notepad++ -- got it
- dsixda's Android Kitchen -- downloaded (need some link for a how-to on its usage)
- 7zip -- got it
- Moded putty for ADB -- got it
- Oracle Virtual Box -- can't install Linux on my system as this is a work machine
dunno if I can do without the last option.
Click to expand...
Click to collapse
Oracle Virtual Box is an application that lets you run an operational system on a virtual machine, in other words, it doesn't install linux on your real computer. It's a very useful tool that I use everyday. Google for it and learn a bit, you won't be disappointed. About kitchen: the link I provided was download + guide. Read it again. If necessary read the full thread.
r2beta0 said:
Oracle Virtual Box is an application that lets you run an operational system on a virtual machine, in other words, it doesn't install linux on your real computer. It's a very useful tool that I use everyday. Google for it and learn a bit, you won't be disappointed. About kitchen: the link I provided was download + guide. Read it again. If necessary read the full thread.
Click to expand...
Click to collapse
I know a bit about virtual box but as I said I'm not allowed to have softwares not approved by the IT team to be present on the system. Though I can get away with small things like notepad++ and 7-zip, having virtual box on my system may raise some eye brows.
I'm trying to arrange an alternative system.
Me neither. I must do almost everything at home, and at this very moment I simply don't have any free time. I'm afraid you're not going to see me here very often anymore (maybe in a few months? a year? well, it might be a bit too late for milestone2...)
hi. Have a question, I want to remove baseband from a flashable zip (lets say, CM7 from Tezet) , is it posible? I dont know where to look for it (baseband). Thanks!!
Baseband is located in \system\etc\motorola\bp_nvm_default\
But don't remove it, just replace it with files from ROM, which have baseband you want.
---UFO--- said:
Baseband is located in \system\etc\motorola\bp_nvm_default\
But don't remove it, just replace it with files from ROM, which have baseband you want.
Click to expand...
Click to collapse
Ok thanks for the info.
Sent from my A953 using XDA
Hi All,
Just a quick question. I have ported Paranoid Android 2.10 to MS2 but the problem I am facing is that Reboot goes through Bootmenu and I have to choose reboot from Bootmenu again.
Any inputs?
Thanks in advance
Megalith27 said:
Hi All,
Just a quick question. I have ported Paranoid Android 2.10 to MS2 but the problem I am facing is that Reboot goes through Bootmenu and I have to choose reboot from Bootmenu again.
Any inputs?
Thanks in advance
Click to expand...
Click to collapse
I meant to get to it last night, but I was tired after work and fell asleep watch tv. Eventually, later tonight, I'll be uploading PA for MS2. Check my Defy PA thread in 12-14 hours cause I'm about to go to work and I'm not gonna feel like making a MS2 PA thread or updating my Bravo PA thread -- but the Defy Thread is always up to date when I put out new roms.
Also, I'm looking to get either a Defy or MS2 -- I've heard that there's 3G issues with AT&T users (which I am) with the MS2 -- Apparently the MS2 has different 3G frequencies than AT&T. Are there any AT&T MS2 users who are knowledgeable about that? While I can deal with no 3G, edge only, calls only -- I need to make sure I can at least do that before I commit to something.
I'd rather have the MS2 because I want a hw keyboard and I don't have the $300+ to try and get a Photon Q LTE from eBay (and I don't have to change up my repos if I get a MS2). If anyone here knows of a phone that's AT&T compatible, Defy code compatible, and has a keyboard, please let me know.
Thanks.
//Normally I'd post the latter half in the Q&A section, but ya'll don't have one so I'm just gonna piggyback
//My Bravo doesn't have a Q&A page either -- it needs one that's not my PM box...Don't PM me on how to root your phone and flash CM7 -- read one of the 5 guides on the first page of both General & Dev...:silly:
Ok devs need some help here.
I am trying to port a rom to our Milestone 2...but it bootloops on rom animation.
I tried to logcat it but I don't think it gets as far as adb server to detect the device.and just keeps saying "waiting for device"...so I end up with no logcat to diagnose the problem.
I can logcat my current working rom but only after the phone boots....am i missing something here? please, help
Any help is very much appretiated.
Thanks a lot in advance

Categories

Resources