Allrighty,
My goal was to produce a Froyo rom as "naked" as possible.
Only the AOSP itself and Market (to download everything you want).
Today I finaly got a working compilation but I have some Issues I want to resolve first.
I wanted to include the nl_BE locales for myself and everything you guy's will request later on. This worked out fine "but" the word hinting isn't.
What I did was the following: in device/htc/sapphire/device_sapphire.mk
Add the following line: PRODUCT_LOCALES := nl_BE fr_BE en_GB
an other issue that I can't seem to resolv: if I pull in carz-kernel and copy the root of the folder to the msm folder, it compiles, produces the image, .... but It doesn't go past the provider splashscreen and offcourse, no output in adb logcat. Seems like it can't load the kernel.
Do I need to adjust an offset somewhere for the 32a, to locate the kernel?
When I got those figured out, I will post it right away.
I would like to thank a few people who inspired me to do this:
dferreira for documenting a lot of stuff on compiling froyo!
carz12 for the nice kernel he forked!
The people over @ cyanogen for all the efforts!
Sanpei for his kernel work as well!
The nice community we have here @ XDA!
Everyone else who contributes in writing code, who is willing to test roms, and everyone else I might forget!
reserved for future use
Hey,
Can you post some screens?
I'm a bit of a graphical man
I can't get you. Where can it be downloaded?
Switch's is pretty "naked", no? You trying to strip it down further?
Related
I was talking with people on #android and they mentioned that stock kernels are not working on sapphire 32A boards. I went poking through google's repository and didn't see any code specific to sapphire at all. But I did find some in codeaurora's fork. I don't have a sapphire device so I can't test any of this, but perhaps it would be a useful starting point for someone trying to build kernels for the Magic.
https://www.codeaurora.org/
A list of projects in their git repository:
https://www.codeaurora.org/gitweb/quic/la/
here's a more direct link to the sapphire-related setup.
I notice that linux/arch/arm/mach-msm/board-sapphire.h has a header which lists Thomas Tsai <[email protected]> as the author, which seems authoritative enough.
Nevermind. That fork appears to be missing patches that HTC is using in their kernels too. Sorry.
That repo just looks like a clone from Google with some added stuff for more Qualcomm MSM boards.
If you look closely in the Google tree you will see the same board-sapphire stuff in the exactly same place, ie kernel/arch/arm/mach-msm
I'll give a try with this one:
https://www.codeaurora.org/gitweb/quic/le/
on my sapphire 32A board.
Maybe ?
gboddina said:
I'll give a try with this one:
https://www.codeaurora.org/gitweb/quic/le/
on my sapphire 32A board.
Maybe ?
Click to expand...
Click to collapse
Those changes are pretty recent, give it a try and report back man =D
Damn! It don't want to compile !
I used HEAD code... I'll try another release later...
BTW, in this version seems to have a lot of qualcomm specific configuration. I guess if we find the right values (and we compile it), maybe we can boot it .
Kernel builds without any problem, will give it a try to see if it boots.
edit: seems i was to quick about the build. complains on some damn halibut file, will remove from config and try again.
Yes exactly the same problem.
Changing it into the config don't change anything, the build process include it anyway.
I blanked the files (board-trout.c will give the same result) but then, there is a problem in board-sapphire.c ...
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 every one I dont know where to start i want to make my own rom from source,build it,modify it etc.But i dont know where to start.I know how to build rom from source(learned it from the tutorial on source.android) but i dont know what do those codes mean.i searched on google but cant find an easy tutorial.If i build rom from source how do i make it work on my phone.How do i FIX bugs on my roms,modify it Help please
Check out the chef central section under android. There are a lot of great people working on making development accessible.
For a pure AOSP ROM you are going to have a bit more work, but be rewarded in the end. There is also cyanogenmod and other custom distributions you can build from source and modify.
If you are familiar with C and Java programming you can dig into the actual development more by writing apps or changing source code. If you don't you may want to start on that road. Other wise you will be basically cutting and pasting from everyone else, which doesn't get you any credit.
Themes are also a good place to start. There are lots of good guides in the theme section and people are willing to help if you ask nicely and appropriately.
I have done a bit of this foot work and come to the conclusion, I need to learn programming then come back to source. It is overwhelming to take on an entire operating system in a foreign language, especially when that language has to be perfect to function!
Good luck in your endeavors. Feel free to hit me up for the little knowledge I have!
Sent from my PC36100 using xda premium
But! where to learn
First i want to learn the basics of Rom
are you familiar with Java, C and C++? These are going to be very useful in understanding the "codes" as that is what they are written in. You are also going to have to build AOSP specific for your device, which will require adding your device to the device tree and extracting the necessary drivers and files that are specific to your device. Cyanogenmod has many devices already added to their github and you would simply clone the folder for your device, then build AOSP source and issue make using the device specific folder.
THIS is a helpful tool, and yes it will compile pure AOSP as well.
THIS is also a very helpful tutorial, and you can modify instructions to work for Gingerbread.
If you just want to learn to build and modify the source start with Cyanogenmod build from their source first. You can also build the kernel if you choose but that is a bit more complicated. After you have both of those building without errors then start making changes that you want to see.
The CM Wiki has some good info http://wiki.cyanogenmod.com/wiki/Building_from_source
http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source
First post in the Dev section but this seemed to be the place to talk about kernel compilation and module development.
I have twice now, and am working on my third kernel compilation for the purposes of custom module building for the TF700 and the TF201.
The question I have has to do with the compilation process. Every time I have gone through this with the downloadable Asus Kernel zip I run in to several issues. Either missing references in code or portions that won't compile at all. Is this normal for kernel compilations? I would have thought that it would be fully compilable out of the box ( so to speak). Is it ASUS or just android/Linux in general that works out this way?
Is there a better way to do it? Should I use some generic source with the same version numbers? The current source is just not working at all. I am using an Ubuntu distro. Have the cross compile tools etc... but it just fails. I have already resolved two missing definition references and it just keeps on failing in new places
Hopefully this question doesn't offend developers. I have moved from WinPhone to here and want to better my understanding of how this should all work but need to start with some basics before I can make a meaningful contribution.
Thanks.
P.S... I looked and didn't find a "Compiling android kernels for dummies" book
hx4700 Killer said:
I looked and didn't find a "Compiling android kernels for dummies" book
Click to expand...
Click to collapse
"Dummies" doesn't write a book on kernel dev. Too wrapped up in telling people how to download iTunes.....
Use your "Google". And when you find it, Google XDA University.
There, you will find steps for setting a build environment and kernel and cross arm.
Understand, all kernels are different, but a good place to start. Plus, you learn how to use Google. An added bonus.
Oh... and... as an extra bonus, I will move this to Q & A, as this post has no development work attached. :silly:
MD
My question wasn't HOW to cross compile. I have done it.
My question is WHY are there so many errors that need correcting when compiling the ASUS downloadable kernels and if this is typical of the source from any device or just ASUS?
hx4700 Killer said:
The question I have has to do with the compilation process. Every time I have gone through this with the downloadable Asus Kernel zip I run in to several issues. Either missing references in code or portions that won't compile at all.
Click to expand...
Click to collapse
I had to fix exactly one pair of quotes vs. angle brackets somewhere in the RIL - get the patch pack from my kernel and apply the ril include fix. Then it should compile. If not, you are doing something wrong.
Can you post any links or names of everything ill need to get started on cross compiling a kernel for my tf700t I download the source and get my config.gz and am running a ubuntu distribution but if you could post a link to a tutorial that has detailed instructions that will work for the infinity that would be greatly appreciated thankyou
alexcass4 said:
Can you post any links or names of everything ill need to get started on cross compiling a kernel for my tf700t I download the source and get my config.gz and am running a ubuntu distribution but if you could post a link to a tutorial that has detailed instructions that will work for the infinity that would be greatly appreciated thankyou
Click to expand...
Click to collapse
Step 1: Get a suitable ARM toolchain. I can't help you here with Ubuntu because I'm using Gentoo and their crossdev tool (http://www.gentoo.org/proj/en/base/embedded/handbook/?part=1).
Step 2: Cross-compiling the kernel works just as for native kernels (make menuconfig, make), but you have to pass parameters to each make, e.g. make ARCH="arm" CROSS_COMPILE="arm-gentoo-linux-gnueabi-" (or whatever your toolchain is called)
Step 3: For the TF700-specific blob stuff I have written a detailed tutorial here: http://forum.xda-developers.com/showpost.php?p=36925180&postcount=4
The developer site is still listing KitKat as the newest build, so here are the links to the instructions to build Lollipop using the official source:
Lollipop 5.0: http://nv-tegra.nvidia.com/gitweb/?...a=blob_plain;f=README;hb=rel-st8-l-r1-partner
Lollipop 5.0.1: http://nv-tegra.nvidia.com/gitweb/?...a=blob_plain;f=README;hb=rel-st8-l-r2-partner
Cheers mate. It is still listing the 1.2.1 OTA as the latest but just by changing the branch url i was able to find the newest.
Lets hope for some more development on this device. I'm going to PM you soon - I will be building my own ROM and/or Kernel.
berryman13 said:
Cheers mate. It is still listing the 1.2.1 OTA as the latest but just by changing the branch url i was able to find the newest.
Lets hope for some more development on this device. I'm going to PM you soon - I will be building my own ROM and/or Kernel.
Click to expand...
Click to collapse
You do realize those are the links posted above. There is no need to switch branch names or search for the current files. Just click the one you want.
twistedumbrella said:
You do realize those are the links posted above. There is no need to switch branch names or search for the current files. Just click the one you want.
Click to expand...
Click to collapse
Of course, mate!
I was saying that I found the proper page by changing the URL to hb=rel-st8-l-r2-partner, before this thread was posted. So I appreciate you enlightening other folks about it!
berryman13 said:
Of course, mate!
I was saying that I found the proper page by changing the URL to hb=rel-st8-l-r2-partner, before this thread was posted. So I appreciate you enlightening other folks about it!
Click to expand...
Click to collapse
Even without already having the branch name, it's just a matter of going to http://nv-tegra.nvidia.com/gitweb/?p=manifest/android/binary.git;a=summary to find it
Hi, @twistedumbrella could you please spare a second to help (or point me in the right direction) I've successfully built Lollipop for my Oneplus One using Ubuntu, but when I try to set up first repo sync; well see below:
When I run: repo init -u git://nv-tegra.nvidia.com/manifest/android/binary.git -b rel-st8-l-r2-partner -m tlk/shieldtablet.xml
I get: fatal: manifest 'tlk/shieldtablet.xml' not available
fatal: remote github not defined in /home/diigimatrix/.repo/manifests/tlk/shieldtablet.xml
Please could you get me on my way. I love all your work and hope to gain further knowledge through your support.
Thanks in advance
Phil from Blackpool
diigibio said:
Hi, @twistedumbrella could you please spare a second to help (or point me in the right direction) I've successfully built Lollipop for my Oneplus One using Ubuntu, but when I try to set up first repo sync; well see below:
When I run: repo init -u git://nv-tegra.nvidia.com/manifest/android/binary.git -b rel-st8-l-r2-partner -m tlk/shieldtablet.xml
I get: fatal: manifest 'tlk/shieldtablet.xml' not available
fatal: remote github not defined in /home/diigimatrix/.repo/manifests/tlk/shieldtablet.xml
Please could you get me on my way. I love all your work and hope to gain further knowledge through your support.
Thanks in advance
Phil from Blackpool
Click to expand...
Click to collapse
I'm trying to figure out what's up with it now. I know when I synced it was r1, and tlk/shieldtablet.xml was valid.
Hopefully I can track down why it is coming back invalid in r2.
Thanks @twistedumbrella, glad in a way its not just me. Thought I was running the wrong command. . Happy New Year!
diigibio said:
Thanks @twistedumbrella, glad in a way its not just me. Thought I was running the wrong command. . Happy New Year!
Click to expand...
Click to collapse
Same to you. It updated ok but now I have to see if it'll re-init. It may be a delay on their end. The readme for the portable was up a week before the source.
Cool. I'll give it another try once I've finished work. Been a member for years and helped a lot in the old windows phone days. But thought enough of just relying on other people, time to start getting my hands dirty again. But new to building Android. Need to read up on manipulation of ROMs rather than just building a stock ROM. Any tips on tools to manipulate ROMs? Am i right by merging commits then build, then manipulate ROM? I will read up on it but just thought you might have some pointers. Thanks
diigibio said:
Cool. I'll give it another try once I've finished work. Been a member for years and helped a lot in the old windows phone days. But thought enough of just relying on other people, time to start getting my hands dirty again. But new to building Android. Need to read up on manipulation of ROMs rather than just building a stock ROM. Any tips on tools to manipulate ROMs? Am i right by merging commits then build, then manipulate ROM? I will read up on it but just thought you might have some pointers. Thanks
Click to expand...
Click to collapse
Best bet is to either find something you like and merge it or try to find something similar and recreate it to start. Once you get comfortable, then start coming up with your own.
Building from source is mostly Java for modifying with some C for drivers and such. Usually when you have a device configuration already set up, though, the C part is already done.
Just wanna say a big thanks to @twistedumbrella. I set up a new ubuntu build environment and I'm now compiling my first Android build for Nvidia Shield Tablet EU-LTE. No mods yet other than stock, but hopefully with time.
diigibio said:
Just wanna say a big thanks to @twistedumbrella. I set up a new ubuntu build environment and I'm now compiling my first Android build for Nvidia Shield Tablet EU-LTE. No mods yet other than stock, but hopefully with time.
Click to expand...
Click to collapse
Glad to hear it's all up and running. Best of luck!
twistedumbrella said:
Glad to hear it's all up and running. Best of luck!
Click to expand...
Click to collapse
Hi! I'm trying to compile but get error trying no find:
./packages/apps/UnifiedEmail/src
After repo sync, I don't have "src" directory for this package.
Thnx in advance.
entelekia said:
Hi! I'm trying to compile but get error trying no find:
./packages/apps/UnifiedEmail/src
After repo sync, I don't have "src" directory for this package.
Thnx in advance.
Click to expand...
Click to collapse
It looks like they are still working out a few issues with new updates. I don't maintain the source, so the only advice I can provide is to keep on eye on nvidia's gitweb for when they publish a solution (or occasionally sync and try over), or attempt to fix it yourself (which usually only works if there is an issue with the code, not code missing altogether).
Compiled! I have resynchronized all the project from scratch from git repository.
I'm going to test the compiled ROM in my tablet, but I suppose, I have to provide almost the essential pack of Google apps (basic providers and play services).
I think to flash *.img files, except recovery.img (I'm on TWRP), and then install from TWRP PA Gapps. Is this approach correct?
Thnx in advance and regards.
EDIT: No luck booting custom rom (TWRP nor stock recovery...)
Seem's like there's a new source three version out:
repo init -u git://nv-tegra.nvidia.com/manifest/android/binary.git -b rel-st8-l-r3-partner -m tlk/shieldtablet.xml
GethPrime said:
Seem's like there's a new source three version out:
repo init -u git://nv-tegra.nvidia.com/manifest/android/binary.git -b rel-st8-l-r3-partner -m tlk/shieldtablet.xml
Click to expand...
Click to collapse
Anyone managed to build this one yet? Its not working for me..