Good Afternoon, people.
I am brazilian and I have a smartphone that did not get into US and European market. It's name is "Motorola D3" and the number associate to it is "XT920".
Motorola Brazil were suposed to provide de newest rom for this device (marketing promissess). It took they almost 1 year to launch the Android Kitkat version 4.4.2.
The problem is: We want the Cyanogenmod in our device and all the newest ROM's.
That been said, I start to study to try yo port or Build a AOSP ROM to XT920 and, therefore, a CM11.
No threads on "how to port / build" a rom for a New device went trhough this problem. This device runs as a Mediatek MTK6577. I've seen that the kernel for this processor was released, but I don't know how to handle the kernel with the device and ROM properly.
Another doubt is: what is the difference between port and build a ROM? I've seen videos of porting and building and it is not clear to me.
I have reached the point where I have to download the drivers, but, in the tutorial the person was dealing with a NEXUS, wich is much easier to build, since it have a native android support.
Anyway, I want to keep this project going, and I really need some help with this questions.
Thankyou
digo_santista said:
This device runs as a Mediatek MTK6577.
Click to expand...
Click to collapse
You're screwed. MTK devices are extremely nightmarish to work with. Their kernel source is a mess and the platform source is an even bigger mess.
Even people who have had access to a complete OEM source code tree for an MT6589 device didn't succeed in getting the hacks to play nice with an AOSP source tree.
Android One has helped somewhat with devices that are released as part of the One program, but non-One MTK devices are still a nightmare.
The process of doing an AOSP bringup for a new device isn't particularly well defined because it is different for every device in existence. The only way to learn is by doing.
It helps a lot if a device with a similar chipset to yours is supported by whatever project you're trying to work with - for example most mid-to-high-end Qualcomm chipsets are not very difficult to work with. But MTK devices were nearly impossible to support with AOSP-derivative projects prior to One, and even after One, it seems like only Android One devices are "clean" enough to leverage Google's improvements to MTK support.
:/ should I waste more time or just drop it?
Entropy512 said:
You're screwed.
Click to expand...
Click to collapse
What should I do? I just quit without trying? I understand that this is a huge problem. But, if I decide to take the chalenge, is there a chance to succeed?
I am trying to figure this out and I didn't found an answer to this question: can I use the kernel that is packed with my stock ROM (provided by motorola) to build or port a CM11 ROM?
Sorry to bother, but I is really keeping me up at night
Regards,
Cassio Rodrigo
Related
Roms based on froyo or gingerbread?
The discussion in the thread "30/Jun r1 (JFB) - MoDaCo Custom ROM for Samsung Galaxy S with Online Kitchen" is a bit confusing so I thought it best to make it a new topic to get it straight.
Will it be possible to make roms based on froyo, gingerbread or any other coming android version, before Samsung makes an update? As I understand psychoace it will be ”near impossible to get roms from other sources like Sense roms or Froyo”. Others are not so sure.
This is important as Samsung is known for its lack of interest in OS updates. Who knows if they will take gingerbread to GS? If they won't can it be done by the really smart guys?
I don't think even HTC will update there top line to V3 (ginger bread). Froyo is coming any way to GS in near future. Now ginger bread should be possible too as GS is power full enough to run. When? we should wait and see. Nexus just got updated to 2.2.
Will see how things go in future.
Samsung has released there kernel sources and there software sources. I haven't had a chance to look in to it deeply but if it has the code of the drivers etc.. it should be possible to merge (with some work obviously) sources and to compile froyo.
kimatrix said:
Samsung has released there kernel sources and there software sources. I haven't had a chance to look in to it deeply but if it has the code of the drivers etc.. it should be possible to merge (with some work obviously) sources and to compile froyo.
Click to expand...
Click to collapse
But don't those drivers only work with 2.1 and just simply won't with any version higher unless samsung releases new source and drivers for 2.2 and then 3.0. So if say samsung never releases anything any source/drivers that work with 3.0 then you would be out of luck to actually get everything to work.
MrDSL said:
But don't those drivers only work with 2.1 and just simply won't with any version higher unless samsung releases new source and drivers for 2.2 and then 3.0. So if say samsung never releases anything any source/drivers that work with 3.0 then you would be out of luck to actually get everything to work.
Click to expand...
Click to collapse
That is true but if you have the full sources you are able to look what the differences are and maybe patch those by your self. Assume a wlan driver is using an function that has changed or is gone in 2.2, then you can try to patch that by finding the new one for it to work with. If you don't have the sources it's much harder to do those kind of things.
As I sad you have the sources so you can play by your self even if samsung does not do anything. It does not mean it's easy and it does not mean it can be done fast. But it does mean it could be done.
kimatrix said:
That is true but if you have the full sources you are able to look what the differences are and maybe patch those by your self. Assume a wlan driver is using an function that has changed or is gone in 2.2, then you can try to patch that by finding the new one for it to work with. If you don't have the sources it's much harder to do those kind of things.
As I sad you have the sources so you can play by your self even if samsung does not do anything. It does not mean it's easy and it does not mean it can be done fast. But it does mean it could be done.
Click to expand...
Click to collapse
But the video drivers are already compiled. Can they be easily decompiled? It's not a source file if it's already compiled.
psychoace said:
But the video drivers are already compiled. Can they be easily decompiled? It's not a source file if it's already compiled.
Click to expand...
Click to collapse
Can they be decompiled and made to work? Of course!
Will someone be motivated to do all this work? Unknown.
Besides drivers arent the only issue to getting a new version of Android on a phone. If you dont have source for any proprietary userland daemons/apps (like radio?) that communicate with the hardware you will be SOL on that as well.
MMMMMMMMM if we can do it for the G1 we can do it SGS...the question is when and how much work. The Galaxy S will be Samsung's flagship device for A YEAR so I'd hope to get Gingerbread...unless Samsung are really stupid. Especially with a lot of US launches, they'll be able to relaunch with Gingerbread as it comes is my hope.
psychoace said:
But the video drivers are already compiled. Can they be easily decompiled? It's not a source file if it's already compiled.
Click to expand...
Click to collapse
Who told you that??? The source code of the GPU as well as every other coprocessor is there.
The two .o file that started this all fiasco are ok and you as long as the make file include them in the build they would work perfectly.
All they have inside is a simple elf code to tell the s3c*** to do whatever it needs to do. A source code wouldn't have been beneficial as it would have to be compiled differently for a different ARM instruction set .
kitsune223 said:
Who told you that??? The source code of the GPU as well as every other coprocessor is there.
The two .o file that started this all fiasco are ok and you as long as the make file include them in the build they would work perfectly.
All they have inside is a simple elf code to tell the s3c*** to do whatever it needs to do. A source code wouldn't have been beneficial as it would have to be compiled differently for a different ARM instruction set .
Click to expand...
Click to collapse
But when you need drivers for 2.2 the source code would be optimal because these drivers are not going to work without some hacking.
They are going to work as they are non kernel bound ELF files.
Guys this isn't a driver ,if it was a kernel module ( or "driver" s you call it) it would have been a .ko file and had a slightly different structure ( use readelf on a kernel module and then on this to see the difference). So no matter what it is when can use the compiled version as it not kernel bound
From quick inspection it seems like the injection code for the s3c*** . so basically its there so the kernel could reference to it when the code tells it to do so . So Basicly all we have to do is put it in the proper place when building the kerne.
So please DON'T PANIC
well the TP2 just got 2.2 FroYo (2.1 has more working drivers ATM).. but if we have it, how would it be different for the SGS to get FroYo?
You need to remember that while other companies can update kernel quite easily ( all the work is done for them by the chip manufacturer and some member of the community ) this isn't possible here as this is a chip only used in one android/other linux platform device and the company making the device also make the chip.
So give them a few weeks to work on it
J-Hop2o6 said:
well the TP2 just got 2.2 FroYo (2.1 has more working drivers ATM).. but if we have it, how would it be different for the SGS to get FroYo?
Click to expand...
Click to collapse
let's just say it will be the first time a non Samsung Rom has worked on a Samsung Android phone.
psychoace said:
let's just say it will be the first time a non Samsung Rom has worked on a Samsung Android phone.
Click to expand...
Click to collapse
Not true.
Look here: http://forum.samdroid.net/f28/lkmod-v-2-5-1-based-jce-en-upd-03-30-a-336/
I see a custom ROM made for the i5700
Everything is possible.
clubtech said:
Not true.
Look here: http://forum.samdroid.net/f28/lkmod-v-2-5-1-based-jce-en-upd-03-30-a-336/
I see a custom ROM made for the i5700
Everything is possible.
Click to expand...
Click to collapse
Did I say custom rom? No i said specifically non samsung based roms on a samsung device. That custom rom is based off of a Samsung rom.
This is the closest we have got to a Hero rom on a Samsung device.
http://androidforums.com/all-things-root-behold-2/60408-port-htc-hero-behold-2-wip.html
He couldn't get Rosie to boot so who knows what other problems he would of had after that (from the picture you can see he never got any network connection)
So there don't say I didn't give you any hope.
Froyo is offical. That's good, but we need to be looking past it to Gingerbread.
Froyo is announcedm confirmed, and now dated for the end of September, and that's great. But to me, that's not the question we need to be asking Samsung anymore, we need to be thinking past that.
The question people need to be asking Samsung, so we can get them on the record committed to it now, is will you release a Gingerbread update for the phone as long as the hardware is capable of supporting it. The OS is only 2-3 months from being unveiled if Google sticks to their time table, and if the rumors are true it'll be a much bigger overhaul than 2.1-2.2 is.
So unless we want our phones to be outdated before the end of the year, we need to start making a push as a community to get a commitment from Samsung to support not just the OS that was released 4 months ago, but also the much bigger one that's right around the corner.
2.2 is good.. proves everyone wrong who said "ooh its Samsung, of course they won't release Froyo."
but somehow, I doubt that samsung will somehow not upgrade SGS to 3.0. If they do, it might be a few months (at least) after everyone else gets it. The reason is, they could have new flagship devices out that they wanna push to the mass-markets, so putting gingerbread on that will boost the sales.
However, considering that they marketed the SGS so well, and have it well on its way, they might just put gingerbread on it
seriously, i see ads for SGS EVERYWHERE online.
mjgunn said:
[....]
So unless we want our phones to be outdated before the end of the year
[....]
Click to expand...
Click to collapse
I totally expect that my phone will be outdated by then. That's a consequence of the world we live in But then again, i'm a nihilist
Hey Guys,
I'm a developer for a living, and I'm interested in possibly working on a custom rom for my captivate. I was doing some research on how to get started, but the stuff I found was for HTC phones and involved using a starter that only works for HTC stuff.
Where can I go to find information on doing this? I'm largely interested in trying to port gingerbread, but my understanding was that until we have the full source this wasn't really possible (at least for something actually useable on a daily basis). I see supercurio is working on gingerbread, so information specific to this would be really helpful.
Thanks guys, and sorry if this should have been put in the QA section, I figured it was related to development, and could possibly be a sticky if it leads to useful info.
Pretty broad question. First requirement, is obviously...learn java.
I'm not sure if there's any specific "HOW-TO CODE YOUR OWN CAPTIVATE ROM" threads anywhere; there's general information available on http://developer.android.com , but modifying ROM's depends on the device it was written for.
As far as porting gingerbread, it will be very difficult without source and will definitely require quite a bit of kernel work. For information specific on this, supercurio would be the one to ask. Of course, the IRC's are also a great place to get information.
By the way, welcome to XDA! And I commend your motivation to develop stuff for the community here.
http://forum.xda-developers.com/showthread.php?t=869614
Doc over in the I9000 forums has the above thread started. I look there.
geokhentix said:
Pretty broad question. First requirement, is obviously...learn java.
I'm not sure if there's any specific "HOW-TO CODE YOUR OWN CAPTIVATE ROM" threads anywhere; there's general information available on http://developer.android.com , but modifying ROM's depends on the device it was written for.
As far as porting gingerbread, it will be very difficult without source and will definitely require quite a bit of kernel work. For information specific on this, supercurio would be the one to ask. Of course, the IRC's are also a great place to get information.
By the way, welcome to XDA! And I commend your motivation to develop stuff for the community here.
Click to expand...
Click to collapse
Again, I am a developer for a living. I know Java, I'm not looking for coding tutorials. I'm looking for information specifically regarding the captivate.
As far as gingerbread, it sounds like what you are saying is that what people like supercurio are working on is not really gingerbread? More of a Frankenstein created with the sdk, mashing together 2.2 kernels and what has been released for 2.3?
lbbo2002 said:
http://forum.xda-developers.com/showthread.php?t=869614
Doc over in the I9000 forums has the above thread started. I look there.
Click to expand...
Click to collapse
Looking at that thread, it appears the roms being made are just edited versions of already compiled roms? Is samsung not required to post the full source of their roms?
I'm assuming the issue with starting with the original android source, is that we wouldn't have drivers for half of the hardware in the phone. Is the only choice then to load the already compiled drivers from the samsung builds into the rom?
epoplive said:
Again, I am a developer for a living. I know Java, I'm not looking for coding tutorials. I'm looking for information specifically regarding the captivate.
As far as gingerbread, it sounds like what you are saying is that what people like supercurio are working on is not really gingerbread? More of a Frankenstein created with the sdk, mashing together 2.2 kernels and what has been released for 2.3?
Click to expand...
Click to collapse
There are different levels of making ROMs IMO.
You can combine work from others and make your own ROM. This requires no coding experience. For instance, I took JH7_OTA, dropped in Atinms Voodoo 3 kernel, removed bloatware, added my own custom framework (icons), etc., signed it and flashed it.
Then there is the whole Kernel side of things that requires an entire development environment (Linux) and C/C++ programming skills. I'm trying to get to this point. You can start by downloading the source and building it in your own environment familiarizing yourself with the codebase.
Indeed. Packing a ROM and making the contents of the ROM are two different sides of the spectrum. Even some minor framework modifications can be performed by the most tech-inept, as long as they have a good resource to work off of.
epoplive said:
Again, I am a developer for a living. I know Java, I'm not looking for coding tutorials. I'm looking for information specifically regarding the captivate.
As far as gingerbread, it sounds like what you are saying is that what people like supercurio are working on is not really gingerbread? More of a Frankenstein created with the sdk, mashing together 2.2 kernels and what has been released for 2.3?
Click to expand...
Click to collapse
I was only prodding fun when I mentioned learning Java, just to break the ice. All I'm saying is trial and error is the best way to learn Android if you're already a decent programmer. Without knowing what the source code looked like before Samsung owned it, we don't really have a base environment to work off of, which means we are modifying work that was already modified from stock; which is why it will be pretty hard to find a lot of definitive coding information about the Captivate.
Supercurio isn't making a frankenstein 2.2-2.3 hybrid. The kernel is where all of the information about your hardware resides. Supercurio needs to take the Gingerbread kernel from the Nexus S, and modify it to run with our hardware. You can't run a 2.3 ROM without a 2.3 kernel; so we CAN'T use a 2.2 kernel to run full gingerbread; and since a 2.3 kernel doesn't exist for the Captivate, he is using the Nexus s's kernel as a base, or as a reference to merge the differences between the two, creating a kernel that will support the Nexus S ROM on a phone that isn't the Nexus S.
epoplive said:
Looking at that thread, it appears the roms being made are just edited versions of already compiled roms? Is samsung not required to post the full source of their roms?
I'm assuming the issue with starting with the original android source, is that we wouldn't have drivers for half of the hardware in the phone. Is the only choice then to load the already compiled drivers from the samsung builds into the rom?
Click to expand...
Click to collapse
Correct. We don't have the source code for Froyo yet for the Captivate(or an OTA for that matter ), a lot of ROM's being made are based off of the SGS I9000 2.2 source, and because we have that source, we have a pretty much fully functional "captivated" i9000 kernel.
geokhentix said:
Indeed. Packing a ROM and making the contents of the ROM are two different sides of the spectrum. Even some minor framework modifications can be performed by the most tech-inept, as long as they have a good resource to work off of.
I was only prodding fun when I mentioned learning Java, just to break the ice. All I'm saying is trial and error is the best way to learn Android if you're already a decent programmer. Without knowing what the source code looked like before Samsung owned it, we don't really have a base environment to work off of, which means we are modifying work that was already modified from stock; which is why it will be pretty hard to find a lot of definitive coding information about the Captivate.
Supercurio isn't making a frankenstein 2.2-2.3 hybrid. The kernel is where all of the information about your hardware resides. Supercurio needs to take the Gingerbread kernel from the Nexus S, and modify it to run with our hardware. You can't run a 2.3 ROM without a 2.3 kernel; so we CAN'T use a 2.2 kernel to run full gingerbread; and since a 2.3 kernel doesn't exist for the Captivate, he is using the Nexus s's kernel as a base, or as a reference to merge the differences between the two, creating a kernel that will support the Nexus S ROM on a phone that isn't the Nexus S.
Correct. We don't have the source code for Froyo yet for the Captivate(or an OTA for that matter ), a lot of ROM's being made are based off of the SGS I9000 2.2 source, and because we have that source, we have a pretty much fully functional "captivated" i9000 kernel.
Click to expand...
Click to collapse
Ah, thanks, that's pretty much the information I was looking for.
Hi guys, I've come to the conclusion no one can answer my previous thread, so I'm starting a new one, asking a different question.
Can our phones just run stock Android? I mean, does Android support all our drivers? If it does, I may be tempted to just use that instead.
thanks.
YES .... BUT!
The answer is yes, BUT, I suggest you start reading about what Android actually is and the workings of this OS.
Then you will discover the possibilities yourself and within no time have the phone just the way you like it
If you would have read the forum you would have already had an answer to your own question.
Think before you act my friend.
There are AOSP and AOSP based roms for our device, whatever you want. You will find out what this means!
On this forum some useful threads:
http://forum.xda-developers.com/showthread.php?t=2232085
When I google for "What is Android custom rom AOSP" I get these links for you to start of with, do not forget, google is your friend in your search for answers
http://highonandroid.com/android-roms/what-is-aosp/
http://android.stackexchange.com/qu...ifference-between-an-aosp-rom-and-a-stock-rom
http://www.androidpolice.com/2010/05/01/custom-roms-for-android-explained-and-why-you-want-them/
Thanks Robin>Hood!
I neglected to mention that my phone is actually a customized China-only Xperia SP running on China Mobile's proprietary 4G network. It is called the Xperia SP M35t, and with the exception of more ROM (16 vs. 8)? and I'm assuming a chip that allows it to run to the LTE variant network.
Obviously I'm hoping that it would have no bearing on this conversation, and an AOSP ROM would be able to have all required drivers to run my phone properly. That I guess is the crux of my question.
I believe the Chinese Xperia SP is unique, You can't run other Android version besides the stock one.
Thanks cachanilla86! I guess I'll have to wait till a ROM comes out. Thanks!
MCChang said:
Thanks cachanilla86! I guess I'll have to wait till a ROM comes out. Thanks!
Click to expand...
Click to collapse
It depends what you mean by stock Android. You can't just download AOSP, compile it and flash it.
You CAN download Android source code from CodeAurora, compile that with a few minor tweaks and it will work (see my recaf project). I think it even has support for the Chinese LTE variant (I read something about it in code comments) but I didn't look at it as it didn't interest me, I obviously have no way to test it.
Thanks adfad666. I don't think I'm quite ready for any programming, minor tweak or otherwise. I'll just wait for someone to create a ROM for the Chinese Xperia.
Hey guys, I suppose some of you have had a xiaomi in the past and I have two questions for you and maybe someone that has some knowledge about xiaomi.
1) Currently how's Xiomi dealing with privacy? I remember 1 or 2 years ago Xiaomi has hit with strong reports of leaking information to their government (chinese) and everything we did on the phone would be seeded to their servers, even SMS's and other stuff..
2) How's the ROM support usually for Xiaomi? Do they usually get a stock based ROM, which has no bloatware and some nice tweaks?
Thanks everyone!
Afaik, being a mi3 user, they had a "data sharing" option on by default in miui which is now changed to be off. Personally i never considered it much as there were already devs who had made custom rom for the device, i think over the last two years i might only have used miui for about 4 to 8 months.
No bloatware, but if u r not a previous user, u might find some apps useless (it has its own clean master replacement app). So yeah, there are a lot of options for tweaks n stuff by default too. Hopefully this answers your questions. (and add a question mark to the title, it looks like u r going to rant about Xiaomi by reading the title, lol)
arnabbiswasalsodeep said:
Afaik, being a mi3 user, they had a "data sharing" option on by default in miui which is now changed to be off. Personally i never considered it much as there were already devs who had made custom rom for the device, i think over the last two years i might only have used miui for about 4 to 8 months.
No bloatware, but if u r not a previous user, u might find some apps useless (it has its own clean master replacement app). So yeah, there are a lot of options for tweaks n stuff by default too. Hopefully this answers your questions. (and add a question mark to the title, it looks like u r going to rant about Xiaomi by reading the title, lol)
Click to expand...
Click to collapse
Do you think there will be much custom rom/kernel support for the Mi 5 (or does this depend on Xiaomi allowing for an unlocked bootloader together with release of kernel sources) ?
SlyUK said:
Do you think there will be much custom rom/kernel support for the Mi 5 (or does this depend on Xiaomi allowing for an unlocked bootloader together with release of kernel sources) ?
Click to expand...
Click to collapse
There will sure be support for custom roms even when the kernel source isn't there, my device had custom roms even before kernel source was released, although there were a bit bugs due to it and only a few (like 5 to 10) custom roms were there, bit with the release of sources, it jumped to 50+. And my device had the bootloader unlocked by default, which even i didn't knew until i rebooted to it. Although the fastboot wasn't able to get the info about the bootloader (like version, etc). IDK if any new devices require to unlock it but i don't think it should be hard as they support it, so that won't be a barrier for development.
TL;DR- less n buggy roms w/o kernel source, floods of roms and custom kernels after source, nothing to concern about bootloader.
There maybe some rom development from a few people that get the device and maybe from cm. But that's about it. Non of the big name team roms will have official versions, just maybe ports.
As for the security and privacy. That is up in the air as it seems even on custom roms they some how have managed to still keep track of the devices. One person on the MI note found that even while not on miui for months that they still had a current backup of all his apps and info.
Website signature
zelendel said:
There maybe some rom development from a few people that get the device and maybe from cm. But that's about it. Non of the big name team roms will have official versions, just maybe ports.
As for the security and privacy. That is up in the air as it seems even on custom roms they some how have managed to still keep track of the devices. One person on the MI note found that even while not on miui for months that they still had a current backup of all his apps and info.
Website signature
Click to expand...
Click to collapse
With regards to porting an official rom, I suppose these would be regarded as Unofficial versions. If that is the case is there any real disadvantage in having the "Port" as opposed to have the "Official" version ?
Ports normally will have some bugs as this happens due to not having some things for device built into the code.
Data leak & Software development
Yes I also heard that even with a custom ROM on the device they still found a way to make the device connected and synching information with their servers, which I don't find that funny..
I wanted to know if this data leak is still present in the previous flagship, anyone tested it recently?
It's good to know that it has nearly no bloatware from what you are saying me, but if it has something I don't find useful I may just freeze the app.
Also does anyone know if Xiaomi usually takes long times to update the software of their devices (I heard that they were an exception in relation to other Chinese manufacturers) and release the kernel sources for the ROM developing community or are they pretty good on this area?
Thanks!
:good: :good: :good:
No they are terrible about it. Normally when they post the kernel source it is incomplete and broken.
As for updating. Until very recently they based their os on 4.4 and when asked why they said they didn't care about official android versions.
As for bloat that depends on how you look at it. Miui is about as bloated as TW or HTC Sense.
@zelendel In terms of big name team roms having official versions, would kindly give a few examples ?
SlyUK said:
@zelendel In terms of big name team roms having official versions, would kindly give a few examples ?
Click to expand...
Click to collapse
The biggest are the one or two devices (cant remember their names off the top of my head) that were able to get/fix the kernel source and device trees which CM picked up. So some of the teams that use CM source as a base like AICP also picked up Official versions for the devices.
Then you have the Roms that are based on AOSP instead of CM. As they dont use CM as a base ( Maybe some parts) These roms like Slim or Dirty Unicorns seldom see official versions of the rom. Normally you might get a port here and there. It all depends on if the one of the devs gets the device as most teams don't offer official support for devices they do not own.
Just wondering, I'd love to see LineageOS ported, although I personally suspect that given the commit to deliver Oreo by the end of the year, most serious work on ROM ports may start once that is delivered. I'd like to be surprised though! Thanks to all who contribute to the ROM community on any phone however, it is always appreciated even if you don't get enough thanks!
JUST got a copy of the XT-1900-1 factory image... maybe... really haven't verified it yet.
As for building, we are starting fresh so there is nothing to build *from* yet. Files and blobs need to be extracted and obtained. Device trees need to be populated. Then there is the conundrum of 6 or 7 variants of this device.
In other words, it will be awhile.