I did a Google search and found the github that jackpotclavin seems to have put his CM9 port on, and I mashed it into my local copy of the CM9 repo. I have tested my setup by building a rom for my HP touchpad, which works, but the GP 5.0 ROM fails to build.
In case you are wondering why I want to recompile the ROM, I found a "generic V4L2 camera HAL" that I was going to try to get working on the GP 5.0. I know there are six V4L2 device nodes available under his ROM (video0, video1, video2, video14, video21, and video22). I just need to be able to make a test build of the ROM with all the patches applied, because the patches appear to change more than just the "camera.v4l.so" they produce.
Search Google for "Android generic V4L2 camera HAL" and you'll see a kernel mailing list post from Guennadi Liakhovetski. This links to the patches.
Related
I'm trying to better understand how the devs around here do what they do. I'm an Electrical Engineer and I make no claims to be a proper software developer. I know my way around C, Python, and Bash. I know my way around git and have worked with various build/release processes before so I can stumble through some CMAKE and MAKE build processes. Currently I have installed the the android SDK, compiled AOSP master branch and run it in an emulator. I've also compiled Cyanogen mod repos for generic-eng though I haven't gotten that to properly boot on an emulator yet.
So that's an idea of who I am and where I'm starting from. Now for the questions. I figure if I can understand the build environment and process I can learn quite a bit from the large history of available changes, especially since there is an Atrix Dev Team for Cyanogen.
Cyanogen Mod
I can't tell which repo's here are pure AOSP, modified AOSP, or from scratch pure Cyanogenmod.
Do the CM repo's track AOSP as a remote branch?
If yes, does that mean I can build pure AOSP from CM repo's via repo?
If no, how can you tell where in the AOSP development cycle the CM repo's fork from?
Are 'nightly' builds by definition a repo sync of the non-release base simply built as is? AKA for an Atrix nightly, you would checkout the gingerbread, sync, and build (assuming you're setup for building in the first place)
Are Official release only tracked via git tags? IE for CM 7.1 it's not really tracked on the manifest so would you need to find the proper tag and do a repo forall git checkout -b cm-7.1 or similar? I'm asking how you could build a previous release which should match the official release.
Atrix Dev Team
Similar to the CM Question, do these repo's track CM as their base repo's?
Could someone describe the typical development cycle of how the Atrix port is handled on top of a moving CM development? I'm a little lost as to how AOSP -> CM -> Atrix dev works out. If I checkout the Atrix manifest to gingerbread and perform git diff with the /m/gingerbread (I beleive the CM tracking branch) I see no differences. Are Atrix-Dev-Team and Official CM repo's simply fully in sync at this point?
How would I setup my repo to match a given Release (as in what tag or manifest I understand git)?
How would I setup my repo to match a given Nightly (as in what tag or manifest I understand git)?
As above, could you build pure CM from the Atrix repo's? This very well could be answered with the above questions.
Generic Info
What's a 'kang'?
My guess would be it's a build produced from the source repositories and not an official release by the developers.
Exploring the AOSP I noticed a separate kernel download link. I know CM uses a custom kernel but is that included in the default builds or is that typically flashed and managed separately?
After I'm familial with the whole process, and knowing what I've stated above what's the best step form there to be able to help contribute? Right now I've picked up a book on programming Apps on Android so I can learn the tools and some Java and I've had c++ on my radar for some time.
Thanks for your time. I've tried to get relatively well informed before I post questions.
So ... am I asking these in the wrong place?
Today when I was building cm9 rom I got message:
Using prebuilt kernel binary instead of source
THIS IS DEPRECATED, AND WILL BE DISCONTINUED
Please configure your device to download the kernel
sorce repository to kernel/samsung/galaxys2
See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
for more information
The instruction on the webiste is not that clear...
Anyone could give advice how to to that?
I answered this in the CM9 thread, but in case anybody looks here and misses that, they are implementing a new feature to build kernels as part of the CM9 build process, at present the SGS2 git changes that would be required for this are in the CM9 gerrit review and have yet to be approved, this will not affect your build in the slightest and once the files are approved this message will disappear. If you want to cherry pick it before it gets approved, you can but doing so may have unintended consequences (thus the need for review).
Hi all,
I am looking to find a way to build from repository the latest camera/gallery combo and email/calendar from 4.4 in a CM10 (4.1.2) build process. I get the error that I am building a version of Android too low to use these resources. I have the default set in the repo manifest, and a build version in my cm.mk file. I have tried to a simply chang the fingerprint to 4.4.2 and then adjusting the build number. I also changed the repo version to sync with but it still wants to build 4.1.2
I keep getting into trouble with different local settings in jni files etc. Has anyone managed to do this successfully or is it always a case of cross your fingers and copy the apk in after the build. Ideally I would want to avoid this as I want to make it rather than mka and get a nice ODEXed set out.
Any help very much appreciated
The reason why nobody else is doing this is because it's really improbable you get this working.
For this to work you have to port most of the stuff that makes 4.4 version 4.4 back to your CM10.
It would be way easier to compile 4.4 and change the undesired apps back to CM10 apps. Because 4.4 does have the API and features that CM10 does, just not the other way around.
Sent from my Nexus 4, want to know my current project? Check http://team-fun.eu
Hi,
As some of you might be aware of, Sony released the sources to enable building of AOSP straight from their sources for the Z2 (and other devices also).
I was just wondering if any of you has been able to build from those sources ?
I can init the repo.
I can sync the repo.
I can build the envsetup.
But then when it comes to compile the whole bunch, I always end up with an error message stating the I use a version of Make that is too young (4.1) and that I should use 3.8 instead...
Any clue on how to solve this ?
I guess it's trivial, but I have no idea how to proceed
Regards.
I'm trying to compile Android 4.2.2 for the Lenovo A2109A. AOSP 4.1.2 mostly worked out fine, except that panorama mode for the camera didn't work. In AOSP 4.2.2 the camera HAL didn't seem to connect to the camera, so I switched to CM-10.1. Camera HAL loads fine, but it doesn't take pictures. The problem seems to be that the stock camera HAL is linked to a version of libjpeg with proprietary additions from nvidia and I can't figure out what they are. Someone else was able to successfully compile CM-10.1 with a working camera by using libjpeg-turbo for compilation (see here), but it also needs a patch for skia that I can't find.
So right now I'm basically stuck and I'm looking for different ways forward. I could really use your advice. Should it be possible to use the camera hal from a related device instead? I know that the nexus 7 is also a tegra3 device, and very close to A2109. It does use different camera devices, but these can be configured in nvcamera.conf. I used strings to find whether any proprietary lib referenced the specific cameras and I found only one, libnvodm_imager.so. The most important differences appear to be in the kernel source, in the following files:
drivers/media/video/tegra/tegra_camera.c
drivers/media/video/tegra/tegra_dtv.c
My question--to what extent should it be possible to just use the grouper tegra camera files for the kernel and then use the grouper camera HAL? Or do you have a different suggestion for me to proceed? I'm asking because I can hardly code. I am, however, getting better and better with git and patches, and I did manage to fix two compile issues in the lenovo kernel source.
My kernel source is over here. My device tree is over here (defaults to aosp 4.2.2 branch, cm-10.1 is a different branch). Grouper kernel sources are over here.
P.S., I have a development thread over at androidtablets.net, which also contains various details.
Answering my own post...
I tried using grouper HAL, gives error message. But using tf700 camera HAL worked, when used with tf700 libnvcamerahdr.so, both taken from stock 4.2.
So--problem solved