Related
Is there such a guide/tutorial/description?
I am interested in porting ROMs to the G1. I am a total beginner, and I could not find anything useful (except the automatic porting of dsixda's kitchen, what is great btw, but I want to learn how to do it by hand, etc).
Could please someone tell me how to do this, what to copy from original ROM for things to work, etc?
Thank you very much!
It's going to vary from ROM to ROM, depending on what device you are porting from and whether it's Sense/AOSP/etc.
You can get some ideas from a couple of my posts though.
http://forum.xda-developers.com/showthread.php?t=723319
http://forum.xda-developers.com/showthread.php?t=815265
Porting is not generally that hard to do... It's getting everything to work right that's a pain.
Also, look at vendor trees for your device. That will give you a good idea about which proprietary files (drivers, etc.) that need to be replaced.
gnarlyc said:
It's going to vary from ROM to ROM, depending on what device you are porting from and whether it's Sense/AOSP/etc.
You can get some ideas from a couple of my posts though.
http://forum.xda-developers.com/showthread.php?t=723319
http://forum.xda-developers.com/showthread.php?t=815265
Porting is not generally that hard to do... It's getting everything to work right that's a pain.
Also, look at vendor trees for your device. That will give you a good idea about which proprietary files (drivers, etc.) that need to be replaced.
Click to expand...
Click to collapse
This is really great, thanks Gnarlyc... been searching all over for tutorials/etc. I was able to port an N1 ROM to the EVO (using dsixda's kitchen); however sensors + radios failed to work after boot-up; probably missed a couple files/libs. Will look these links for tips. Thanks!
gnarlyc said:
It's going to vary from ROM to ROM, depending on what device you are porting from and whether it's Sense/AOSP/etc.
You can get some ideas from a couple of my posts though.
http://forum.xda-developers.com/showthread.php?t=723319
http://forum.xda-developers.com/showthread.php?t=815265
Porting is not generally that hard to do... It's getting everything to work right that's a pain.
Also, look at vendor trees for your device. That will give you a good idea about which proprietary files (drivers, etc.) that need to be replaced.
Click to expand...
Click to collapse
really nice, finaly a topic where i found more infos than just "use the kitchen and change kernel"
other questions :
how do you know you needed to replace some string values by other ? simply open the original rom for you device and compare, or simply guessing the name ???
are there any developers out there creating roms for this? It would nice to have a kernel at least, i know there is one out but its only for the european version. We need developers!!
I got the time for it but not the brain for it im best at testing roms
Doesn't seem that anyone's developing ROMs at the moment, although some are trying. I think first we need to get a recovery working such as Clockworkmod so we can flash the ROMs to the device.
I just got my player a few days ago, but I've been doing some research on how to port CWM to new devices and hopefully something will come to fruition. I'm not a programmer by any means, but I know linux pretty well so hopefully I'll be able to put something together.
Does someone know where there is documentation on how to install new ROMs using Linux? I don't have windows or Mac.
I'm trying to install 2.3.5:
http://forum.xda-developers.com/showthread.php?t=1389809
I believe the instructions are in the android developers kit, so I'll go there next unless someone has a quick pointer.
Thanks,
Daniel
I think the only way currently is with the software samsung gives you, but I might be wrong. Mine came with 2.3.5 on it - I'm using linux mint but haven't had a need to figure it out.
Some people over in the Android Development thread are working on it from what I hear. CM9 here I come!
goudeyman95 said:
Some people over in the Android Development thread are working on it from what I hear. CM9 here I come!
Click to expand...
Click to collapse
Can you show us the link from where you read it please?
Lemme get some things out of the way.. I am a noob. I have searched. I have read some of the results from the search. I am overwhelmed by the 20+ pages of results (lol). I am not 100% sure this is the correct forum for this (not sure where else would be ).. I believe this is one of those things where I need help based on my situation.. Ok, so here I go.
I wish to start porting ICS to my phone. That's my goal. I have general understanding of how linux works, but I do not know much about the android specifics of how they work, or what needs to be modified for this to work. I do not plan to use the kitchen tool as I wish to learn this the hard way. I believe this will help me become more understanding in what I am doing. However, at this point I don't and that's why I'm here. My phone model is irrelevant almost because its prepaid and usually the communities don't even recognize their existence.. at least that's how I feel about it. But I digress. My phone is the zte warp by boost mobile and I am here to learn hopefully the things that will get me started on porting ICS to this phone. I right now believe that the best thing for me to learn is how the android related files work because as it is, I only looked at guides on how linux works and I understand most of it. I'm not sure that's the best thing that will help me port ics, but I'm certain it is important.
Please help me figure out where I should start in learning how to port ICS to my phone basically.
Thanks XDA
anyone? I am quite serious about wanting to do and go into this but I have yet one thread that anyone's ever replied to.. (or post iirc) which puts a damper on me
Snake X said:
Lemme get some things out of the way.. I am a noob. I have searched. I have read some of the results from the search. I am overwhelmed by the 20+ pages of results (lol). I am not 100% sure this is the correct forum for this (not sure where else would be ).. I believe this is one of those things where I need help based on my situation.. Ok, so here I go.
I wish to start porting ICS to my phone. That's my goal. I have general understanding of how linux works, but I do not know much about the android specifics of how they work, or what needs to be modified for this to work. I do not plan to use the kitchen tool as I wish to learn this the hard way. I believe this will help me become more understanding in what I am doing. However, at this point I don't and that's why I'm here. My phone model is irrelevant almost because its prepaid and usually the communities don't even recognize their existence.. at least that's how I feel about it. But I digress. My phone is the zte warp by boost mobile and I am here to learn hopefully the things that will get me started on porting ICS to this phone. I right now believe that the best thing for me to learn is how the android related files work because as it is, I only looked at guides on how linux works and I understand most of it. I'm not sure that's the best thing that will help me port ics, but I'm certain it is important.
Please help me figure out where I should start in learning how to port ICS to my phone basically.
Thanks XDA
Click to expand...
Click to collapse
From my limited knowledge, I think it is a huge task undertaking, you can download Android source code from Google, the hard part will be the device driver development and porting for Linux kernel (and maybe portion of Android). If you are lucky, you can use the existing phone bootloader (or you have to port one). Understanding the inner of the phone (different chip set may need different device driver) will be another challenging task.
by the device driver development, you mean all the libs that go into the phone? Couldn't I just copy/paste the pre-existing libs that are already made for the phone? Also the phone im working with is a bit strange really.. noone has been able to compile the kernel from its source and get it to boot yet.. when it was compiled the zImage was different than that of the stock one.
And yeah, I have downloaded the aosp source.. I just need to know where to start at and the processes involved really
Snake X said:
by the device driver development, you mean all the libs that go into the phone? Couldn't I just copy/paste the pre-existing libs that are already made for the phone? Also the phone im working with is a bit strange really.. noone has been able to compile the kernel from its source and get it to boot yet.. when it was compiled the zImage was different than that of the stock one.
And yeah, I have downloaded the aosp source.. I just need to know where to start at and the processes involved really
Click to expand...
Click to collapse
To answer you question no the drivers and lib files are different for aosp based rooms then they are for the stock OEM from. The first step will be to get a working kernel. Without anything you do will be pointless
I'm somewhat interested in the same thing, and from what I've gathered, you'll need to do these things to begin ROM development:
1. Read every page on the AOSP site and grab a copy of the AOSP source. It probably wouldn't hurt to read the regular Android developer wiki as well.
2. Learn about Linux driver development:
http://lwn.net/Kernel/LDD3/ (this is apparently considered THE BOOK on Linux driver development)
http://www.freesoftwaremagazine.com/articles/drivers_linux
3. Learn pretty much every detail about your phone and its hardware, especially when it comes to how ROMs are installed on it. For example, my phone (the Droid X2) has a locked bootloader, so 2nd init has to be used to boot new ROMs, and this makes it so that we cannot update the kernel.
You can usually find this sort of information on your phone manufacturer's website. Sometimes they even post the source code to their phone's drivers, which is helpful.
4. Look at other ROMs (preferably for your phone) and see how they work. The source code is freely available for most popular ROMs.
For example: CyanogenMod keeps their source code in a public git repository: https://github.com/cyanogenmod
5. Get to work on porting!
I would highly recommend starting with something smaller, however, just as a start. One good jumping-off point is probably this guide: http://forum.xda-developers.com/showthread.php?t=1272270
If any part of this was wrong, or if I left something out, somebody feel free to correct me, I'm still a noob.
Thank you so much for your direction, however,, android kitchen.. im not sure about that because isnt that only ment for htc devices? My phone is made by zte
what device do you even have?
if it's stuck officialy on 2.1 or 2.2 there's no hope that if you even port it that it'll work
its the zte warp from boost mobile (prepaid). Btw if I compile an aosp ics launcher and put that on my phone whats the chances of that working?
edit: it uses 2.3.5
Well Sebastian responded on android forums, apparently zte is very bad at version control with their kernel sources. So when they complete one project, they use the same source for the next project, and what they release could be for anything. Apparently the blade source had the same issues, it took him a while to get them to correct the source
Sent from my N860 using Tapatalk
Yeah I noticed that there were ppl saying there were things similar but I'm not sure what will work or what won't.. guess its time to start a petition on zte to release the source code lol
edit: seems like zte's bein a bad company and violated the GNU GPL license for not providing a complete source code.. I compiled an email and sent it to someone who can proof read it and send it to the right person for this kinda thing.. danggit zte
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
shadowrelic said:
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
Click to expand...
Click to collapse
You are correct about the ROM, but ROMs also include the kernel (if it didn't, or no kernel was flashed separately, the device would not boot). Yes, other kernels can be flashed on your existing ROM, but it's not necessarily going to be compatible.
Sort of, but there's a lot more than that. See here and here. Later versions of Android will require newer drivers,etc. which the existing kernel won't provide (they'll be outdated). Back porting and additional coding is theoretically possible, but insanely difficult (many times). Even after this some things may still not work.
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
shadowrelic said:
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
Click to expand...
Click to collapse
For both your questions, the Nexus-line devices would be the way to go. They usually have everything working on new Android versions the soonest, and Google always releases their code, etc.
Hi
i can use linux kernel (zimage) to update android kernel if yes ,how ?
thnx
Hello there guys,
As we all know we only have 3? 4? developers for the HOX+ . And they are really doing all they can to help keep the phone upto date.
But as we all know they are all busy and can't update their roms that much any longer.
EDIT: Lloir already has a guide : http://forum.xda-developers.com/showthread.php?t=2187266 but I don't think he covers how to fix camera and gps and stuff
So! Is it possible to make guide on how to compile the rom from the source? I know tombridden and lloir already made a one post guide on how to build some roms but it was too specific.
I now have an extra machine (a laptop) with 500gb free storage and ubuntu as the main OS. It's quite powerful too with 6gb RAM and i7. So Why not use it to help the community while others are busy? In the meantime I will look around for some guides for other phones but I don't think they will help that much.
And please include the answers to those questions if you make a guide:
1- What to do to fix camera/GPS/wifi/Data/sensors ?
2- What approach should I take when compiling a new ROM. For example: there are no developers for PACMAN , how will it differ during compiling between it and AOKP/CM/AOSP .
I am talking about a rom that wasn't approached by Lloir so he won't have the repos for them. What to do then?
Thanks a lot and I can't wait to help
@Lloir @tombriden @PippoX3 @mike1986. and any other developer out there.
you can start by looking at XDA-University
The reply is correct. All of us moved first steps studying at XDA University.
Anyway the case is more complex than others.
For this device there are really few developers. Other device have a lot of support from constructors, many dev and the team-work result in a lot of kernels/roms to flash for the final user.
If you wanna taste the happyness for build a rom, I'll send you a guide to setup your ubuntu, download the sources and build.
But in this case, where enrc2b is not officially support, the things are more difficult.
You must have a minimal practical with java, cpp, android and kernel code (if so).
For the moment I'm in trouble to build an AOKP 4.2.2 with new kernel. I haven't device to try, 'cause the hard is build&&try continuosly.
Not the fact to have a pc turned on for hours and hours.... and the eyes&&mind open for hours and hours... but the patience to continuously try time after time.
Now I am in a dead point... many users like have S2W enable on new CM kernel... but.... the kernel won't!
Thanks a lot anyway. Thanks to @Lloir, @tombriden, @maxwen and alls who's workin' for this device.
Stay tuned....
PippoX3 said:
The reply is correct. All of us moved first steps studying at XDA University.
Anyway the case is more complex than others.
For this device there are really few developers. Other device have a lot of support from constructors, many dev and the team-work result in a lot of kernels/roms to flash for the final user.
If you wanna taste the happyness for build a rom, I'll send you a guide to setup your ubuntu, download the sources and build.
But in this case, where enrc2b is not officially support, the things are more difficult.
You must have a minimal practical with java, cpp, android and kernel code (if so).
For the moment I'm in trouble to build an AOKP 4.2.2 with new kernel. I haven't device to try, 'cause the hard is build&&try continuosly.
Not the fact to have a pc turned on for hours and hours.... and the eyes&&mind open for hours and hours... but the patience to continuously try time after time.
Now I am in a dead point... many users like have S2W enable on new CM kernel... but.... the kernel won't!
Thanks a lot anyway. Thanks to @Lloir, @tombriden, @maxwen and alls who's workin' for this device.
Stay tuned....
Click to expand...
Click to collapse
That's what i did already. I set up the periphals/kernel/device info GITs and now i am looking for the roms, I found CM and stuff but I can't find PURE AOSP , does that mean i must download it and upload it?
I also have Oracle java installed. Do I have to have open JDK?
Ghand0ur said:
That's what i did already. I set up the periphals/kernel/device info GITs and now i am looking for the roms, I found CM and stuff but I can't find PURE AOSP , does that mean i must download it and upload it?
I also have Oracle java installed. Do I have to have open JDK?
Click to expand...
Click to collapse
https://github.com/pure-aosp/android
Lloir said:
https://github.com/pure-aosp/android
Click to expand...
Click to collapse
Now that we begin to have a solid CM base, will possible to build at least CM for enrc2b for noobs too.
And eventually "port" device/kernel" parts to others platforms. So who like e.g. PA can do...
If you agree, I can paste my personal appoints to a guide, from client setup (Sun java don't works) to the build zip rom.
Updated and corrected to last KK.
PippoX3 said:
Now that we begin to have a solid CM base, will possible to build at least CM for enrc2b for noobs too.
And eventually "port" device/kernel" parts to others platforms. So who like e.g. PA can do...
If you agree, I can paste my personal appoints to a guide, from client setup (Sun java don't works) updated and corrected to last KK.
Click to expand...
Click to collapse
Go for it. Saves me doing it which I was about to do
Sent from my One X+ using Tapatalk