[Q] creating a device tree from scratch - Android Q&A, Help & Troubleshooting

hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.

I was actually going to make a post along the same lines as yours. From what I have found the pinned post in this forum from cyanogen about cooking is probably the most useful information to get started.
The issue I have is a forum just on this topic alone. It would be nice to have a forum that only discussed merging manufacturers released code into AOSP. By googling I have found the Atrix source code that Motorola has released and also the AOSP itself. By reading cyanogens post and mucking around with the source this should give you a good start.
Good luck and if you come across a forum with just this topic discussed post a link.
Also for setting up an environment this post is good for getting everything setup to compile what you need. It is a post to compile CM7 but it can be used for what you are looking for.

gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.
Click to expand...
Click to collapse
2nd hit googling android porting.
http://www.netmite.com/android/mydroid/development/pdk/docs/
Nothing is truly "update-to-date" there are somethings that your going to have to do your homework on. That is a very detailed guide on the basics of getting a port going and working towards the "device tree"
Unless the device tree is from a google nexus phone, then most likely the trees are not perfect. Cyanogenmod for example, the devs that work hard on creating those device trees don't just know what will and won't work. Each phone is different alot of trial and error. Do you build a binary from source, or do you use prop files already on the phone, that is all based on what is trying to be done and how much you know. Eventually you figure it out. It hard to just say what creates the device tree. Its just like someone asking for tips on how to write Java.
Bottom line, just do it and have fun.

lithid-cm said:
2nd hit googling android porting.
http://www.netmite.com/android/mydroid/development/pdk/docs/
Nothing is truly "update-to-date" there are somethings that your going to have to do your homework on. That is a very detailed guide on the basics of getting a port going and working towards the "device tree"
Unless the device tree is from a google nexus phone, then most likely the trees are not perfect. Cyanogenmod for example, the devs that work hard on creating those device trees don't just know what will and won't work. Each phone is different alot of trial and error. Do you build a binary from source, or do you use prop files already on the phone, that is all based on what is trying to be done and how much you know. Eventually you figure it out. It hard to just say what creates the device tree. Its just like someone asking for tips on how to write Java.
Bottom line, just do it and have fun.
Click to expand...
Click to collapse
thanks for the response. maybe im just searching for the wrong things... that and its not sinking in to my thick skull lol.. ill keep reading. im just trying to learn how it all works. some of the things i read either dont make sense or are really vague. i am currently cramming java into my head for app development. i suppose thats a good place to start. my end goal is to contribute.

gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo.
Click to expand...
Click to collapse
I am trying to figure out how to build/port ROMs too. It has been a nightmare trying to study that. Not enough material, or the material is incomplete. Most of the tutorials are meant to be done with nexus devices wich has a native suport from android. No such a help for someone who is seeking a way to build for a new, unusual device (like me).
I didn't get this "three" thing. And, In my case, it is a little bit weirder because I am trying to build for a MTK6577 processor. (Some may say I am screwed).
although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide.
Click to expand...
Click to collapse
Many years ago I said: there will be a Time when people will know the "internet junkyard" or the "virtual online trash can".
I was reffering to outdated information. This information is available now and is not completely reliable because it is old and no one got rid of it.
It is something that is new (although the information is old, the event is pretty new) and we must learn how to deal with it. Unfortunally.
To de development point of view, I've been facing an incredible hard time just to find new information about building a custom rom from the source or porting an existent one.
I know i didn't help at all, but, I felt I must say that.
Anyway, knowing about anything, let me know.
Best regards!

gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.
Click to expand...
Click to collapse
Here is the Small Guide Made to Begin from scratch for Android Device Tree Building

Related

Real cooking issues

Hello!
I see all these advices on making a ROM. But these advices and the issues they deal with are IMHO not the real issue. If you have a Nexus One phone and want to modify the Android OS there's nothing stopping you. It's "easy". It's all "there".
But what if you have a new Android phone which has proprietary driver code and made by a company that has NO interest in sharing it's code or make it easy for you to root your phone? Making ROMs for these devices is the interesting thing to talk about. Otherwise you can change the name on this forum part to: "Make ROM = *.android.com"
So these two issues are the most important ones IMHO:
1) Devices DO get rooted. So some people must know how to get there. I assume that there is no "one way" of doing this but it would be nice to discuss this and make some sort of a list on what to THINK about.
Many devices will never get rooted because the brand is despised here. That is why it would be good to have some general knowledge so others that ARE interested in these despised brands can take action.
2) You have a rooted device. You load a standard Android OS ROM. All proprietary drivers are lost and thus many features and maybe whole hardware units are unavailable to you. How do you locate and use unsupported hardware in your ROM?
I understand why many "elite" devs have a Nexus One since there are no propietary driver code in that one and rooting was easy. So the doorway to the Nexus One Kitchen is wide open. But what about the rest of the new Android phones that are out and will come. Why don't you discuss and explain the general thinking in rooting a device and finding/using hardware/features that are lost because of proprietary driver code.
Thanks for your time
BR
Robert
Wow, you really need to do some reading is all I will say.
carz12 said:
Wow, you really need to do some reading is all I will say.
Click to expand...
Click to collapse
+1. i don't even get his problem tbh.

[Q] Nexus S binaries with Vibrant? (Re-post from Dev forum)

This is a re-post of a question posed by naddie in the development forum. I was curious about something similar, and received some indication that the dev forum was the wrong place to get the question answered. Any thoughts over here?
"I'm starting to learn how to compile Android ICS from source, and thanks to Shen's tutorial, I'm starting to "get it".
So I do have a few questions before I get started.
1) Does the Nexus S and the Samsung Vibrant use the exact same hardware?
2) Can I use the Nexus S binaries listed here (http://code.google.com/android/nexus/drivers.html) for the Vibrant if question #1 is a "yes"?
I was going to buy a Nexus S or GNexus just for the purpose of learning, but if my Vibrant is basically an Nexus S, I say why not use it? It's not my daily phone.
FYI, it already has ICS Passion v9.2 on it, and has an FFC (I added it). I would just like to get started in compiling my own ROM for the sake of learning, starting a new hobby, and hopefully able to contribute to the Android community in which I have already benefitted as a ROM-flashing enthusiast."
Yep, that'd be me. Posting to automatically subscribe.
I went ahead and followed the steps of Shen's guide and currently compiling into an OTA package.
I built it as if it was for a Nexus S. Would I brick my Vibrant if I flash it?
If so, what do I have to do to make it a Vibrant specific ROM, assuming the binaries for the Nexus S works for the Vibrant?
Right now I'm thinking there's no way it will work just like that. Otherwise ICS for the Vibrant would have been a trivial thing for the more seasoned developers.
Even if it's something I can't do on my own, I'd like to learn how it's done. Anyone who can chime in on this, please do. Thanks!
*bump*
Anyone?
Dude, I think you and I are alone on this one... :E
the devices are a little different but what you could do is track down all the specs of the vibrant, chip set and everything and figure out what is the same between the 2, then you wouldnt have to port over as many binaries, also we have 3 ics ports currently so you should be able to take everything you need from those roms and build for the vibrant
I am fairly certain there is a way to do it on your PC to compile all the binairies, libs, modules,...and flash it through a type of dummy phone set up on your PC without ever touching your physical phone. It was in another forum that I am a member of. If you want more info on it, I can PM a buddy of mine about it. Not sure if it was a github type thing or some other repository and then you build your source on your PC and if it works great you can transfer to phone. If not, then no harm no foul and you find the problem.
You can pull up basic specs on NS and Vibrant on GSMarena side by side. That is how I decided on picking the Vibe instead. I am kind of a media whore and like the external sd slot. 14+gb on internal and 32gb sdcard is supreme storage.
I decided to do it proper, and found that the CyanogenMod github has the binaries:
https://github.com/CyanogenMod/android_device_samsung_vibrantmtd
However, in the step where I run ./extract-files.sh (which requires the phone to be jacked into the PC and recognized by ADB), it copied files over, but had complaints of missing files.
Upon running lunch, it said it did not find a config file for the SGH-T959.
Here's the post I did on the Tutorial thread. No answers yet.
I appreciate the responses here, though.
http://forum.xda-developers.com/showpost.php?p=21025049&postcount=89

[Q] Developing for SGH-i717

Hello, I currently own an SGH-i717 and would like to start rom developing for it and would like to know where to start. If I was a complete noob and compared to most of the people here I might be, how would I download 4.0.3 source code, use adb with my phone and etc etc. I find it all very interesting but I have no idea where to start.
I am asking for help with this specific device, then maybe onto porting for other devices but this model has a very sore lack of developers for it and since I own an ATT Note I would like to start the development for it regarding ICS and etc. Also why is there a lack of developers for this model's roms?
Thanks for any and all help regarding this issue and I am excited to get started developing for you guys!
I think you need something called android sdk
Sent from the only smartphone designed by Chuck Norris
So what do I win if I vote in the poll?
KangKilla said:
Hello, I currently own an SGH-i717 and would like to start rom developing for it and would like to know where to start. If I was a complete noob and compared to most of the people here I might be, how would I download 4.0.3 source code, use adb with my phone and etc etc. I find it all very interesting but I have no idea where to start.
I am asking for help with this specific device, then maybe onto porting for other devices but this model has a very sore lack of developers for it and since I own an ATT Note I would like to start the development for it regarding ICS and etc. Also why is there a lack of developers for this model's roms?
Thanks for any and all help regarding this issue and I am excited to get started developing for you guys!
Click to expand...
Click to collapse
google search, ever heard of it before? and there is no lack of devs here unless you consider quantity over quality to be better
LOL
Underground_XI said:
google search, ever heard of it before? and there is no lack of devs here unless you consider quantity over quality to be better
Click to expand...
Click to collapse
If that was the case, then why aren't there ice cream sandwich roms for att note?
and also, what do I search for? I'm very busy so I don't have time to mess with google all day. I need someone who is willing to work with me on educating a new developer, that maybe in turn had someone to learn from before them that appreciates a new (quality)developer.
To keep things simple here... Please refrain from jerky comments as I am trying to maintain progression in this area and again I am a very busy person so I would appreciate it if we kept this thread professional.
Thanks again for any help you care to give! I apologize for being a beginner, but everyone has to start somewhere... right?
kevinjgray88 said:
I think you need something called android sdk
Sent from the only smartphone designed by Chuck Norris
Click to expand...
Click to collapse
I already have the Android SDK, but I'm not sure how to use it for developing. I tried once and ended up frustrated with it. Are there easy to understand tutorials somewhere around here that might help a beginner?
I've managed to unbrick my captivate using ADB once but it was very foreign to me and I was kinda impressed I even pulled off sending it into download mode. Thanks for helping!
jpeg42 said:
So what do I win if I vote in the poll?
Click to expand...
Click to collapse
Tell em what he's won Johnny!!! - A BRAND NEEW ICE CREAM SANDWICH!!!!! - ::And teh crowd goes wild!::
It's good to see someone with a lot of drive to develop, but the biggest hurdle isn't building AOSP from source. You need to get a working kernel that is compatible with ICS and all the Notes hardware. You can't google search how to do that. In reality it's almost impossible to do if you don't have extensive experience with that sort of thing.
We need the source code from Samsung for the Note and as far as I know, there is no source code out yet for the Note (for any version of Android). The roms you are seeing right now (two that Im aware of) are basically rigged versions of the stock rom where things have been removed (bloatware) and a few things have been added that conveniently worked out of the box without messing with code.
The real work will come when we have some source code to work with.
Ok, what's next?
macked said:
It's good to see someone with a lot of drive to develop, but the biggest hurdle isn't building AOSP from source. You need to get a working kernel that is compatible with ICS and all the Notes hardware. You can't google search how to do that. In reality it's almost impossible to do if you don't have extensive experience with that sort of thing.
Click to expand...
Click to collapse
Okay well that's a start... does anyone know where I can find a stock version of ICS to study it's code and experiment? I found source codes for SGH-i717 here
opensource(dot)samsung(dot)com
(I need more posts to make that a link, lol)
I searched for i717 and it came up with four source results on samsung's opensource search bar but I don't know what the four results are for and what the difference between them all are(unless it means it is for att or tmobile or etc, etc.), if you can tell me any info on these then I would be greatly appreciative.
Yeah, I have no clue how to do most things with coding for android but I do understand how to flash correctly, root and all that jazz. I just lack the programming skills and work flow it takes to make all this. I am downloading java for dummies and learning how to use XML files, but I am wondering if there is something else I should study too?
It sucks that I came here starting from scratch basically but I have learned a lot from here in a short amount of time, I appreciate all of the developers who have made the roms I love along the way, I am just growing impatient with the far and few between updates for your devices and I want to see updates for our devices come faster and the only way to do that is to do something about it. So I am very grateful for any help I get regarding this.
Where can I start with the kernel search? Is that what everyone is waiting on to start developing ICS for this phone? Does anyone know if one exists?
Another Question
What's the difference between a kernel and a rom? Basically.. what the heck is it in lamen's terms?
KangKilla said:
What's the difference between a kernel and a rom? Basically.. what the heck is it in lamen's terms?
Click to expand...
Click to collapse
This is a great place to start.
http://developer.android.com/guide/basics/what-is-android.html
Thread closed
This is not the place to learn how to develop, go to Android Development and Hacking forums and start studying.

Development Talk

I know aosp is all open source and theres tons of places to download from. As well as many tutorials to do so. Though my question is, Why you people in general dont just repo sync the master branch and make modifications your self ? Understand the Android Architect layout? Getting knee deep in the development? Go to linux forums to build kernels unpack images etc? I love xda though but sometimes you have to go to the root and birth of Android. Which is Linux. I aint haten though you might not get as many errors if you follow directions to the tee. Everyone wants the easiest way possible well for some. I recently just got into Android development I've read multiple tutorials for various things and some were successful and others were not. On Linux forums and XDA I corrected them from going to the source Linux. Though we learn from trial and error. Though in my opinion knowing what is going behind the scenes is better then just clicking buttons and choosing options. i been into pc's for a long time and i know the difference between software and hardware. Obviously the kernel is the hardware in android development thats common sense. So compiling a kernel for your device and flashing it to a rom of choice will fix many issues. Thats just me. You'll just have to modify the kernel yourself. Basically what im sayn is learn learn learn google is your best friend XDA and Linux. Yes we all learn from eachother though sometimes its best to do it on your own.

tips and pointers to start devin>>

i had always meant to do some developing but the drop in activity i realized when i moved from the sensation to the rezound really compelled me to start plus i have some work that i really have to do and really dont want to do so you know how it goes. Anyway to it
i started by googling how to build android roms which lead me to xda university giving me a nice expaination as to the various parts of android which i was already familliar
another search lead me to the offical how to build android from source page. i had a few concerns so i thaught i would ask here
i have knowlage building various web applications(php,js,ect) and not the let the fromework so this for me kinda apps i like thinking and innovating. i have a little experience with c++(i was at the stage of learning a gui when my old laptop crashed) so i think i have atleast good enough programming experience to catch on to java at a nice pace. Am currently reading and following googles nice little guid on developing android. Am in the process of setting up work envo (already got ubuntu 12.04 up). and thaught i would just leave a post here to see if anyone had any advice for me?
what i wanna do is be able to port for us,build original roms AOSP they call it for us, build and or port sense roms for us and eventually get to the point where i can get us sense5 or help neo(or any other dev) help us get sense 5. oh and i think i would like to build/modify kernels as well. oh oh and being able to invent exploits to get root or s-off for devices i might get in the future.
Question: while i was reading i was seeing where the buiding process was doing alot of synceing with google servers ect. i dont actually want to submit whatever garbage i might write to them while am testing so im still on the right track following the guid here correcto??
short version: I wanna build android custom roms ect not just edit files and put it out am i on the right tract following the guid here (i already know a lil programming)? http://source.android.com/source/initializing.html
any advice/resources/links welcomed
oki am on the page that says "building and running" i dont see anything for our device am guessing thats because development from aosp has stopped for us and thats where ppl like neo and cyanogen make thier magic. what is the next tut or read for me?
Try this. You could always pull Neo's CM 10.2 repos instead of the 10.1.
http://signatures.mobile-overload.com/wp-content/uploads/2013/07/sig-cm-5.png

Categories

Resources