Hi! I own the Nexus5X and I am interesting in creating a custom ROM for the device. I have synced the AOSP source tree, gotten everything set up and flashed a build on to my device.
How can I start creating a ROM for the device? What are some general guidelines? How do I start tweaking apps, adding features, etc.
Also, if someone could take a look at these errors I am getting with my AOSP build that would be awesome: https://forum.xda-developers.com/nexus-5x/help/issues-aosp-built-source-bullhead-t3555439
Thanks
NateDev said:
Hi! I own the Nexus5X and I am interesting in creating a custom ROM for the device. I have synced the AOSP source tree, gotten everything set up and flashed a build on to my device.
How can I start creating a ROM for the device? What are some general guidelines? How do I start tweaking apps, adding features, etc.
Also, if someone could take a look at these errors I am getting with my AOSP build that would be awesome: https://forum.xda-developers.com/nexus-5x/help/issues-aosp-built-source-bullhead-t3555439
Thanks
Click to expand...
Click to collapse
Hello,
If you have interest in develop a custom rom, i suggest you start at XDA University to learn a bit of everything about Android.
You have some great guides on Android Software Development (look at stick posts)
I have my own guide which is not finished but I will teach everything you need to know about build a custom ROM from source, how to use github, git, mergetool etc... You can follow my progress HERE
FSadino said:
Hello,
If you have interest in develop a custom rom, i suggest you start at XDA University to learn a bit of everything about Android.
You have some great guides on Android Software Development (look at stick posts)
I have my own guide which is not finished but I will teach everything you need to know about build a custom ROM from source, how to use github, git, mergetool etc... You can follow my progress HERE
Click to expand...
Click to collapse
OK thanks, I will take a look at that. If possible, could you take a look at the errors I am getting with my AOSP build? I posed the link in the original post. Also, do you have to run extract-files.sh or can you simply download the vendor binaries from Google and run the extracting script? (AOSP)
NateDev said:
Also, do you have to run extract-files.sh or can you simply download the vendor binaries from Google and run the extracting script? (AOSP)
Click to expand...
Click to collapse
If you fork/download vendor binaries you don't need to run extracting script
Related
I am looking for all the original HTC Dream firmwares, for ROM cooking purposes, but I couldn't find any (except the 1.5 and 1.6 ADP1 updates which aren't enough for me, I want 2.0, 2.1 and maybe 2.2 too).
Please do not misunderstand me, I know there are only a few limited releases for this phone (no official FroYo/Éclair, etc), under original I meant a clean, unmodified firmware (max modification is any app2sd, root). Is there any such file?
I'm very desperate to start cooking (and do not base it on any recent release, like CyanogenMod, or anything else. Of course they are very good, I appreciate all the modders' work, that's why I don't want to make anything based on it - it is like stealing their work. I know how it feels, as I am a Symbian developer for a while - I've been stolen, remade, etc, many times).
Honestly, I think CyanogenMod is the closest you're gonna get to a "vanilla" G1 Eclair/Froyo ROM.
There are plenty of people that base their ROM's off Cyanogen. Obviously I can't speak for him, but I don't think he minds people using his ROM's as long as they give him credit.
You could grab CyanogenMod and remove the extra apps he's put in there like ADWLauncher and that would be about as close to a stock ROM as you'll get, I think.
Here you go
http://android-dls.com/wiki/index.php?title=OTA_Updates
There is not a release from HTC that is for the G1 (ADP1) beyond 1.6. This is because 2.x required more space on /system then the G1 has. that is why the eclair/froyo versions of CyanogenMod require dangerSPL.
If you want a vanilla version of android, you will have to build from source, which you should do any how. You want to get the source from AOSP. But honestly, the work that the CM team has done makes the CM build a better option. Like the addition of FLAC support, for example. All of the source to CM is available on github, so you could, pull from AOSP and CM if you wanted.
CM is anything BUT stock. It is huge, with lots of stuff thrown in. Everything including the kitchen sink.
Another much more "basic" 2.2 to start with is Jubeh's: http://forum.xda-developers.com/showthread.php?t=709201
Note that BOTH have expressed that they have no problem with anyone building on their work and ask only for respectful citation of their work.
lbcoder said:
CM is anything BUT stock. It is huge, with lots of stuff thrown in. Everything including the kitchen sink.
Another much more "basic" 2.2 to start with is Jubeh's: http://forum.xda-developers.com/showthread.php?t=709201
Note that BOTH have expressed that they have no problem with anyone building on their work and ask only for respectful citation of their work.
Click to expand...
Click to collapse
exactly
you could also check out my AOSP roms in my 4shared box
I understand that they do not mind, but I (we) plan to create an Online ROM Kitchen, from base, and for this, I need the most basic firmwares. Probably I will build from source (though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S), but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
fonix232 said:
(mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
Click to expand...
Click to collapse
I believe it is still available, you just need to change your sources list in ubuntu to get it Try this
fonix232 said:
I understand that they do not mind, but I (we) plan to create an Online ROM Kitchen, from base, and for this, I need the most basic firmwares. Probably I will build from source (though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S), but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
Click to expand...
Click to collapse
sdk is now compatible with jdk 6
you can install jdk 5 on ubuntu 9.10+
add
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
to your repositories
then
Code:
sudo apt-get update
sudo apt-get install sun-java5-jdk
fonix232 said:
(though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S)
Click to expand...
Click to collapse
Did you do a google search?
http://source.android.com/source/building-dream.html
** note that AOSP 2.2 will build for dream just fine, some things may have changed since that guide, and some stuff will be quite broken. That is why I point you at Jubeh's build -- it is close to stock, but fixed/functional.
but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
Click to expand...
Click to collapse
Sun/oracle still provides JDK5 from their legacy site... or as mentioned, ubuntu has it still in repo.
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
Click to expand...
Click to collapse
As I said, you can't build a basic image from CM source -- it simply isn't BASIC, it is as mod as you get.
It is enough to build a full CM build, however....
lbcoder said:
Did you do a google search?
http://source.android.com/source/building-dream.html
** note that AOSP 2.2 will build for dream just fine, some things may have changed since that guide, and some stuff will be quite broken. That is why I point you at Jubeh's build -- it is close to stock, but fixed/functional.
Click to expand...
Click to collapse
Yes I did, I was hoping in a much more modder-made step-by-step tutorial (google was always a bit foggy with their build instructions).
Sun/oracle still provides JDK5 from their legacy site... or as mentioned, ubuntu has it still in repo.
Click to expand...
Click to collapse
Tried to install it over Lucid Lynx (10.04) but both Synaptic both apt-get said the given package does not exist.
As I said, you can't build a basic image from CM source -- it simply isn't BASIC, it is as mod as you get.
It is enough to build a full CM build, however....
Click to expand...
Click to collapse
Under "basic image" I meant a proper, final, working image of CyanogenMod. But if it is enough, I will try with it, thank you.
fonix232 said:
Yes I did, I was hoping in a much more modder-made step-by-step tutorial (google was always a bit foggy with their build instructions).
Tried to install it over Lucid Lynx (10.04) but both Synaptic both apt-get said the given package does not exist.
Under "basic image" I meant a proper, final, working image of CyanogenMod. But if it is enough, I will try with it, thank you.
Click to expand...
Click to collapse
yawn
http://www.oracle.com/technetwork/java/javase/system-configurations-139801.html
or just add the jaunty repos..
AND as I said, you can use JDK 6 which is in 10.04..
http://developer.android.com/sdk/index.html#quickstart
this is all very basic stuff, maybe you should rethink what you want to do and just kang an AOSP FroYo like some other 'devs' did
Firerat said:
yawn
http://www.oracle.com/technetwork/java/javase/system-configurations-139801.html
or just add the jaunty repos..
Click to expand...
Click to collapse
Yea, saw your post too late, sorry
AND as I said, you can use JDK 6 which is in 10.04..
http://developer.android.com/sdk/index.html#quickstart
this is all very basic stuff, maybe you should rethink what you want to do and just kang an AOSP FroYo like some other 'devs' did
Click to expand...
Click to collapse
For the SDK maybe, but I don't want to develop applications, but to understand source compiling, learn how to create ROMs (and maybe automate it), and such things. I never said I'm a developer - I just want to be one. And that will not happen soon, as I have to learn a lot, even though I was following Android from the very beginning.
Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
fllash said:
Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
Click to expand...
Click to collapse
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Mekrel said:
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Click to expand...
Click to collapse
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
fllash said:
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
Click to expand...
Click to collapse
A git is a repository for source code, developers upload their source code there and can commit changes. The commit can allow descriptions of what was changed and also details the files changed.
The git system allows other people to add to the source if they have permission, or allows others to read the changes and download the source code.
Git links are usually posted by people who release software, as Android is GPL licensed so people have to release their source code if they're distributing their work.
Editing the kernel, take a look into the git and the commits and it will show you which files were changed and how exactly they were changed. That will give you the best understanding.
UV/OC is done by changing the acpu table in the architectures files and changing the minimum/maximum voltage figures in the board_bravo.c file.
The Cyanogen kernels are not Sense kernels no, it's a modified Google Kernel.
Thanks for the explanation. I followed the guide and built the rom, and it works (always a plus )
Now, the next thing is the kernel. How do I build a kernel with the CM tweaks integrated? I understand that all i would be doing is rebuilding the same one that is already installed, but im doing it to learn.
So, if i synced the GIT, does that include the CyanogenMOD kernel source? If it does, where is it and how do i rebuild it. If not, where do i find it?
Thanks,
Josh.
Hi,
I'm following the Nexus S Android Development for 6 month now and Rom and Kernel flashing is a a real addiction for me (I flash everyday).
And, since the beginning i want to create my own Rom.
At first, I want to build one from another one (Cyanogen or another).
So, If someone can give me tutos, tools, tips and advices, I'll be very grateful.
Thanks to everybody, waiting for your help.
http://lmgtfy.com/?q=how+to+create+custom+rom?
Sent from my Nexus S 4G using xda premium
Thank you...
[email protected]_OC said:
Hi,
I'm following the Nexus S Android Development for 6 month now and Rom and Kernel flashing is a a real addiction for me (I flash everyday).
And, since the beginning i want to create my own Rom.
At first, I want to build one from another one (Cyanogen or another).
So, If someone can give me tutos, tools, tips and advices, I'll be very grateful.
Thanks to everybody, waiting for your help.
Click to expand...
Click to collapse
Hey you know i find myself sharing this exact interest as you. Let's collaborate and learn this Create A ROM Project
Notice to see the motivation to create a new ROM.
How good are your Linux skills? If you want to do it all properly I suggest you try and build your own AOSP ROM first (from the Adroid Open Source Project).
This is the place where Google publishes the Android source code files. Actually the site is fantatic and guides you through the entire process, but it does require you to understand the basics of the maketools in Linux.
Once you've been able to compile the source, you'll actually have a perfect stock ROM version of Android. Then, you can start doing advanced things to it. Add a different Kernel, add apps, install tweak scripts etc etc etc, the options are endless.
http://source.android.com/source/index.html
Good luck and have fun, because it is
Greetz
-
sippinalizay said:
Hey you know i find myself sharing this exact interest as you. Let's collaborate and learn this Create A ROM Project
Click to expand...
Click to collapse
I think it could be a great idea.
frutelaken said:
Notice to see the motivation to create a new ROM.
How good are your Linux skills? If you want to do it all properly I suggest you try and build your own AOSP ROM first (from the Adroid Open Source Project).
This is the place where Google publishes the Android source code files. Actually the site is fantatic and guides you through the entire process, but it does require you to understand the basics of the maketools in Linux.
Once you've been able to compile the source, you'll actually have a perfect stock ROM version of Android. Then, you can start doing advanced things to it. Add a different Kernel, add apps, install tweak scripts etc etc etc, the options are endless.
http://source.android.com/source/index.html
Good luck and have fun, because it is
Greetz
Click to expand...
Click to collapse
Thank you for your help and advise, i will look into it. I'm a novice concerning linux but i can learn fast.
Thank you again.
oh thats great
I have successfully built a AOSP ROM I think.
I now have recovery.img, boot.img, userdata.img, system.img
Is there a way of making a n update.zip with these?
This should be moved to Q & A.
Yes, it's about development BUT, it's a question about development and therefore does not belong here.
Pipsqueak approved this message
Come on man do a Google search. There is information for making AOSP ROMs all over the place.
With that said, I strongly recommend heeding this advice:
cyanogen said:
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
Hi. I've always been curious to try to build a new aosp based ROM.
I know java but I don't know CPP... Only a bit. Anybody thinks I could start something? Even in a team, of course. Where to start?
enryfantasy said:
Hi. I've always been curious to try to build a new aosp based ROM.
I know java but I don't know CPP... Only a bit. Anybody thinks I could start something? Even in a team, of course. Where to start?
Click to expand...
Click to collapse
First of all, it depends on how much you already know.
There are numerous guides on how to build another existing custom ROM. I'd start with those first to be a little familiar with how a project is handled, but you could always just look for guides for building one from scratch AOSP if you wanted to.
There are plenty of guides on the internet, and if you run into an issue, someone else has likely already asked about it and received an answer.
Elluel said:
First of all, it depends on how much you already know.
There are numerous guides on how to build another existing custom ROM. I'd start with those first to be a little familiar with how a project is handled, but you could always just look for guides for building one from scratch AOSP if you wanted to.
There are plenty of guides on the internet, and if you run into an issue, someone else has likely already asked about it and received an answer.
Click to expand...
Click to collapse
Thanks. I'll try to look for something over AOSP
You interested in teaming?
DOBBY0 said:
You interested in teaming?
Click to expand...
Click to collapse
i am same as the guy who started this thread. and fyi im interested in teaming.
You can hit my up on Hangouts and we can discuss some stuff. My name is Michael Stevens. Hers my G+ page https://plus.google.com/u/0/+MichaelStevens_DOBBY0/about
burakd0gan said:
i am same as the guy who started this thread. and fyi im interested in teaming.
Click to expand...
Click to collapse
^^^^^^^^^^^^^
I'd also be interested in learning how to manage/develop a custom rom. Let's get Team n00b started up
I´m bumping this topic though the last answer is over one month ago
Creating, managing a Custom ROM of any kind is very time consuming and some people will always expect you to release updates as fast as possible and to work for free Even if you´ve set up your developing environment ( I use Linux ), you will need a lot of patience and a hell of a PC to compile stuff without waiting too long.
If I were you I would think twice if I want to a) build a ROM for yourself only or b) also go through the pain of maintaining a thread, webspace and online support.
The Nexus forums are crowded with AOSP based ROMs and I don´t think that one thread more or less would matter. What I build for myself simply needs to be reliable without 1000x different Mods or Themes.
Since I barely have any time for this hobby anymore, I stick to a) only and even by doing so, I will also waste a lot of time since sometimes there are unforeseen consequences
Yes. That's what I ended too. It would take too much time and resources. I just stopped thinking about that (because my linux pc is very old, too) and used a good ROM.
Thanks!
Quick question
I'm trying to build M developer preview from AOSP. I'm currently syncing the repo with the command:
Code:
repo init -u https://android.googlesource.com/platform/manifest.git -b android-m-preview
After this is synced I will add my device to the appropriate folder with the code:
Code:
git clone https://android.googlesource.com/device/lge/hammerhead.git -b android-m-preview hammerhead
After this will I be able to compile and build?
Am I on the right track?
t3al said:
Quick question
I'm trying to build M developer preview from AOSP. I'm currently syncing the repo with the command:
Code:
repo init -u https://android.googlesource.com/platform/manifest.git -b android-m-preview
After this is synced I will add my device to the appropriate folder with the code:
Code:
git clone https://android.googlesource.com/device/lge/hammerhead.git -b android-m-preview hammerhead
After this will I be able to compile and build?
Am I on the right track?
Click to expand...
Click to collapse
Correct me if I'm wrong, but you can just add the device specific code on the manifest (by modifying .repo/manifest/default.xml)
F4uzan said:
Correct me if I'm wrong, but you can just add the device specific code on the manifest (by modifying .repo/manifest/default.xml)
Click to expand...
Click to collapse
I didn't add my device on the manifest. I followed another guide specifically for my phone and AOSP.
Now, I'm stuck at this:
Code:
Header: out/target/product/hammerhead/obj/include/gps.utils//loc_log.h
make: *** No rule to make target `hardware/qcom/gps/utils/log_util.h', needed by `out/target/product/hammerhead/obj/include/gps.utils//log_util.h'. Stop.
make: *** Waiting for unfinished jobs....
Header: out/target/product/hammerhead/obj/include/gps.utils//loc_cfg.h
I used the Preview binaries from Google.
Does this mean the latest blobs do not compile for M?
Edit: Found my answer here