How do I start developing ROMs? - Samsung Galaxy Nexus

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

Related

Modifying Android's built-in apps

Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
FunkTrooper said:
Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
Click to expand...
Click to collapse
1) The whole sources for everything are there
http://github.com/ninpo
2) You can import the sources to eclipse, but I think you will need to build the entire tree, as opposed to just what you change
3) Apktool lets you do smali and resource edits on an APK. Without knowing what you aim to do, it's hard to guide you specifically.
Most apps are based on the sources provided by google. I assume you are talking about Froyo Hero ROMs (i.e. FroydVillain), which apps are generally built from the source of CyanogenMod. Specifically for FroydVillain, if you look around ninpo github you will see some packages with some changes to their code, although it does seem that many of the changes in recent releases are not there. I have actually PMed ninpo about this and hopefully this is only a technicality.... I assume that the other packages and apps (most of them) he just compiled off the CM sources without changes.
In any case, if you compile an app either from the CM source or from google's original sources, it should work just to copy the apk file - just make sure you use an appropriate ROM (i.e. Froyo ROM if you built it from Froyo sources). The reason to want the CM sources, is that if they have incorporated further fixes (over the google sources) you may want them.
Finally, some more practical advice: I would start with the google sources: http://source.android.com/source/index.html since I have found these instructions and explanations easier to begin with - it should be quite straight forward to build these sources on a linux machine (or VM).
Then you can also try to tackle the cyanogen source: http://wiki.cyanogenmod.com/index.php?title=Building_from_source currently missing instructions on how to build for hero. But if you only want to copy apks out of it, you can just build a generic build (like in the google souce).
If you have specific problems, ask and I'll try to help you.
Good luck.
pulser_g2 said:
1) The whole sources for everything are there
http://github.com/ninpo
Click to expand...
Click to collapse
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Thanks for the advice I love this forum!
What I'm trying to do, in case you're wondering, ultimately, is to modify the built-in messaging application to give the user the option of sending a message by the normal method, or by using their provider's free webtext service, something that all the carriers seem to offer here in Ireland.
So, for example, you'd press the Send button, and you'd be able to select one of those methods. (of course, you'd have to have a data connection for the webtext). There's also be an interface for entering your login credentials for your carrier's website.
I'm doing this party because it would be very useful. I also feel that it would give me a good introduction to how you'd go about modifying Android. I mean, from a programming point of view, it shouldn't be *too* hard to do. I already have a simple standalone app that I made which can send a text message via an Irish carrier's webtext service. But it's all good experience to try to modify other people big codebases.
I have a good bit of experience with web application development, but my experience with other programming is a little more limited. I usually use PHP, where there's none of this compiling nonsense. You just write scripts and off they go!
So I'm gonna go off and see if I can set up an environment where I can build.. the OS, I guess.
If I was to take the vanilla official Google sources, would they work on my phone? Or would I have to use an official Google developer phone... or the emulator? Or maybe if I stopped writing here and investigated those links you've provided, I'd know that by know.
Brb, investigating
Yeh investigating and just trying to do it is usually the best way
To clarify what I was trying to say above: All the java code is obvious very portable - one of the big advantages of java. In the case of android it is compiled to an .apk file and this file should be, at the very least, portable to all android "devices" running this android version. So the apk you build (for example from the vanilla 2.2 sources) should work on the emulator (good for initial debugging) and any 2.2 ROMs.
erasmux said:
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Click to expand...
Click to collapse
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Hacre said:
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Click to expand...
Click to collapse
Thanks Ninpo

[DEV][DEV-ONLY] Honeycomb Progress

[This is not the place to say "this is awesome" or "thanks!"]
[DEVS ONLY]
I want to start this thread to keep up the progress on the port.
the bad news is that the SDK is incomplete for now, so (like other devices)
we will have to write our own code for the OS, the nook community
has done a wonderful job writing their own libraries and stuffs, so we will have to do the same.
Instead of pursuing different goals, let's focus on one thing at a time.
since GSM and CDMA versions are already out, it seems we suffer the same bugs, so for now let's unite strength and knowledge to overcome these.
I propose that the first goal to fix is the SurfaceFlinger, so we could at least see the apps, the buttons and the notifications.
it is currently throwing this:
04-06 22:01:35.495: ERROR/Surface(2960): dequeueBuffer failed (Out of memory)
this could lead us that it might coudln't start because of some malloc malfunction or something.
also that pvrsrvinit bugs me a lot.
update:
8/APR/2011
since DiP7 could fix SurfaceFlinger and other things using a different build from the GSM kernel, we have to dig deeper
======================================
CURRENT GOAL
Rebuild Kernel
======================================​
Current approaches:
*none
Post any finding, guessing or anything, and please, please don't be afraid to ask anything you have a doubt, as a Dev you should not know everything, so we can help us each other
------------------------------------------
Google Easter egg:
while searching some info about the android.mk file , I put it on the chrome bar to search for that term, but instead I went to
http://android.mk
an easter egg web page from google lol
******TOOLS*********
How to send text and Keystrokes via ADB
http://bradchow.blogspot.com/2011/02/send-intent-and-key-event-by-adb.html
use DroidExplorer to easily access your device from your computer and makes changes from it
http://de.codeplex.com/
The Android Boot Process
http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html
---Kernel Tools----
CPU Datasheet
http://forum.xda-developers.com/showthread.php?t=745877
Samsung GIT
http://android.git.kernel.org/?p=kernel/samsung.git;a=summary
PowerVR SDK
http://www.imgtec.com/powervr/insider/powervr-sdk.asp
Source code of samsung firmwares(keep and eye on this)
http://opensource.samsung.com/
Asus pad honeycomb Kernel Source
http://forum.xda-developers.com/showthread.php?t=1026528
ellokomen said:
======================================
CURRENT GOAL
Find why SurfaceFlinger is not working
======================================​
Click to expand...
Click to collapse
Mmmk.. Let me tell you a story.
A long time ago in a galaxy far away... No, that will take too long. In a nutshell, one third of the answer is here, another third is here and the rest is here. I'm not trying to be intentionally vague, I just haven't figured out how these three fit together yet.
Of course, there could also be some bit of code that I missed... some telling line in a debug log that I overlooked or some driver or library that I could have decompiled to sift through its juicy secrets. There could easily be a fix that would take seconds to add and make the whole thing fall in line...
Or we might have to work it from the ground up.
Either way it will happen. It's just a matter of whether it will happen next week, or next month.
(Watch it be a misplaced semi-colon, or a bad symlink... that's how these things go.)
updated approaches and new tools have been added
spacemoose1 said:
Mmmk.. Let me tell you a story.
A long time ago in a galaxy far away... No, that will take too long. In a nutshell, one third of the answer is here, another third is here and the rest is here. I'm not trying to be intentionally vague, I just haven't figured out how these three fit together yet.
Of course, there could also be some bit of code that I missed... some telling line in a debug log that I overlooked or some driver or library that I could have decompiled to sift through its juicy secrets. There could easily be a fix that would take seconds to add and make the whole thing fall in line...
Or we might have to work it from the ground up.
Either way it will happen. It's just a matter of whether it will happen next week, or next month.
(Watch it be a misplaced semi-colon, or a bad symlink... that's how these things go.)
Click to expand...
Click to collapse
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
However I do not think you are wrong that there is a problem somewhere in the kernel. The kernel that has been released for the galaxy tab is a mess of horrid code, I have had to re-write parts of kernel drivers just to get them to work under linux, I would not be surprised if similar patches are needed for honeycomb
lilstevie said:
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
However I do not think you are wrong that there is a problem somewhere in the kernel. The kernel that has been released for the galaxy tab is a mess of horrid code, I have had to re-write parts of kernel drivers just to get them to work under linux, I would not be surprised if similar patches are needed for honeycomb
Click to expand...
Click to collapse
you mean that you made a port of a Linux Distro into the tab?
ellokomen said:
you mean that you made a port of a Linux Distro into the tab?
Click to expand...
Click to collapse
yes click here for the thread on the port of ubuntu
Current kernel source
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
noobporter said:
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
Click to expand...
Click to collapse
here it is, bear in mind that this is for CDMA devices
Unfortunatey, we have 4 other honeycomb threads.
Not trying to be rude but spacemoose updates us in the cdma forums AND we have russian rom updates in the gsm forums.
I really dislike the idea of this thread, there is enough clutter amongst the other threads. Do we really need one more place to browse..
The first posts in the roms thread are kept updated by devs.. Is this not enough??
daml said:
Unfortunatey, we have 4 other honeycomb threads.
Not trying to be rude but spacemoose updates us in the cdma forums AND we have russian rom updates in the gsm forums.
I really dislike the idea of this thread, there is enough clutter amongst the other threads. Do we really need one more place to browse..
The first posts in the roms thread are kept updated by devs.. Is this not enough??
Click to expand...
Click to collapse
yeah but we need a place for the other devs to share their milestones, here is a place for technical discussion amongst us, to share the knowledge etc...
the other threads are flooded from non devs messages, so it´s kind of difficult to read 14 pages of information when the 80% is people complaining not making it boot
lilstevie said:
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
Click to expand...
Click to collapse
Yes, and it contains some support for our device (s5pc110), and some more that can be added (pvr) and the architecture necessary to fully support HC without patching the build itself. If we work only towards patching the system build to communicate with the hardware, we won't be able to run AOSP hc versions when the source drops without going through the same painstaking process of hacking the system to function (while creating numerous faults causing FCs in the process). If we build a new kernel, we can get the hardware to communicate in the way future android versions want it to and we can then do what we want with ease.
noobporter said:
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
Click to expand...
Click to collapse
D'oh! Nobody told me, LOL... I'll get another copy up.
spacemoose1 said:
D'oh! Nobody told me, LOL... I'll get another copy up.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1026528
hey spacemoose! the first portion of honeycomb source... The kernel source of the Asus EEE Pad Transformer... maybe it helps you with a few kernel issues, even if it's for another device... It's honeycomb!
Flokey said:
http://forum.xda-developers.com/showthread.php?t=1026528
hey spacemoose! the first portion of honeycomb source... The kernel source of the Asus EEE Pad Transformer... maybe it helps you with a few kernel issues, even if it's for another device... It's honeycomb!
Click to expand...
Click to collapse
Digging through it now.
spacemoose1 said:
Yes, and it contains some support for our device (s5pc110), and some more that can be added (pvr) and the architecture necessary to fully support HC without patching the build itself. If we work only towards patching the system build to communicate with the hardware, we won't be able to run AOSP hc versions when the source drops without going through the same painstaking process of hacking the system to function (while creating numerous faults causing FCs in the process). If we build a new kernel, we can get the hardware to communicate in the way future android versions want it to and we can then do what we want with ease.
Click to expand...
Click to collapse
Not enough really, PVR kernel module sources have been released from samsung for our device, and is available in update1 zip.
The kernel panics and we have no framebuffer from the nexus s, believe me that is the kernel I want to be running for my project, it is cleaner nicer and things are implemented overall better. unless you know of a solution for kernel debuging over usb
lilstevie said:
Not enough really, PVR kernel module sources have been released from samsung for our device, and is available in update1 zip.
The kernel panics and we have no framebuffer from the nexus s, believe me that is the kernel I want to be running for my project, it is cleaner nicer and things are implemented overall better. unless you know of a solution for kernel debuging over usb
Click to expand...
Click to collapse
Kernel debugging over USB = adb shell cat /proc/kmsg
You can make any kernel work for any device as long as you add the **** it needs. Just takes time. Working on it now.
Goal and tools updated*
spacemoose1 said:
Kernel debugging over USB = adb shell cat /proc/kmsg
You can make any kernel work for any device as long as you add the **** it needs. Just takes time. Working on it now.
Click to expand...
Click to collapse
You don't know what a kernel panic is do you?
lilstevie said:
You don't know what a kernel panic is do you?
Click to expand...
Click to collapse
I thought that linux throws a dump log when it makes a kernel panic specifying the memory address and the cause of crash

emulating gn rom and kernel

Hey all.
I recently compiled android 4.0.3 AOSP for galaxy nexus as was explained in the topic at general discussion.
after a few days of issues, all went fine and i got myself a zip ota package file.
Now, as a developer, i wish to change the rom and the kernel, and debug/emulate it.
trying to type "emulator" didn't help and it suggested i would type "vemulator"
I got and installed vemulator but it asked me for a bootable image. (which one?)
Is there any way i could do this properly?
about the kernel development, i read some info and i separately got the kernel through a git repo. its alright but then again - how can i emulate it?
I do not wishing to risk my device is such early stage.
thanks.
You could try the android sdk.
Sent from my Galaxy Nexus using xda premium
further details please?
Until now i only used android sdk on windows.. so i have no knowledge of this under ubuntu.
I dont understand what you mean by emulating the kernel. I dont think that is possible as the kernel is so tightly tied to the hardware that it has to be loaded to the phone for testing. At least thats how i tested kernels. I make code changes, compile, and flash to device. When the code didnt work i had to flash old kernel or restore nand backup, then try again with code fixes. Repeat hundreds of times. Thats how i did it.
RogerPodacter said:
I dont understand what you mean by emulating the kernel. I dont think that is possible as the kernel is so tightly tied to the hardware that it has to be loaded to the phone for testing. At least thats how i tested kernels. I make code changes, compile, and flash to device. When the code didnt work i had to flash old kernel or restore nand backup, then try again with code fixes. Repeat hundreds of times. Thats how i did it.
Click to expand...
Click to collapse
Understood, Thanks
Now, about emulating the rom.. i understand it IS possible. which steps do i have to take in order to do that after i compiled the source?
Dutchy18 said:
Understood, Thanks
Now, about emulating the rom.. i understand it IS possible. which steps do i have to take in order to do that after i compiled the source?
Click to expand...
Click to collapse
The sources are buildable for multiple devices. Once build for one device it only runs on that device. Building for Galaxy Nexus (maguro) means no emulation but only running on real hardware.
If you want to build an image for the emulator you need to build the emulator configuration (e.g. full-eng). That will only run on the emulator not on a google nexus.
See http://source.android.com/source/building.html for possible configurations and how to run the emulator.

[Q]creating my own rom?

Hi guys- I have seen a website or page on how to build your own rom.
how difficult is it on 1 to 10?- 10 being very difficult.
what tools do I need?
many thanks
Well it depends how you create the rom and what type of ROM you are creating.
If you plan to simply take an already made rom.zip, make a few little modifications, and zip it back up...it obviously isn't very hard, and likewise its not very satisfying.
If you want to compile a rom from source, then its a bit harder than the process above. To be more specific let's first talk about android versions that are officially supported by the desire: froyo, and gingerbread. Compiling roms based on those honestly isn't that hard. You just need some basic Linux/terminal knowledge. The device and kernel source is actually meant to work by default so you don't need to make any further adjustments. It as simple as opening terminal, downloading the source, and running a build command. Give it an hour (more or less depending on how food your PC is) and you should have a freshly made ROM that you built from source. Yay...some satisfaction.
The hardest thing in my opinion (I've tried all three of these) is compiling a rom based on an android version that isn't officially supported by the desire. (Ice cream sandwich or jellybean). With roms based on these android versions you will have to scour to internet for a working device, vendor and kernel tree. (Hint, hint: WoH and evervolv/nikez). Even once you get the right device tree it probably won't work. You will have to make further adjustments, and even then I'm sure you will be bombarded with build errors. But eventually once you get it to compile successfully....most satisfying thing ever
So yea thats my answer. Keep in mind that I've tried (and eventually succeeded) with all three of the above, and that I've got quite limited programming knowledge. (2 high school comp sci courses, where I learned some java.)
Sent using xda-developers app
building your own rom
Chromium_ said:
Well it depends how you create the rom and what type of ROM you are creating.
If you plan to simply take an already made rom.zip, make a few little modifications, and zip it back up...it obviously isn't very hard, and likewise its not very satisfying.
If you want to compile a rom from source, then its a bit harder than the process above. To be more specific let's first talk about android versions that are officially supported by the desire: froyo, and gingerbread. Compiling roms based on those honestly isn't that hard. You just need some basic Linux/terminal knowledge. The device and kernel source is actually meant to work by default so you don't need to make any further adjustments. It as simple as opening terminal, downloading the source, and running a build command. Give it an hour (more or less depending on how food your PC is) and you should have a freshly made ROM that you built from source. Yay...some satisfaction.
The hardest thing in my opinion (I've tried all three of these) is compiling a rom based on an android version that isn't officially supported by the desire. (Ice cream sandwich or jellybean). With roms based on these android versions you will have to scour to internet for a working device, vendor and kernel tree. (Hint, hint: WoH and evervolv/nikez). Even once you get the right device tree it probably won't work. You will have to make further adjustments, and even then I'm sure you will be bombarded with build errors. But eventually once you get it to compile successfully....most satisfying thing ever
So yea thats my answer. Keep in mind that I've tried (and eventually succeeded) with all three of the above, and that I've got quite limited programming knowledge. (2 high school comp sci courses, where I learned some java.)
Sent using xda-developers app
Click to expand...
Click to collapse
Thanks for that-
Sound very complicated
I am a webdesigner but have no knowledge of developing.
Wanted to try and build a really good rom to make the desire a really good phone for photography.
I have on my phone your rom and RSK supersense 3.5 rom running - coz I like the camera
and I would like to make a rom to turn it into a photography rom for my phone.
any advice??
creating your own rom
Chromium_ said:
Well it depends how you create the rom and what type of ROM you are creating.
If you plan to simply take an already made rom.zip, make a few little modifications, and zip it back up...it obviously isn't very hard, and likewise its not very satisfying.
If you want to compile a rom from source, then its a bit harder than the process above. To be more specific let's first talk about android versions that are officially supported by the desire: froyo, and gingerbread. Compiling roms based on those honestly isn't that hard. You just need some basic Linux/terminal knowledge. The device and kernel source is actually meant to work by default so you don't need to make any further adjustments. It as simple as opening terminal, downloading the source, and running a build command. Give it an hour (more or less depending on how food your PC is) and you should have a freshly made ROM that you built from source. Yay...some satisfaction.
The hardest thing in my opinion (I've tried all three of these) is compiling a rom based on an android version that isn't officially supported by the desire. (Ice cream sandwich or jellybean). With roms based on these android versions you will have to scour to internet for a working device, vendor and kernel tree. (Hint, hint: WoH and evervolv/nikez). Even once you get the right device tree it probably won't work. You will have to make further adjustments, and even then I'm sure you will be bombarded with build errors. But eventually once you get it to compile successfully....most satisfying thing ever
So yea thats my answer. Keep in mind that I've tried (and eventually succeeded) with all three of the above, and that I've got quite limited programming knowledge. (2 high school comp sci courses, where I learned some java.)
Sent using xda-developers app
Click to expand...
Click to collapse
htc_desire_luke said:
Thanks for that-
Sound very complicated
I am a webdesigner but have no knowledge of developing.
Wanted to try and build a really good rom to make the desire a really good phone for photography.
I have on my phone your rom and RSK supersense 3.5 rom running - coz I like the camera
and I would like to make a rom to turn it into a photography rom for my phone.
any advice??
Click to expand...
Click to collapse
any software needed ??
htc_desire_luke said:
any software needed ??
Click to expand...
Click to collapse
here is a summary of what you need and main steps, from hd2 forum.. next time do a search before post.
Obviously you have to use a desire device tree.
http://forum.xda-developers.com/showthread.php?t=2488670
There is an entire section dedicated to this subject, found in
creating your own rom
paolo-red1 said:
here is a summary of what you need and main steps, from hd2 forum.. next time do a search before post.
Obviously you have to use a desire device tree.
http://forum.xda-developers.com/showthread.php?t=2488670
Click to expand...
Click to collapse
sound very difficult-
my laptop is running linux and i think 64bits- I am running opensuse 12.1 KDE
but thats all i know
will have to do some more reading on this, I dont think I will be able to just pick it up and go.....
You are kiddin' me
Enviado desde mi HTC Desire
creating your own rom
Jack4L_ said:
You are kiddin' me
Enviado desde mi HTC Desire
Click to expand...
Click to collapse
what do you mean Im kiddin you?

Building roms for Oppo N1

I understand there are some builds available on github ( https://github.com/omnirom/android_device_oppo_n1 ). Please could anyone guide on how to build it so we can test it on our devices. Thanks.
That would be a pretty in-depth guide.
Omnirom has their own wiki page that can teach you how to compile and port to your device.
http://docs.omnirom.org/Main_Page
:good:
Thank you Harfainx for sharing the guide, I'll try following it and post my finding(s) for everyone.
Omni rom has been posted on the official oppo forums already: http://www.oppoforums.com/threads/4-4-omni.7475
nospam said:
Omni rom has been posted on the official oppo forums already: http://www.oppoforums.com/threads/4-4-omni.7475
Click to expand...
Click to collapse
Sure wish he would post them here instead, or as well. I do check both forums but like to treat XDA as the "ultimate" resource.
I'm sure there will be an official Omni thread with the links here as well.
Sent from my N1 using Tapatalk
Harfainx said:
I'm sure there will be an official Omni thread with the links here as well.
Sent from my N1 using Tapatalk
Click to expand...
Click to collapse
Yeah, plodey and I will eventually get around to it... we've just been incredibly busy with getting the device running and other general omni things.
Anyone who knows me from the i777 days knows that I suck at thread maintenance.
Entropy512 said:
Yeah, plodey and I will eventually get around to it... we've just been incredibly busy with getting the device running and other general omni things.
Anyone who knows me from the i777 days knows that I suck at thread maintenance.
Click to expand...
Click to collapse
Glad to hear an official response. Thanks for the update. :highfive:
viperdream26 said:
Sure wish he would post them here instead, or as well. I do check both forums but like to treat XDA as the "ultimate" resource.
Click to expand...
Click to collapse
Maintaining a thread is more work then you would ever think
At the moment I am more then full doing that at oppoforums
I'm going to take a crack at compiling the Cyanogen Source code to take a peek at the o-click issues.
I'm fairly knowledgeable in C, but haven't done any android/bluetooth coding before, so I think I have a snowball's chance in hell.
But it'll be an interesting exercise anyway.
So I'm following random links in:
http://wiki.cyanogenmod.org/w/Development
Mainly using this:
https://skydrive.live.com/view.aspx?cid=B3BFF0D42AE1E534&resid=B3BFF0D42AE1E534!107&app=OneNote
To set up virtualBox/Ubuntu/android SDK.
Although I am a bit confused about required JDK versions.
Is there a list of prefered JDK versions for different CM versions?
I also just noticed the page for the Find 5: aka
http://wiki.cyanogenmod.org/w/Build_for_find5
So I guess I'll use that as the instructions until the actual source code pull?
- Frank
You might want to look at maxwen's github - I think he had source for a sample app for the O-Click.
https://github.com/maxwen/OClick
Entropy512 said:
You might want to look at maxwen's github - I think he had source for a sample app for the O-Click.
https://github.com/maxwen/OClick
Click to expand...
Click to collapse
This is based on the Google BLE sample. It allows pairing with the o-click and will recognise single and double clicks on the remote
Sent from my N1 using Tapatalk
I'm slowly making some progress.
I have some questions:
1) Where can I find information about how updater-script is generated?
I'd like to automatically remove that first line which is causing TWRP to complain.
2) I got a zip file but it failed to install, and just hung after reboot.
I've compared the good "signed" zip to my zip file and I seem to be missing all the vendor specific stuff.
I extracted everything and it all exists in ~/android/system/vendor/oppo/n1/proprietary .
But it's not ending up in the final zip file.
I think the problem is that ~//android/system/vendor/cm/vendorsetup.sh is choking because
there isn't an official N1 build listed on: https://github.com/CyanogenMod/hudson/blob/master/cm-build-targets
Do I have to hack my way around that?
Any help would be much appreciated.
I'm trying to research myself but it seems like information is scattered all over the place.
ChodTheWacko said:
I'm slowly making some progress.
I have some questions:
1) Where can I find information about how updater-script is generated?
I'd like to automatically remove that first line which is causing TWRP to complain.
2) I got a zip file but it failed to install, and just hung after reboot.
I've compared the good "signed" zip to my zip file and I seem to be missing all the vendor specific stuff.
I extracted everything and it all exists in ~/android/system/vendor/oppo/n1/proprietary .
But it's not ending up in the final zip file.
I think the problem is that ~//android/system/vendor/cm/vendorsetup.sh is choking because
there isn't an official N1 build listed on: https://github.com/CyanogenMod/hudson/blob/master/cm-build-targets
Do I have to hack my way around that?
Any help would be much appreciated.
I'm trying to research myself but it seems like information is scattered all over the place.
Click to expand...
Click to collapse
I'm in no way an expert and am currently in the process of setting up my first build environment now. In regards to #2, I noticed that in the vendorsetup.sh on the N1's github page - https://github.com/CyanogenMod/android_device_oppo_n1 - it sets up the lunch combos for you.
add_lunch_combo cm_n1-user
add_lunch_combo cm_n1-userdebug
add_lunch_combo cm_n1-eng
Click to expand...
Click to collapse
Could you just be using the wrong vendorsetup script or should that one run first? Like I said, I'm still very new to this but wanted to at least point this out.
mybrotherischad said:
I'm in no way an expert and am currently in the process of setting up my first build environment now. In regards to #2, I noticed that in the vendorsetup.sh on the N1's github page - https://github.com/CyanogenMod/android_device_oppo_n1 - it sets up the lunch combos for you.
Click to expand...
Click to collapse
You're right, the n1 directory's vendor explicitly lists them.
I was looking at the wrong one I guess. Or it's not being used for some reason.
My Brunch n1 is also complaining with:
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.
which doesn't look right, but I'm taking stuff one step at a time.
- Frank

Categories

Resources