Sapphire ROM HowTo - request for info - myTouch 3G, Magic Android Development

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.

Related

Need Some Assistance Editing Roms

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

How to run the most stable rom avoid conflicts for newbies and skilled alike

The advice I provide is mainly for the stock 2.1 sense ui roms - 2.27.651.6 (+) but users will find the advice in here applies universally to several other rom builds, android versions, and problems many people will encounter as root - even if you follow dev directions for the rom...even if it is a final release...most of the info I posted is based off much testing, and, I have found the rom recommendations to be most stable for the recommended build 2.1 eclair build stock deoxed cdma sprint hero - again the advice, even apks I provide you may find useful for other roms you currently use). I cannot post large text due to spam regulations and since I am a new user so directions and info are attached in the word document. Trust me, this is a good read. I wish I had this advice when I first started modding my roms or even when I got good at it. Would have saved me days of time.
See attached ENJOY!
I attached one fix for the rom version as well as the circle battery mod which I think is awesome for ALL android phones. Kernals as well for the recommended 2.1 sense ui.
P.S.
Use the engineering boot flashable file at your own risk - it's optional - I happen to like it.
Also, if you brick your phone or you have problems with recovery - there is a way to fix this. Use the Unrevoked 3 for Windows on the hero (it is for the easy root) - this is not compatible yet - but go to load custom recovery and find your boot.img nandroid file which you may have trouble recovering from your current recovery or if you are having load up problems etc...this may get you temporarilly into the custom recovery for just enough time to use the proprietary recovery on the nand backup to recover your last most stable back up! This happens a lot to people who upgrade backup programs or alternate between them - read the document regarding recovery dos and don't. I also recommend reviewing some basic commands for adb shell and terminal programs.
Enjoy good luck. Comments or suggestions for improvements - re-wording is always appreciated - I'll see if I can modify as such and thank appropriate contributors. Oh and sorry for the typos
Cheers again,
Joe.
Hi,
Believe it or not, I read your whole Word doc. I am using ZenFX Lite ROM, which I like. I also tried the ZenROM.
Anyways, I'm run into the same problem. When I have JIT on, it always always locks and/or reboots when I use Google Navigation (turn by turn mode), or when I'm downloading about 3 or more apps at once from the Market. When JIT is off, I don't get reboots.
Can you confirm if you get this issue or not with JIT on with your solution?

[Q] ROM's, Kernals, Recovery's and ROOTING?

Hi Fellow old and New Devs,
The title suggests it all. I have four questions that I think ALL newbies want to understand. I would try and explain them, but as I am just coming out of the newbie stage, I'm sure people would prefer an answer from a experianced Dev.
When answering a question please put the Question Number. Feel free to answer only one or two of the questions, I'm sure other people will cover your missing fields of knowledge.
Here they are:
1. What is rooting? Can I root my device (HTC Buzz Wildfire) and keep the stock interface? Will I loose my data?
2. What do all these Dev's mean by Recovery? What are they, why are they needed?
3. What is a ROM? Do I need to be rooted for a custom ROM? How can you trust them? Will I loose my data when installing a custom ROM?
4. What is a Kernal? How are they Different to ROM's? Should I change from the stock Kernal?
I know this is a tall order and you could write a book on the topic, but please could you write a short (a couple of sentaces will do) paragraph on each question you choose to do.
When we get enough understandable answers I will edit this post publish the Final answers for other newbies in the future.
Also feel free to enter the poll! As this is a Dev site I presume one of the options will have the most votes but we will see....
Cheers for any contribution in advanced.
th3ant
th3ant said:
Hi Fellow old and New Devs,
The title suggests it all. I have four questions that I think ALL newbies want to understand. I would try and explain them, but as I am just coming out of the newbie stage, I'm sure people would prefer an answer from a experianced Dev.
When answering a question please put the Question Number. Feel free to answer only one or two of the questions, I'm sure other people will cover your missing fields of knowledge.
Here they are:
1. What is rooting? Can I root my device (HTC Buzz Wildfire) and keep the stock interface? Will I loose my data?
2. What do all these Dev's mean by Recovery? What are they, why are they needed?
3. What is a ROM? Do I need to be rooted for a custom ROM? How can you trust them? Will I loose my data when installing a custom ROM?
4. What is a Kernal? How are they Different to ROM's? Should I change from the stock Kernal?
I know this is a tall order and you could write a book on the topic, but please could you write a short (a couple of sentaces will do) paragraph on each question you choose to do.
When we get enough understandable answers I will edit this post publish the Final answers for other newbies in the future.
Also feel free to enter the poll! As this is a Dev site I presume one of the options will have the most votes but we will see....
Cheers for any contribution in advanced.
th3ant
Click to expand...
Click to collapse
Okay, from the best of my understanding, here we go:
1: Rooting. To understand this, we must consider a computer, running linux, windows, or mac. In windows, the "Administrator" account is similar to the root account in linux and mac. Basically if you have root privileges in a system, you can modify every part of the filesystem, as well as perform any tasks the system is equipped to handle. Basically achieving root on an android device means that you can unlock the ability to flash roms, mod, and otherwise hack your device any which way you like. Nearly every model of android device has been rooted, so in most cases, yes you can root XXXXX phone. Also, since you're just gaining privileges, you can root without losing any data, apps, or settings.
2: Recovery. This is a long standing concept in SoC/Embedded device hacking. Basically it is a minimal operating system that performs some very basic, but very important tasks. The reason for it is so that you can write to the necessary areas on the NAND, which would be "busy" while android is booted. This offers a way to access the necessary partitions and write data to them while the data is not being accessed. It's also useful for backing up your NAND. Hence the name "nandroid."
3: ROM. By definition, it means "Read Only Memory." This is a chip on the board. ROM has evolved over the years. It started out as a chip that was sensitive to UV light. The earliest ROMs were "flashed" to a device by stenciling out the pathways and exposing the chip to UV radiation. Nowadays, we have fancy EEPROMs instead, which stands for Electronically Erasable Programmable Read Only Memory. This means that you can "flash" the chip by means of software, namely via Recovery mode in our case. Different ROMs have different features. They are all variations on source code made available by AOSP, or the android open source project. Some projects have their own code tracking, such as CyanogenMod. In most devices, you must be rooted to be able to install a ROM, however it is not explicitly necessary. A bit vague, I suppose. Specifically the tablet I own, the WITS a81e, you can flash a ROM to it just by putting the correct files on the TF card. This is not very common with phones, however. Flashing any rom that is not just a newer version of your current ROM will require a full format. For instance, if you have cyanogenmod and switch to a Sense or Blur ROM, you must format, but if you update from CM6 to CM6.1 you will not need to wipe. How can you trust ROM's? Well the best way to know is to either roll your own, or go with CyanogenMod, as their source is freely and easily available for scrutiny and improvement, along with a nice changelog tracker.
4. Kernels. A kernel is basically the most low level part of an operating system. It interfaces directly with the processor and provides all instruction for operation. Linux is technically not an operating system, it's a Kernel. The different distributions have the Linux kernel, and use their own different User Interfaces. Different kernels in android devices can allow you to overclock. There are many choices in kernels, and the features they offer. Some features are BFS/CFS which is the priority scheduling of processes. Some kernels allow you to charge your battery differently and conserve life. These are often called battery kernels. Also, some kernels unlock extra multitouch points in certain devices. There are different versions of the linux kernel, with many improvements with each iteration. Currently, the latest kernel available that I know of for android devices is 2.6.37. The froyo default kernel was a 2.6.32. I wish I knew a bit more about kernels, however this is about all I know. Perhaps someone could help us out and expand on this a bit?
Brilliant answer not too complicated... let's see what others say....
Sent from my HTC Wildfire using XDA App
What he said...
Pyroboy1080 well said...
That pretty much covers it.
thx for the infos..
Agreed. Thanks for using the poll!
nothing to add on that, as we used to say "merci beaucoup"
Can't ROM
Gotta be something stupid......
Can't install 2.2 or 2.3. Tried two different ODIN flashers. When I do the reset I do not get the triangel with downloading in the center. I'm rooted, Have ROM Manager, Superuser, Root Explorer, Super Manager, I'm unlocked.
I have Android SDK, Congnitive 4.1, NPS, Samsung Kies,SGH I897 USB Drivers, What else? I think I have it covered. In any case I never get the download . Even if I do a "ROM Manager Install fron SD Card, the result is a screen, blue at top and yellow at bottom with the last line saying "Installing Multi- CSC. I can let it run all night, no change in ROM. Does the Captivate sold by ATT have some kind of block or filter keeping me from updating?
Current firmware is 2.1 update 1, baseband I897UCJH7, Kernel 2.6.29 [email protected] #2, Build ECLAIR.UCJH7
Thanks
To better answer your question, I first need to know what type of device you're using...
fxstsb said:
Gotta be something stupid......
Can't install 2.2 or 2.3. Tried two different ODIN flashers. When I do the reset I do not get the triangel with downloading in the center. I'm rooted, Have ROM Manager, Superuser, Root Explorer, Super Manager, I'm unlocked.
I have Android SDK, Congnitive 4.1, NPS, Samsung Kies,SGH I897 USB Drivers, What else? I think I have it covered. In any case I never get the download . Even if I do a "ROM Manager Install fron SD Card, the result is a screen, blue at top and yellow at bottom with the last line saying "Installing Multi- CSC. I can let it run all night, no change in ROM. Does the Captivate sold by ATT have some kind of block or filter keeping me from updating?
Current firmware is 2.1 update 1, baseband I897UCJH7, Kernel 2.6.29 [email protected] #2, Build ECLAIR.UCJH7
Thanks
Click to expand...
Click to collapse
didn't know where to ask this?
hello, everyone..
i have some questions, i'm hoping some of you can anwser.
I used unrevoked to root my htc desire. after that, I used alpharev to gain s-off.
everything went fine, i got the joker, the white screen that lets me pick different options..
now Í tried all those options, nothing works.
I've been searching all night for a solution, and it seems my recovery boot and rom are missing? and what I came across is installing ANDROID SDK tools, and then run fastboot to recover an image. So I installed SDK tools, but fastboot doesn't run, it says some .dll driver is missing. in the platform-tools map is that .dll driver, should i move it?
Can someone get me a step by step tutorial on how to make my desire work again? Im kind of a noob, all I needed was to make a screenshot..
Thanks in advance, it would be appreciated so much..
Pyroboy, I'm using a Samsung Captivate. In another thread someone lead me to "All in One Toolbox". The other stuff is just stuff. That allowed me to install my ROM.

[Request][Android-x86] GRUB based recovery similar to CWM

Hello all,
Updating android-x86 variant could be accomplished via OTA updates, and/or
another bootable installer, however wouldn't having the ability to 'flash'
customizations via a GRUB like interface be beneficial as well?
I feel for testing purposes that this could be beneficial. Having the
ability to rework the source without having to do a clean install every
time could provide a more accurate method for testing. This would also be
good for devs, who want to modify their actual system rather than a virtual
one.
I have little knowledge of android building, however I am vaguely familiar
with C and java. I have the source downloaded and I am reviewing it, in the
case that people will find this worthwhile, I will (hopefully) be able to
contribute to the cause.
Again, if I am completely off base here, please inform me. I am just trying
to help the cause!
Thanks all for future inputs. :good:
korg bootable recovery ( may be useful) : http://sourceforge.net/p/android-x86/korg_bootable_recovery/ci/master/tree/
Source thread : http://grokbase.com/t/gg/android-x86/143w3yx749/grub-based-recovery-similar-to-cwm
bump
no idea?

[Q] Informations for building a new Device tree for a unsupported Device

Hi Everybody,
I want to ask for some informations what is need to do to build SlimRom for a new device. I found a lot of informations about CM, but nothing is really in a way that I really know what I have to do at the end. So is there a Howto, which describes it a little bit more in detail? A lot of howtos was found which describe to get a build-system, and to generate something for a know device. But everybody then describes only: you have to get the vendor files, made your Board-config but only on a very high level.
What I did:
- set up a building-server on ubuntu.
- get Slim-Sources branch JB4.3, and build the version for galaxysmtd to be sure that the buildprocess is ok.
- get "Nonreallyfree"-Opensources from Samsung for my I8200, and try to put them in the right places, and try to implement all needed files in the device/samsung/i8200 folder.
Up to now I think I have everything in place more or less, but the system told me that there is no rule for make 'bacon', but lunch seems to work right with setting the variables...
Up to now I did not used the blobs of the devices. The question is, if that is needed if I have the sources from open Samsung?
I know, jb43 is not the newest, but I start here, because up to now the sources are based on that level, and the kernel have no selinux implemented... If this start point will work, then I will try to go ahead with higher versions... end goal will be Slimkat...
Any help is very much appreciated!!
BR
SP

Categories

Resources