[Question] Kernel Compilation for Modules - Asus Transformer TF700

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

Related

General instruction on how to build firmware for Android devices?

Is there any source/ help/ instruction that I can check out to learn how to design/build Android OS for any supported devices? I would like to learn to see if I can build the firmware for my Eken M0001 using the latest Android version.
i think theunlockr.com has a guide of some sort. i would look there!
Code:
android-dls.com/wiki/index.php?title=Compiling_for_Android
This should get you up and running if you are somewhat familiar with the whole Linux thing. If not I would start out by learning how to compile the kernel and some standard libraries for a regular X86(_64) distro. The approach is pretty much the same, only compiling for android requires a lot more work with cross-compiling and getting a working set of standard libraries for arm.
Oh, and sorry about the link thingie. The administrators of this forum are obviously weak minded and have come up with some totally brain-dead limitations for new users. (A new user is not allowed post links , a good RP system would beat that hands down anytime)
Thanks for the info. I will check those links out.

[Q] Original G1 firmwares

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.

Compiling Android + Kernel from Source.

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.

[Help] Making N5 Kernels

I've been trying to find the best way to compile. I found a guide on youtube "http://www.youtube.com/watch?v=IV4jhXWc7AE", but it is a little outdated and I'm having some trouble following him. The kernel source that he has has a lot of folders and the only kernel source I've found for the N5 has 2 files. So I'm missing something in finding the kernel source it seems.
It would be awesome if I could get some help and maybe pointed in the right direction. The only problem is that I'm a auditory and kinesthetic learner.
I have Ubuntu installed and ready to go, I also have the lastest NDK, and I have the AnyKernel.zip.

[Completed] Nexus5X - Create A Custom ROM

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

Categories

Resources