I found a guide for compiling AOSP for 4.0.3, but I'd like to do it for 4.0.4. I'm more interested in learning about roms and stuff, but I don't want to use the rom kitchen. I have a working dev environment (ubuntu 10.04, followed the setup procedures on the AOSP site).
I have my repo sync'd and ready to build, but I read that I need proprietary libraries for my phone. Unfortunately I don't see anything about the cdma G nexus on this page (only maguro):
https://developers.google.com/android/nexus/drivers
So.. where do I find these? I've been doing a lot of searching but unfortunately I can't find any information on this. Thanks in advance.
The bottom of the page you linked has a few binaries for the CDMA Nexus. Other than those, use the extract-files.sh script in the device folder (device/samsung/toro) and if you run that with your phone attached and adb enabled/setup, it will pull the rest of the files that you need off of the phone.
Thanks! The files in that guide were from 4.0.3, would these be different from 4.0.4?
Related
Hi,
Apolgies if this is in the wrong place, but this is the only forum I would expect to get my answer.
I need someone to point me in the right direction please. I'm thinking of compiling an ASOP for personal use from source. I have looked at the google tutorials and even though Linux isn't my weapon of choice, being an IT systems engineer I do not feel following the tutorial will be too difficult.
However, is there a more specific guide for the desire?
The tutorial builds for the development handsets eg Nexus one. Is it just a case of supplying the correct drivers, RIL and editing the product code, or is there a bit more to it than that?
Any help / direction greatly appreciated.
You could start with building ROMs from Oxygen or CM source. That way you can familiarize yourself with the AOSP project without worrying about drivers etc. (DevNull source is completely stock AOSP with drivers for the Desire etc.)
Later on, when you know how everything works, you can start your own project.
If you want to start building AOSP from Google source, you might want to read the tutorials over at Google for a couple of times + checking the wiki's over at CM. They pretty much explain everything that there's to it.
If you're looking for a guide specific for the HTC Desire, then I think you're out of luck. Most dev's over here start off with the tutorials over at android.com and even with tutorials etc. at CM.
Is DevNull definitely 100% AOSP + drivers? If so, then it would be pointless compiling from source anyway.
I already ran that through dsixda, but the options there are quite limited.
What I had hoped I could do was make a tiny tiny AOSP. DevNull is pretty small though, so maybe it can't get much smaller.
rootSU said:
Hi,
Apolgies if this is in the wrong place, but this is the only forum I would expect to get my answer.
I need someone to point me in the right direction please. I'm thinking of compiling an ASOP for personal use from source. I have looked at the google tutorials and even though Linux isn't my weapon of choice, being an IT systems engineer I do not feel following the tutorial will be too difficult.
However, is there a more specific guide for the desire?
The tutorial builds for the development handsets eg Nexus one. Is it just a case of supplying the correct drivers, RIL and editing the product code, or is there a bit more to it than that?
Any help / direction greatly appreciated.
Click to expand...
Click to collapse
Hi Dan, for a start, the best place to start would be building a Cyanogen Rom from source as per Cyanogen's guide here. This guide is specific for the Desire
My suggestion is to build/modify this source first, since it's actively supported by a community. Once you get a fair idea, you could move on to the vanilla source..
Btw..Linux knowledge isnt crucial for building it, and you can easily follow the guide
Edit: Oops, just reallized that I just mirrored Pyr0wl's advice
Ok, so after having a million questions I thought I'd write up a quick little 'how to' with regards to porting.
And now the warning
Read and learn first, doing this could cause serious issues with your tab or even brick it. The tab is really tough, and hard to brick if you do everthing right but it could still happen. I'm not responsible if it does.
Where to start
Get good at reading, google searching and searching XDA. Lots of porting discussion regarding other phones can apply to the tab.
Learn to use Heimdell
Have a linux distro available, either by virtual box, or natively.
Technomancer where it all began
I've said it before and I'll say it again, without techs work miui wouldn't have been possible.
Reference technomancers thread here: http://forum.xda-developers.com/showthread.php?t=931857 on how to download the cm7 + sgt source, you're also going to want to follow the kernel making part, cause most likely you'll need to make adjustments to the init.rc which is inside the initramfs and requires building the kernel again.
porting x build
Get X build onto your computer and extract the update.zip for it.
Copy the boot.img into your linux environment and extract it using splitbootimg.pl script (note: Google it, plus this doesn't work with samsung builds). Compare the init.rc to your init.rc (from the sgt cm7 kernel source root folder). Specifically the most important part here is the PATH, LD_LIBRARY_PATH statement and BOOTCLASSPATH lines.
Build your kernel with the updated init.rc and flash with heimdell, it should still boot your cm7/miui build (if you were running it before) albeit with errors.
The system
Now following the awesome list of proprietary files (either from your source folder or technomancers github link) check the galaxytab-common-vendor-blobs.mk for the GT-P1000. It lists every file you need that's propreitary to the tab and where to put it.
Also you'll probably need the debuggerd from /system/bin on the cm7 build.
Compare the /system/build.prop of the cm7 build to your port, make sure the ril info is the same as well as the ro; model, brand, device, board, and platform lines.
Create an update.zip (or whatever you want to call it.zip) and try it.
It's not booting
Logcat is great, but I really suggest using the ddms from the android sdk tools. It's color coded, and gives a much nicer view of what's happening.
Using winmerge in windows or a linux file compare program start checking what other bin files may be missing that you require. Special notice to the xbin folder.
It works! I want to post it!
Ok, first up, make sure you have permission if this is someone elses custom build you've ported. Most people/groups are really good about it assuming you ask first and give them credit in your post.
Also credit everyone who helped, answered a question or sent you in the right direction. (it's just polite)
Second your going to want to make sure your update.zip flashes the kernel, read the update_script from the cm7 build to understand how it works.
So that's it for a start. roll up your sleves, gather your courage and get to it!
Please if you have other tips, add them to the thread, what's better 1 or 2 'developers/porters' or 100?
Thanks. This is very useful for me.
Thanks,
Following this method, with slight alterations to adjust, I was able to port an i9000 phone build to the tab in about 10 minutes, it's really not terribly that difficult once you have the right steps.
The first couple times are usually frustrating but after that you get the hang of it
Hi mssmison Thank you for your guide,it will be very useful in the future! I have only one request,how can I contact you? I have a proposal for you about a dev team (regarding an old think tank)
Thanks for the guide...
Is there any ROM left to port by the way?
Sent from my GT-P1000 using XDA Premium App
I'm trying to build a rom from AOSP and noticed that there are two binaries for maguro: graphics and gsm, but only the graphics binary is available for toro. Is the CDMA binary needed? I cannot find it anywhere.
If it is required, how are people making 4.0.3 toro ROMs without it?
Either using a system dump to extract the proprietary drivers or running `device/samsung/toro/extract-files.sh` which does an adb pull from the actual device.
what file(s) am I looking for?
extract-files.sh tells you all the files you need.
so where is this extract-files.sh?
device/samsung/toro
Thread moved. Please don't post in the wrong topic. It pisses me off.
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
jtvd78 said:
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
Click to expand...
Click to collapse
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
bk201doesntexist said:
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
Click to expand...
Click to collapse
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
simms22 said:
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
Click to expand...
Click to collapse
Part of the questions you're asking OP, can be solved with information available on that link simms22 and I posted.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Click to expand...
Click to collapse
obviously not, that's why i said "aosp-supported devices". devices that aren't aosp supported, need the same things we need, except in their case there's the matter of proprietary frameworks and drivers (called binaries), which we have available almost from the start.
jtvd78 said:
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
Click to expand...
Click to collapse
sure, guides @github or at any other repo. there's no better guide than being able to read source code and how the masters do it.
jtvd78 said:
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
@source.android.com.
tip: you'll need to learn how to git. there's plenty of tutorials around the web.
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
jtvd78 said:
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
Click to expand...
Click to collapse
instead, do:
Code:
. build/envsetup.sh && lunch full_toro-user && make -j4 otapackage
done.
Thanks! One more question... where exactly is the finished zip?
it tells you where it is when it finishes building..
out/target/device/samsung/toro/
sent from my i9250
I have tried googling this and also searching the forums and have found many helpful guides for setting up build environ for building CM/AOKP/AOSP and so on. I am new to this obviously and dont totally understand linux and what not but have successfully built CM from source for my S4. Now I would like to start building KitKat from googles source. I mostly like everything about the google stock rom and seeing as their are fewer things in it then I would want to change in the stock CM builds and whatnot that I would really like to just get the google repo and build from that source. When following the guides I have seen they all refer to the repo's for the AOKP or CM or whatever and not AFAIK googles source. Is this so simple that beccause I dont understand how to do it maybe it means Im not supposed to be or is it just an unusual desire? Anyway if someone could direct me to the proper guide or the proper command to init the google 4.4 repo for the Nexus 7 2013 Deb/razorg I would greatly appreciate. Not sure if this should have gone in dev section or here or what but figured not clutter dev forum with such a simple thing. Thanks in advance. Any guidance on any of this source building design stuff would be appreciated as well.
McOpCo 5528
I think I just posted to soon. Finally found googles site and looking through it I think I am getting there. Still would appreciate any help or suggestions on guides to read or anything that helped any of you build your first few builds via source. Thanks.
repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.1