[DEV][GT-I9100][JB][4.2.1] CyanogenMod 10.1 development thread - Galaxy S II Original Android Development

This thread is only for Developers.
If you're looking for help or download links then this is not the right place.
User Thread: http://forum.xda-developers.com/showthread.php?t=2036229
How to build:
http://teamhacksung.org/wiki/index.php/CyanogenMod10.1:How_to_build
Sources:
https://github.com/cyanogenmod/android_device_samsung_i9100
https://github.com/cyanogenmod/android_device_samsung_galaxys2-common
https://github.com/cyanogenmod/android_kernel_samsung_smdk4210
https://github.com/cyanogenmod/android_hardware_samsung
How to submit patches?
http://wiki.cyanogenmod.org/wiki/Howto:_Gerrit
No, we don't accept pull requests!

Sorry, wrong post, please delete.

When is the 911/112/Emergency call going to be solved?
http://code.google.com/p/cyanogenmod/issues/detail?id=5700
This has been an EMERGENCY issue for 7 month's, and I dont wanna disrespect you guys. But this is something what really needs to be fixed. If we wanna use the rom we can't call the emergency line in a situation.
Provider: Vodafone NL
GT9100
RR 3.1.3 (every other CM rom also gives the "invalid number" error.

domingoo said:
When is the 911/112/Emergency call going to be solved?
http://code.google.com/p/cyanogenmod/issues/detail?id=5700
This has been an EMERGENCY issue for 7 month's, and I dont wanna disrespect you guys. But this is something what really needs to be fixed. If we wanna use the rom we can't call the emergency line in a situation.
Provider: Vodafone NL
GT9100
RR 3.1.3 (every other CM rom also gives the "invalid number" error.
Click to expand...
Click to collapse
no dev is on vodafone nl or kpn so chances that this will get fixed are not very high.
reminder: nightlies are experimental.
Sent from my Nexus 4 using xda app-developers app

codeworkx said:
no dev is on vodafone nl or kpn so chances that this will get fixed are not very high.
reminder: nightlies are experimental.
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
This has also been a problem with STABLE roms. I've also understood that there were plans to pull the CM9 stable because of this bug, but that has not happend.
Besides this people have also mentioned it's also a problem on other networks besides Vodavone NL or KPN NL, so don't pull the excuse that there are no devs available on just these networks. I have no doubt in my mind that if it had been mentioned that there are no devs with these connections people would have been willing to help in any way possible. Instead of this the problem is just ignored for months on end.

I've found that Trebuchet launcher doesn't have those graphic artifacts, caused by the placebocomposer. However, Nova Launcher has them and that makes me think you've found a way to fix the glitches in certain apps. If so, is it possible to implement these fixes to the daydream clock app? Also, I think that the analog daydream clock doesn't always glitch because it updates the screen every second, while the digital one does so every minute. Maybe if you make the digital clock update every second, the artifacts won't show?

Can't pull files
I was trying to build cm10.1 for i9100 for the first time and I get an error message about libtvout and libcamera not being pulled from device. Is there any known issue or am I doing something wrong?

I am following the new Wiki to the letter, but I can't get it to work.
http://wiki.cyanogenmod.org/w/Build_for_i9100
Prepare the device-specific code
After the source downloads, type:
$ source build/envsetup.sh
$ breakfast i9100
Click to expand...
Click to collapse
When I type
Code:
breakfast i9100
I get this error
Code:
** Don't have a product spec for: 'cm_i9100'
** Do you have the right repo manifest?
In the older Wiki's I see they use a local_manifest.xml.
Is this still necessary? It's not mentioned in the new Wiki at all....

CRXed said:
I am following the new Wiki to the letter, but I can't get it to work.
http://wiki.cyanogenmod.org/w/Build_for_i9100
When I type
Code:
breakfast i9100
I get this error
Code:
** Don't have a product spec for: 'cm_i9100'
** Do you have the right repo manifest?
In the older Wiki's I see they use a local_manifest.xml.
Is this still necessary? It's not mentioned in the new Wiki at all....
Click to expand...
Click to collapse
Try this guide http://teamhacksung.org/wiki/index.php/CyanogenMod10.1:How_to_build

Complete error
Code:
[email protected]:~/android/system$ . build/envsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
[email protected]:~/android/system$ breakfast i9100
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/i9100/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_i9100". Stop.
Device i9100 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_i9100
Default revision: cm-10.1
Checking branch info
Adding dependency: CyanogenMod/android_device_samsung_i9100 -> device/samsung/i9100
Using default branch for android_device_samsung_i9100
Syncing repository to retrieve project.
error: project device/samsung/i9100 not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: cannot access device/*/i9100/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_i9100". Stop.
** Don't have a product spec for: 'cm_i9100'
** Do you have the right repo manifest?
What is wrong?
---------- Post added at 03:18 PM ---------- Previous post was at 02:38 PM ----------
niko0o said:
Try this guide http://teamhacksung.org/wiki/index.php/CyanogenMod10.1:How_to_build
Click to expand...
Click to collapse
Trying that now, but shouldn't CM's own Wiki have the right information?
I get the idea it is missing something, but I don't know what exactly....

CRXed said:
Complete error
Code:
[email protected]:~/android/system$ . build/envsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
[email protected]:~/android/system$ breakfast i9100
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/i9100/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_i9100". Stop.
Device i9100 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_i9100
Default revision: cm-10.1
Checking branch info
Adding dependency: CyanogenMod/android_device_samsung_i9100 -> device/samsung/i9100
Using default branch for android_device_samsung_i9100
Syncing repository to retrieve project.
error: project device/samsung/i9100 not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: cannot access device/*/i9100/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_i9100". Stop.
** Don't have a product spec for: 'cm_i9100'
** Do you have the right repo manifest?
What is wrong?
---------- Post added at 03:18 PM ---------- Previous post was at 02:38 PM ----------
Trying that now, but shouldn't CM's own Wiki have the right information?
I get the idea it is missing something, but I don't know what exactly....
Click to expand...
Click to collapse
Where you able to compile in the end? I have not been at all following any guide

I'm still strying!
Turned out my Repo Sync was not complete after all....
I got a tip from someone to use
Code:
repo sync -j1
And then finally it pulled in the Samsung directory as well.

CRXed said:
I'm still strying!
Turned out my Repo Sync was not complete after all....
I got a tip from someone to use
Code:
repo sync -j1
And then finally it pulled in the Samsung directory as well.
Click to expand...
Click to collapse
Hm... That's interesting. So do you have the samsung specific folder synced now? Is it the one under /devices?
Sent from my GT-I9100 using xda app-developers app

juanono said:
Hm... That's interesting. So do you have the samsung specific folder synced now? Is it the one under /devices?
Click to expand...
Click to collapse
Yes!

Could someone. please, fix the mdpi lock screen and the sim lock screen or is it not supported anymore?
Since about cm10.1 - no cm10 build downloads for i9100 are available anymore so I can't test whether it started there - the irremovable widget (by default a clock but can be altered) on the lock screen has a fixed amount of space reserved whose relative size increases by lowering the dpi. At 160 dpi it accounts for half of the screen which makes the a pattern lock and the sim lock more difficult to use.
Since it is possible to have maximized widgets, it shouldn't be that difficult to fix.
Best would be to keep the current layout but let the pattern, pin or password input get focus and maximize and adding an option to completely disable lock screen widgets. Although resizing of the mdpi layout would be nice I don't know how that would affect build configurations using other dpi settings between 160 and 200.
The "Lockscreen Policy" app which claims to disable the widgets does so only partly. Except for the default clock it disables the running of widgets and the editing of the preexisting transparent panels so it doesn't change the layout settings.

siseam said:
Could someone. please, fix the mdpi lock screen and the sim lock screen or is it not supported anymore?
Since about cm10.1 - no cm10 build downloads for i9100 are available anymore so I can't test whether it started there - the irremovable widget (by default a clock but can be altered) on the lock screen has a fixed amount of space reserved whose relative size increases by lowering the dpi. At 160 dpi it accounts for half of the screen which makes the a pattern lock and the sim lock more difficult to use.
Since it is possible to have maximized widgets, it shouldn't be that difficult to fix.
Best would be to keep the current layout but let the pattern, pin or password input get focus and maximize and adding an option to completely disable lock screen widgets. Although resizing of the mdpi layout would be nice I don't know how that would affect build configurations using other dpi settings between 160 and 200.
The "Lockscreen Policy" app which claims to disable the widgets does so only partly. Except for the default clock it disables the running of widgets and the editing of the preexisting transparent panels so it doesn't change the layout settings.
Click to expand...
Click to collapse
You can download CM10 nightly from here http://goo.im/devs/cm/i9100/nightly .

niko0o said:
You can download CM10 nightly from here http://goo.im/devs/cm/i9100/nightly .
Click to expand...
Click to collapse
Thanks, I didn't notice goo hosted so many roms.
I tested the roms and the new lock screen is introduced with the first cm10.1 nightly. So, I guess, it may be a jellybean design flaw since Google doesn't support modifications anyway.
So I hope someone picks up this bug, especially using more complex patterns is pretty tedious when they're so small.

niko0o said:
Try this guide http://teamhacksung.org/wiki/index.php/CyanogenMod10.1:How_to_build
Click to expand...
Click to collapse
This link used to work, but now seems to be redirected, with a typo that doesn't work, to the CyanogenMod wiki. So does the one on the first page headed "How To Build".
Also the CyanogenMod wiki (http://wiki.cyanogenmod.org/w/Build_for_i9100) has somewhat different instructions on downloading the source code. I've not tried them because the teamhacksung wiki worked fine for me before it was redirected.

Hey guys , on the latest nightly , 21st march , the proximity sensor and accelerometer arent always working , had to downgrade to 20 march , im on stock cm10.1. Anyone else having this issuse ?
Also , did the 22nd march nghtly was launched ? I dont seem to find any new updates.
EDIT: 23rd march update fixed everything , thanks ! you guys rock !
Sent from my GT-I9100 using xda app-developers app

MMS not working
Hi!
I installed 10.1-20130327-NIGHTLY-i9100 and MMS messages are not working (receive or send). Looking at adb logcat output, I see:
Code:
W/TransactionService( 3806): Exception occurred while handling message: { what=1 when=-14ms arg1=1 obj=transactionType: 2 uri: content://mms/6 pushData: null mmscUrl: null proxyAddress: null proxyPort: 0 }
W/TransactionService( 3806): java.lang.NullPointerException
W/TransactionService( 3806): at com.android.mms.transaction.TransactionSettings.<init>(TransactionSettings.java:92)
W/TransactionService( 3806): at com.android.mms.transaction.TransactionService$ServiceHandler.handleMessage(TransactionService.java:640)
W/TransactionService( 3806): at android.os.Handler.dispatchMessage(Handler.java:99)
W/TransactionService( 3806): at android.os.Looper.loop(Looper.java:137)
W/TransactionService( 3806): at android.os.HandlerThread.run(HandlerThread.java:60)
This pointed me in the direction of APN settings, which are all fine (they were preserved during installation, and I'm coming from stock 4.0.3 Samsung OS).
I then noticed that the default APN (used for data), had the value of "APN type" set to "default,supl,mms". I erased all of the values, hoping that the other APN will be taken -- the one with the MMS settings, but still nothing.
Any ideas what to try next? It would be great if I could debug the transaction service to see why it can't get the APN settings...
Regards,
Miha.
---------- Post added at 11:49 AM ---------- Previous post was at 11:32 AM ----------
mihaval said:
Any ideas what to try next? It would be great if I could debug the transaction service to see why it can't get the APN settings...
Click to expand...
Click to collapse
Did some more digging. Install GOSMS pro app, to try that. I got a different bunch of exceptions:
Code:
E/DatabaseUtils( 2411): Writing exception to parcel
E/DatabaseUtils( 2411): java.lang.SecurityException: No permission to write APN settings: Neither user 10035 nor current process has android.permission.WRITE_APN_SETTINGS.
And that led me to this SO question. So I guess there needs to be a way to specify those permission for the MMS (Messaging) application somehow?

Related

[TUTORIAL][WIP] Working with GIT and GITHUB for Android Source

Working with GIT and GITHUB
for Android Source
I want to start by saying that I am no EXPERT on GIT, but I believe the best way to learn is through trial and error. Through my trials and errors, this is what I have found that works when working with Android Source Code (AOSP).
I started my Android Development basically porting and hacking Android Operating Systems for the HTC Thunderbolt. In my opinion I learned the basics plus some, and was able to create stable builds, which most users found enjoyable to operate. In my quest to further improve my Android development skills, I moved on the next step in Android Operating System development, build a custom AOSP ROM from source. I soon started browsing other developers GITHUB repositories and tried my best to figure out what was going on behind the scenes, in order to share my code with others and visa versa. This lead me to setting up a development platform, downloading the latest (at the time ICS) source and then compiling everything, to obtain, a fresh updated ROM. Obviously, the next step was editing the code to my liking and then trying to figure out how to update my code (push) to Github for version tracking and also hosting purposes. I shopped around on the net for GIT tutorials, and for the life of me, I could not figure out how to make things work the way they should. After doing research on the REPO command (which I came to find was basically the same as GIT but updated to work better with Android) I became more confused. I never found an article or tutorial which explained step-by-step the processes in which I am about to explain, which is why I decided to take the time to compose this tutorial.
Finally, through many hours of research and frustration, I came up with the answers I was so diligently seeking. Here are my findings:
The following Tutorial is for an INITIAL COMMIT of your source to GITHUB. Once you accomplish sending the initial data over, sending only changes thereafter, is very similar, but doesn't require as many steps.
Prerequisites:
(1) Create an account on GITHUB.com
(2) Download the Android Source into a working directory (in my case "android").
(3) Generate your Private SSH Keys for GITHUB (this will allow you to push files without logging in every time) You will find easy to understand directions HERE
For this example I will be working with the following variables:
My default Android directory: ~/android
For this tutorial I will editing the Setting.apk source code in order to add "XYZ" functionality
The source code for the Settings.apk is located in ~/android/packages/apps/Settings
So lets BEGIN!
First Step: You want to go into the directory where you are editing the source.
Code:
cd ~/android/packages/apps/Settings
Second Step: Initialize the Settings source folder and create a git repository
(which will track all changes)
Code:
git init
Third Step: Now you want to log-in to GITHUB and create a repository for your updated Settings source to go. In my case I created a folder on GUTHUB called android_packages_apps_Settings
Forth Step: After you have created your repository on GITHUB, from your Settings source folder, you need to tell git where to push the changes you have made. When you do the initial push, it is actually going to push all of the files in the Settings source folder including the changes you have made. Do this by typing the following command:
Code:
git remote add github [email protected]:yourusername/android_packages_apps_Settings.git
Obviously, you are going to change "yourusername" to whatever username you created on GITHUB.
Fifth Step: Add the entire Settings directory to git so that it starts tracking your additions, deletions, changes, etc for the entire directory.
Code:
git add -A
Sixth Step: Commit the changes that you made to the files in order to push to GITHUB. Now for this example, I want to commit changes to ALL files in the Settings folder.
Code:
git commit -a
If I wanted to just commit changes to one specific file, I would use "git commit whateverfile.java". After you commit, a text editor is going to pop-up. This is where you add the description for the change(s) you have made. If you have detailed change-log of each file you changed, you will not want to use the "git -a" command because the description you enter there is going to be the description for all of the files you edited.
Seventh Step: Now you want to change to the branch you plan on using to push your content. In my case its "jellybean".
Code:
git branch jellybean
Eighth Step: Finally you will now push your initial Settings commit to github. In order to do this, type:
Code:
git push github jellybean
This is going to push github ("github" is the name you gave the REMOTE when you executed the "git remote add" above) to a branch on GITHUB.com called "jellybean". You can name the branch whatever you like, but obviously naming it to the current Android release name is the easiest to remember for you and others.
You should now see that your computer sent files to GUTHUB.com and if you check online, you should see that your changes have been implemented and copied for the world to access.
I hope this helps people out with Android based git commands. I wish I found somthing like this months ago and maybe I would have a few extra hairs on my head. Let me know if you have any additional questions or would like me to add to this tutorial in any fashion. I will be doing a video shortly which I will post to this thread when complete.
Saved for Questions and Answers . . .
Create repository on github called packages_apps_Settings
Clone it
Code:
git clone https://github.com/lithid/packages_apps_Settings.git
cd packages_apps_Settings
Find the aosp settings and pull that repo so all proper history is still entact. Then merge it.
Code:
git pull https://android.googlesource.com/platform/packages/apps/Settings refs/tags/android-4.1.1_r6
Save it
Now add it all and push to your local repo.
Code:
git push
Hello, how do you create a device tree because I want to build from source but my phone does not yet have one. Thanks
itzdarockz said:
Hello, how do you create a device tree because I want to build from source but my phone does not yet have one. Thanks
Click to expand...
Click to collapse
When you say "a device tree" are you referring to the propriety device drivers and such for a particular device?
MyComputerDoctor said:
When you say "a device tree" are you referring to the propriety device drivers and such for a particular device?
Click to expand...
Click to collapse
I mean to build from source and when picking your lunch such as crespo and crespo 4G i want to add my phone into that. Is that necessary to build from source though?
itzdarockz said:
I mean to build from source and when picking your lunch such as crespo and crespo 4G i want to add my phone into that. Is that necessary to build from source though?
Click to expand...
Click to collapse
Let me know if this helps: http://www.netmite.com/android/mydr...build_new_device.html#androidBuildNewFileTree
Thanks for this tut! I've been wanting to push out sources to my github for a while...but couldn't really find a good tut/didn't have the time to do all the research...this seems like it should get me going with my github and I will definatly be using this tut soon
Sent from my SGH-I997 using Tapatalk 2
question, Let's say I want to merge a commit from CyanogenMod's GitHub ..... I use AOKP's Source, is there a command using git that I can use to facilitate this ??
johnhany97 said:
question, Let's say I want to merge a commit from CyanogenMod's GitHub ..... I use AOKP's Source, is there a command using git that I can use to facilitate this ??
Click to expand...
Click to collapse
Use git cherry-pick but first you need to add the repo
So for example you want a commit from settings first you add CM's settings as a repo with git remote add <name> <url> ....Name can be anything
So it will be $ git add remote cm https://github.com/CyanogenMod/android_packages_apps_Settings
then you can either git fetch cm which will sync all the branches out you can just sync a single branch $ git fetch cm cm-10.1
Now you can use git cherry-pick to cherry-pick the commit from CM settings
$ git cherry-pick <sha1>
e.g
$ git cherry-pick 64c377
Now you will probably need to resolve some conflicts which is hard to explain how to resolve as it varies between has been added where cherry-picked.
can some one ell me how i merge the halo from PA ?
thanks
MyComputerDoctor said:
Working with GIT and GITHUB
for Android Source
I want to start by saying that I am no EXPERT on GIT, but I believe the best way to learn is through trial and error. Through my trials and errors, this is what I have found that works when working with Android Source Code (AOSP).
I started my Android Development basically porting and hacking Android Operating Systems for the HTC Thunderbolt. In my opinion I learned the basics plus some, and was able to create stable builds, which most users found enjoyable to operate. In my quest to further improve my Android development skills, I moved on the next step in Android Operating System development, build a custom AOSP ROM from source. I soon started browsing other developers GITHUB repositories and tried my best to figure out what was going on behind the scenes, in order to share my code with others and visa versa. This lead me to setting up a development platform, downloading the latest (at the time ICS) source and then compiling everything, to obtain, a fresh updated ROM. Obviously, the next step was editing the code to my liking and then trying to figure out how to update my code (push) to Github for version tracking and also hosting purposes. I shopped around on the net for GIT tutorials, and for the life of me, I could not figure out how to make things work the way they should. After doing research on the REPO command (which I came to find was basically the same as GIT but updated to work better with Android) I became more confused. I never found an article or tutorial which explained step-by-step the processes in which I am about to explain, which is why I decided to take the time to compose this tutorial.
Finally, through many hours of research and frustration, I came up with the answers I was so diligently seeking. Here are my findings:
The following Tutorial is for an INITIAL COMMIT of your source to GITHUB. Once you accomplish sending the initial data over, sending only changes thereafter, is very similar, but doesn't require as many steps.
Prerequisites:
(1) Create an account on GITHUB.com
(2) Download the Android Source into a working directory (in my case "android").
(3) Generate your Private SSH Keys for GITHUB (this will allow you to push files without logging in every time) You will find easy to understand directions HERE
For this example I will be working with the following variables:
My default Android directory: ~/android
For this tutorial I will editing the Setting.apk source code in order to add "XYZ" functionality
The source code for the Settings.apk is located in ~/android/packages/apps/Settings
So lets BEGIN!
First Step: You want to go into the directory where you are editing the source.
Code:
cd ~/android/packages/apps/Settings
Second Step: Initialize the Settings source folder and create a git repository
(which will track all changes)
Code:
git init
Third Step: Now you want to log-in to GITHUB and create a repository for your updated Settings source to go. In my case I created a folder on GUTHUB called android_packages_apps_Settings
Forth Step: After you have created your repository on GITHUB, from your Settings source folder, you need to tell git where to push the changes you have made. When you do the initial push, it is actually going to push all of the files in the Settings source folder including the changes you have made. Do this by typing the following command:
Code:
git remote add github [email protected]:yourusername/android_packages_apps_Settings.git
Obviously, you are going to change "yourusername" to whatever username you created on GITHUB.
Fifth Step: Add the entire Settings directory to git so that it starts tracking your additions, deletions, changes, etc for the entire directory.
Code:
git add -A
Sixth Step: Commit the changes that you made to the files in order to push to GITHUB. Now for this example, I want to commit changes to ALL files in the Settings folder.
Code:
git commit -a
If I wanted to just commit changes to one specific file, I would use "git commit whateverfile.java". After you commit, a text editor is going to pop-up. This is where you add the description for the change(s) you have made. If you have detailed change-log of each file you changed, you will not want to use the "git -a" command because the description you enter there is going to be the description for all of the files you edited.
Seventh Step: Now you want to change to the branch you plan on using to push your content. In my case its "jellybean".
Code:
git branch jellybean
Eighth Step: Finally you will now push your initial Settings commit to github. In order to do this, type:
Code:
git push github jellybean
This is going to push github ("github" is the name you gave the REMOTE when you executed the "git remote add" above) to a branch on GITHUB.com called "jellybean". You can name the branch whatever you like, but obviously naming it to the current Android release name is the easiest to remember for you and others.
You should now see that your computer sent files to GUTHUB.com and if you check online, you should see that your changes have been implemented and copied for the world to access.
I hope this helps people out with Android based git commands. I wish I found somthing like this months ago and maybe I would have a few extra hairs on my head. Let me know if you have any additional questions or would like me to add to this tutorial in any fashion. I will be doing a video shortly which I will post to this thread when complete.
Click to expand...
Click to collapse
Did you finish the video tutorial?
Sent from my LG-LS970 using Tapatalk 4 Beta
sooo?
Does anyone have further information on how you would sync back to a master? That is, if I sync from AOSP today, make my own changes, and then a few weeks from now I want to resync to an updated AOSP, how do I do this?

CM build: "breakfast olympus" fails (Xoom kernel build attempt)

Hi guys,
My Atrix -> Xoom kernel port is complete. This is the nvodm version.
Right now I am trying to make a build of CM 9 based on my kernel and running into lots of hiccups
Yeap I am a noob so please bear with me. I am following the steps from http://wiki.cyanogenmod.org/w/Build_for_olympus, and got stuck at the step "Prepare the device-specific code"
Code:
$ breakfast olympus
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/olympus/cm.mk]]: "device/*/olympus/cm.mk" does not exist. Stop.
Device olympus not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_motorola_olympus
CyanogenMod/android_device_motorola_olympus already exists
Syncing repository to retrieve project.
warning: local_manifest.xml is deprecated; put local manifests in local_manifests instead
Fetching projects: 100% (1/1), done.
warning: local_manifest.xml is deprecated; put local manifests in local_manifests instead
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/olympus/cm.mk]]: "device/*/olympus/cm.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_olympus'
** Do you have the right repo manifest?
I figure that the script is reaching out to the wrong repo at https://github.com/CyanogenMod/android_device_motorola_olympus
It should probably go to https://github.com/Atrix-Dev-Team/android_device_motorola_olympus
Am I right?
How to I correct this problem?
Thanks in advance..
Follow This
http://forum.xda-developers.com/showpost.php?p=21499412&postcount=1
I think that the best way to solve this problem is pm someone that already build a rom from source as you wanna do.
Try to reach MMontuori or EPinter (both really kind and will help for sure) by pm, just a tip hehe.
Hope you can build it, best of luck.
Sorry but this mean that we have a new kernel to get full cm9/10/10.1 roms? W/o All the bugs like the videocam...?
Thanks for the hard work!
from the (M)ATRIX...
Ask epinter, he is such a great guy and he have helped other devs,
Sent from my MB860
Your kernel is booting?
Its a full port from Xoom or you are using the leaked Kernel?
Able to retrieve logs from USB?
Whats your status?
This is very important, because there is another porting project running (http://forum.xda-developers.com/showthread.php?t=2016837) and maybe your kernel source is better to keep up than the one they are trying to port.
Please... communicate!
Thanks!
matbarni said:
Your kernel is booting?
Its a full port from Xoom or you are using the leaked Kernel?
Able to retrieve logs from USB?
Whats your status?
This is very important, because there is another porting project running (http://forum.xda-developers.com/showthread.php?t=2016837) and maybe your kernel source is better to keep up than the one they are trying to port.
Please... communicate!
Thanks!
Click to expand...
Click to collapse
Hey matbarni; take it easy and read the first post, not only the title.
It's not a matter of communication; If you can see the thread of the porting, you'll see some posts from user toyota86, which said he was working but in other branch because he has his reasons for it.
Please don't jump into conclussions and try to help, we all are struggling for an usable kernel; and EVERY help is welcome.
I'm sure any of the developers have contacted him by now or he tried to contact the developers, but he wants to see if anyone can give him a quick tip.
Enough. I'll shut my mouth off
Sorry guys. My mind was hazy when I posted that late last night.
What I meant by "complete" was that it simply built. That's it
Some early sanity testing of my kernel with CM7 resulted in a hang. Yes, I agree with most of you that the next logical thing to do is to flash That ROM and fastboot with my kernel. This can be a quick test. But I am a little suspicious the Bionic libraries may need to be rebuilt as well.
I have already sought advice from our Guru mmontuori and he has told me Kernel modules need to be rebuilt.
SO... lets build the whole she-bang
Raafat said:
Follow This
http://forum.xda-developers.com/showpost.php?p=21499412&postcount=1
Click to expand...
Click to collapse
Thanks!
you will need a build without the errata hack in board config, like the cm10 based on the leak. or build using my jb-olympus-new branch.
you can remove all the kernel modules if your defconfig follows android standard...
jhonnyx said:
Hey matbarni; take it easy and read the first post, not only the title.
It's not a matter of communication; If you can see the thread of the porting, you'll see some posts from user toyota86, which said he was working but in other branch because he has his reasons for it.
Please don't jump into conclussions and try to help, we all are struggling for an usable kernel; and EVERY help is welcome.
I'm sure any of the developers have contacted him by now or he tried to contact the developers, but he wants to see if anyone can give him a quick tip.
Enough. I'll shut my mouth off
Click to expand...
Click to collapse
I did not jump into conclusions.
As you can see, all I posted was questions. And yes, I read what toyota86 posted.
Like "Right now I am trying to make a build of CM 9 based on my kernel and running into lots of hiccups".
The way I am helping is to try to clarify to all users what this post is about.
Thanks for all the support guys
As much as I don't want you guys to be dissapointed, but dont put too much hope as to the outcome of my effort.
Now I have lots on my plate. I will update as I make progress.
thank you
Glad you have been working on this.I tried but abandoned due to insufficient knowledge. atrix was the best buy I've made in years.had it for 3 yes now and thanks to you and others it will live on. Im a trigger happy tester i try every ROM I see and can't wait to try yours.
epinter said:
you will need a build without the errata hack in board config
Click to expand...
Click to collapse
Thank you sir. One question though..
Which errata hack were you referring to? Errata 657451 in the motorola's version of the bionic library? Eg...
In motorola's bionic, we see workarounds like this:
Code:
/* BEGIN MOT GB UPMERGE, a5705c, 12/21/2010 */
# ifdef HAVE_TEGRA_ERRATA_657451
# define __munge_tls(_v) ( ((_v)&~((1ul<<20)|1ul)) | (((_v)&0x1)<<20) )
# else
# define __munge_tls(_v) (_v)
#endif
/* END MOT GB UPMERGE */
Description of this errata:
Code:
config TEGRA_ERRATA_657451
bool "Store bit 20 of CP15 TLS register c13,3 in bit 0"
depends on ARCH_TEGRA_2x_SOC && HAS_TLS_REG
default y
help
This option enables a workaround for the 657451 Tegra 2 errata
which causes unreliable reads from bit 20 of the thread storage
register c13, 3 (used by the __set_tls system call). It stores the
value intended for bit 20 into bit 0 instead; in most user-space
environments, the value saved by __set_tls is an aligned address,
so repurposing bit 0 will not cause ill effects.
In my noob'ish understanding, there is a hardware related bug in our Atrix Tegra 2 SOC that causing data corruption in Thread Local Storage (TLS). Researching this on the net, some ppl were talking about a possibility of a buggy version of this hardware in Atrix. It is also worth noting that this workaround however is NOT present in Stingray's kernel & bionic.
I don't think I remember seeing this workaround in CM's bionic, which is one of my initial concerns..I will look further at home tonight..
Errrrm... Isn't the Bionic a TI OMAP device?
can you post your kernel so others can test it? i have minimal knowledge but would love to help with testing
(Deleted)
quetzalcoatl2435 said:
Errrrm. Isn't the Bionic a TI OMAP device?
Click to expand...
Click to collapse
Bionic is Android's standard C library. Don't worry
toyota86 said:
Hi guys,
My Atrix -> Xoom kernel port is complete. This is the nvodm version.
Right now I am trying to make a build of CM 9 based on my kernel and running into lots of hiccups
Yeap I am a noob so please bear with me. I am following the steps from http://wiki.cyanogenmod.org/w/Build_for_olympus, and got stuck at the step "Prepare the device-specific code"
Code:
$ breakfast olympus
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/olympus/cm.mk]]: "device/*/olympus/cm.mk" does not exist. Stop.
Device olympus not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_motorola_olympus
CyanogenMod/android_device_motorola_olympus already exists
Syncing repository to retrieve project.
warning: local_manifest.xml is deprecated; put local manifests in local_manifests instead
Fetching projects: 100% (1/1), done.
warning: local_manifest.xml is deprecated; put local manifests in local_manifests instead
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/olympus/cm.mk]]: "device/*/olympus/cm.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_olympus'
** Do you have the right repo manifest?
I figure that the script is reaching out to the wrong repo at https://github.com/CyanogenMod/android_device_motorola_olympus
It should probably go to https://github.com/Atrix-Dev-Team/android_device_motorola_olympus
Am I right?
How to I correct this problem?
Thanks in advance..
Click to expand...
Click to collapse
How did you solve this? I am trying to build for coconut (SE Live With Walkman) and stuck at breakfast.

[Q] CM10.1 Repo Sync Error - "fatal: duplicate project"

Hi all,
I'm trying to compile CM10.1 from source, but when trying to do a new repo sync I get this error:
Code:
fatal: duplicate project CyanogenMod/android_device_samsung_maguro in /home/nickamina/android/cm10.1/.repo/manifest.xml
Can anybody suggest what the problem is here? Thanks
Final bump.
Nickamina said:
Hi all,
I'm trying to compile CM10.1 from source, but when trying to do a new repo sync I get this error:
Code:
fatal: duplicate project CyanogenMod/android_device_samsung_maguro in /home/nickamina/android/cm10.1/.repo/manifest.xml
Can anybody suggest what the problem is here? Thanks
Click to expand...
Click to collapse
The Project is duplicated 2 times in default.xml
mithun46 said:
The Project is duplicated 2 times in default.xml
Click to expand...
Click to collapse
Stumbled on this looking for a resolution for this same error with my Nexus 5 Kernel. Only problem is my default.xml does not have a duplicate entry. If I remove the entry altogether from the default.xml and repo sync the Kernel is missing. If I start a build though it will first go and download the missing kernel from github. My guess is somewhere in either device or vendor being the N5 is an officially supported device there is a call to add the package to repo as repo sync in my case will only brake after the source has been compiled.

Compile AOSP

Hi there. Not sure if it's the right section. I have a question for you guys.
Let's say that sometimes I need to compile one file.
With make I usually do:
make out/target/product/some/boot.img
Obviously this will not work in the complex hell of makefiles we have in android.
How can I do that?
Also I noticed there are $(hide) prefixes in almost any makefile. Is there an env variable to turn it off (debugging purpose)?
Is there a list of all generic env variables commonly used when compiling android?!
Thanks guys!!!
Sent from my XT1053 using XDA Premium 4 mobile app
If you want to make Settings for example type:
Code:
. build/envsetup.sh
lunch yourdevice-eng
mmm packages/apps/Settings
This will build Settings only, you can also make apps only when you'll use mm instead.
If you don't want to use the debugging build, simply lunch the userdebug target.
eagleeyetom said:
If you want to make Settings for example type:
Code:
. build/envsetup.sh
lunch yourdevice-eng
mmm packages/apps/Settings
This will build Settings only, you can also make apps only when you'll use mm instead.
If you don't want to use the debugging build, simply lunch the userdebug target.
Click to expand...
Click to collapse
Thanks! I'll try and let you know.
If my rom has only the -eng build, how I can manually turn off the debugging stuff and optimize it for speed like the -O3?
DAddYE said:
Thanks! I'll try and let you know.
If my rom has only the -eng build, how I can manually turn off the debugging stuff and optimize it for speed like the -O3?
Click to expand...
Click to collapse
While working on a ROM, I personally always use -eng. For releases, I sometimes compile -userdebug, but only rarely. But if you want to, just re-compile with -userdebug
Optimizing with compiler flags (-O3) is something completely else. Such compiler flags are set within the Makefile(s), and not as a terminal command. But before playing around with compiler flags, I'd suggest you to do some heavy reading before
laufersteppenwolf said:
While working on a ROM, I personally always use -eng. For releases, I sometimes compile -userdebug, but only rarely. But if you want to, just re-compile with -userdebug
Optimizing with compiler flags (-O3) is something completely else. Such compiler flags are set within the Makefile(s), and not as a terminal command. But before playing around with compiler flags, I'd suggest you to do some heavy reading before
Click to expand...
Click to collapse
Thanks for the explanation, I was just wondering why both cyanogen and omni roms compiled by me are slow as hell
Also, I see that before on other roms when you click around sometime appear a red rectangle around the border of the screen... is that a debug thing?
Again thanks!
DAddYE said:
Thanks for the explanation, I was just wondering why both cyanogen and omni roms compiled by me are slow as hell
Also, I see that before on other roms when you click around sometime appear a red rectangle around the border of the screen... is that a debug thing?
Again thanks!
Click to expand...
Click to collapse
hehe, welcome to an old "-eng-bug" when you compile -eng, strictmode somehow goes crazy
you can fix it by adding the following line to your build.prop:
Code:
persist.sys.strictmode.disable=1
laufersteppenwolf said:
hehe, welcome to an old "-eng-bug" when you compile -eng, strictmode somehow goes crazy
you can fix it by adding the following line to your build.prop:
Code:
persist.sys.strictmode.disable=1
Click to expand...
Click to collapse
Awesome! Thanks man!

[NEED HELP] [CM12.1 PORT] Building error (No rule to make target [...]/src/R.stamp)

Hello all,
I've been a member here for a while now, mostly consuming until this moment, but after buying a Galaxy Tab A 9.5 decided it was time to to some contributing (there isn't a working port of anything for it as far as I'm aware). So with some work of my own and major work and help from Nick Verse there is now a working current version building (and booting and functioning fully) of TWRP. For more on that, see the topic Nick made on that: http://forum.xda-developers.com/android/development/recovery-samsung-galaxy-tab-9-7-t3355465
Sources and files are at https://github.com/cyanonoob, and if necessary I can provide my local manifest, which includes these and TWRP.
As for building CM: after I setup the build environment, make clean and clobber (in case of previous (mis)builds), I do croot and then lunch cm_gt510wifi-userdebug && mka bacon. As far as I know that is what I'm supposed to do, and then there comes the journey of sorting through building errors, which is where I am now.
I'm currently stuck on this one (and couldn't find a way out), so I am hoping someone here can shine a light on it:
Code:
make: *** No rule to make target `/home/geert/android/system/out/target/common/obj/APPS/org.cyanogenmod.platform-res_intermediates/src/R.stamp', needed by `/home/geert/android/system/out/target/common/obj/APPS/AntHalService_intermediates/src/R.stamp'. Stop.
make: *** Waiting for unfinished jobs....
[33mNote: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.[0m
make: Leaving directory `/home/geert/android/system'
#### make failed to build some targets (03:44 (mm:ss)) ####
Full logfile here:
http://pastebin.com/C02YhXSz
Thanks in advance,
graey/cyanonoob
graey said:
Hello all,
I've been a member here for a while now, mostly consuming until this moment, but after buying a Galaxy Tab A 9.5 decided it was time to to some contributing (there isn't a working port of anything for it as far as I'm aware). So with some work of my own and major work and help from Nick Verse there is now a working current version building (and booting and functioning fully) of TWRP. For more on that, see the topic Nick made on that: http://forum.xda-developers.com/android/development/recovery-samsung-galaxy-tab-9-7-t3355465
Sources and files are at https://github.com/cyanonoob, and if necessary I can provide my local manifest, which includes these and TWRP.
As for building CM: after I setup the build environment, make clean and clobber (in case of previous (mis)builds), I do croot and then lunch cm_gt510wifi-userdebug && mka bacon. As far as I know that is what I'm supposed to do, and then there comes the journey of sorting through building errors, which is where I am now.
I'm currently stuck on this one (and couldn't find a way out), so I am hoping someone here can shine a light on it:
Full logfile here:
http://pastebin.com/C02YhXSz
Thanks in advance,
graey/cyanonoob
Click to expand...
Click to collapse
Any Progress in porting cm tho gt510?
Did you manage to fix that error ???
How ??
Thanks in advance
Best Regards
Edit : to anyone who face that error....it is wrong build environment configuration....CM-12.1 require Open JDK 7 to build so you have to install Ubuntu 14.04 to compile it as Open JDK 7 got replaced with Open JDK 8 in Ubuntu 16.04....hope that helps
Best Regards

Categories

Resources