[Q] Compiling CM9 for SGS3 - Galaxy S III Q&A, Help & Troubleshooting

Hello,
Please forgive the n00bness of this post.
I thought with my shiny white SGS 3 arriving in the post today I would move into playing around with compiling and tweaking my own bulid for it.
I have been trawing the internet and XDA looking for tutorials about compiling ICS, of which I have found loads. I have the basic bulid environment setup and the main CM9 source code downloaded. There however is one thing I can't quite work out.
I am trying to bulid from the TEAMHACKSUNG sources (http://forum.xda-developers.com/showthread.php?t=1714354) I know the two device specific github repos need downloading. From looking around they can be put in the local_manifiest.xml file to make repo sync them with the rest of the source. However I can not work out the exact syntax to put into the xml file or where is the already downloaded source code tree the files need to go.
I am presuming the device repo needs to go under <source tree root>/device/samsung/..something..
which would give a XML line like:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="teamhacksung"
fetch="git://github.com/teamhacksung/" />
<project name="android_device_samsung_i9300.git" path="device/samsung/????" remote="teamhacksung"/>
The kernel I am even less sure of, the basic structure should be something liek this I think:
Code:
<project name="android_kernel_samsung_smdk4412.git" path="kernel/samsung/???" remote="teamhacksung" />
So, if anyone could tell me if I am going in the right direction, and if the device specific names are important in the source tree etc. I would be veryu grateful!
Thanks

I think something of the form should work:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="ics">
<copyfile dest="build.sh" src="samsung/build.sh" />
</project>
<project name="teamhacksung/android_device_samsung_i9300" path="device/samsung/galaxys3" remote="github" />
<project name="teamhacksung/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" />
</manifest>

SGS3 has just been merged into official CM source: http://review.cyanogenmod.com/#/c/17824/ . So just do a brunch and choose your device

Related

[Q] hardware source tree, & vendor proprietaries tree

I ran into This guide a few days ago and decided to give it a try for fun. however, i am stuck at this step:
Now, Lets add the device specific trees:
Add your own device tree, kernel tree, hardware source tree, & vendor proprietaries tree in the manifest. (BEFORE the manifest closing tags)
For example, I'm using all corresponding trees for Samsung Galaxy S3 i9300 - International
Following is just an example, not what you should copy/paste. SEARCH & USE YOUR OWN DEVICE SPECIFIC TREES.
Code:
<!-- Add i9300 device tree -->
<project name="CyanogenMod/android_device_samsung_i9300" path="device/samsung/i9300" remote="github" revision="jellybean" />
<!-- Add Samsung Kernel SMDK4412 -->
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="jellybean" />
<!-- Add samsung hardware source tree -->
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
<!-- Add Samsung Proprietary Vendor Files -->
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jellybean" />
Click to expand...
Click to collapse
I found our device tree and Kernel (both from Mevrodel's github) but am having trouble finding the hardware source tree, & vendor proprietaries tree. Can anyone point me in the right direction? thanks
iurnait said:
I ran into This guide a few days ago and decided to give it a try for fun. however, i am stuck at this step:
I found our device tree and Kernel (both from Mevrodel's github) but am having trouble finding the hardware source tree, & vendor proprietaries tree. Can anyone point me in the right direction? thanks
Click to expand...
Click to collapse
Glad you asked! This is my entire local_manifest.xml. If you add it to the main manifest.xml, like that guide says, just copy the 3 long lines.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="Mevordel/android_device_samsung_venturi" path="device/samsung/venturi" remote="github" revision="jellybean" />
<project name="Mevordel/android_kernel_samsung_venturi" path="kernel/samsung/venturi" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
</manifest>
To make the vendor/proprietaries tree, download the latest CM10 alpha, and after repo syncing, go to device/samsung/venturi and run ./extract-files.sh ~/Downloads/cm-whatever.zip (use the appropriate path). Or, if you have cm10 installed, just run ./extract-files.sh - make sure you do this before running lunch.
Just for reference: all of the XYZ should be venturi, and we are hdpi, not xhdpi. Try skipping the vendor props section. There is no vendor repository; it is created by the script
so should i use your vold or Cyanogenmods?
iurnait said:
so should i use your vold or Cyanogenmods?
Click to expand...
Click to collapse
Until I figure out how to submit a proper patch to the CM team, you have to use mine for internal storage to work. It's the same as theirs except one modification.
Thanks for all your help. I finally got everything set up and am building right now.
Sent from my YP-G70 using xda app-developers app

Combining Git Sources?

I'm looking to get SlimBean running on the HTC Vivid, and I've already repo synced the Slim git, from here- https://github.com/SlimRoms/platform_manifest
How would I go about downloading the neccessary source for my device from working code on Github? Do I just need to repo init the platform manifest for the device that I'm looking to port it to? I've built straight CM10.1 from source by itself before but I haven't ever combined from an outside tree like this.. Any help is greatly appreciated.
Also, do I need to get multiple repos, like do I need to download SlimROM, AOSP, and specific device tree repos? What all do I need to make sure I have before I start compiling?
calikevin said:
I'm looking to get SlimBean running on the HTC Vivid, and I've already repo synced the Slim git, from here- https://github.com/SlimRoms/platform_manifest
How would I go about downloading the neccessary source for my device from working code on Github? Do I just need to repo init the platform manifest for the device that I'm looking to port it to? I've built straight CM10.1 from source by itself before but I haven't ever combined from an outside tree like this.. Any help is greatly appreciated.
Also, do I need to get multiple repos, like do I need to download SlimROM, AOSP, and specific device tree repos? What all do I need to make sure I have before I start compiling?
Click to expand...
Click to collapse
Here is a copy of my slim-manifest.xml: <?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="SlimRoms/device_samsung_hercules" path="device/samsung/hercules" remote="github" revision="jb4.2" />
<project name="SlimRoms/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jb4.2" />
<project name="SlimRoms/device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="jb4.2" />
<project name="SlimRoms/device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="github" revision="jb4.2" />
<project name="CyanogenMod/android_device_samsung_celox-common" path="device/samsung/celox-common" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_hardware_qcom_display-caf" path="hardware/qcom/display-caf" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_hardware_qcom_audio-caf" path="hardware/qcom/audio-caf" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_samsung_msm8660-common" path="kernel/samsung/msm8660-common" remote="github" revision="cm-10.1" />
<project name="SlimRoms/hardware_qcom_display-caf" path="hardware/qcom/display-caf" remote="github" revision="jb4.2" />
<project name="SlimRoms/hardware_qcom_audio-caf" path="hardware/qcom/audio-caf" remote="github" revision="jb4.2" />
<project name="carvsdriver/android_kernel_samsung_msm8660-common"
You can see the things I pulled from cm10.1 to get it to work on my phone, my phone is now suported by slim but just a few months ago. Ask some of the dev's building other roms in your phones thread what all you need to pull from cm10.1 to get all to work. Good luck, Slim is by far my fav!
onlychevys said:
"
You can see the things I pulled from cm10.1 to get it to work on my phone, my phone is now suported by slim but just a few months ago. Ask some of the dev's building other roms in your phones thread what all you need to pull from cm10.1 to get all to work. Good luck, Slim is by far my fav!
Click to expand...
Click to collapse
Thank you but I'm a little confused, the things you pulled from CM to make it work, are those identified by where it says "path" followed by what looks like may be a file from CM?
edit: nevermind, it looks way different on the PC than it did on my phone, I can see the CM parts clearly now.
And where might I find the slim manifest to edit for myself?
Sent from my Vivid 4G using Tapatalk 4 Beta
at there git hub:https://github.com/SlimRoms/platform_manifest

[Q][noobish] Building unofficial CM11?

Hi, I have a Samsung Galaxy Tab 4 WiFi (SM-T530) (codename: matissewifi). I want to make an AOSP rom to get rid of Touchwiz. I installed ubuntu, i fetched cyanogenmod android project from github. I grabbed device tree, kernel tree, vendor, hardware or something from a developer's github who works on a rom for this tablet. I don't know what should I have for making a rom. I edited local_manifest.xml file. Here's it:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="sub77/android_device_samsung_matissewifi" path="device/samsung/matissewifi" remote="github" revision="master"/>
<project name="sub77/android_vendor_samsung_matissewifi" path="vendor/samsung/matissewifi" remote="github" revision="master"/>
<project name="sub77/android_kernel_samsung_matissewifi" path="kernel/samsung/matissewifi" remote="github" revision="master"/>
<project name="mukulsoni/android_device_samsung_msm8226-common" path="device/samsung/msm8226-common" remote="github" revision="master"/>
<project name="sub77/android_vendor_samsung_msm8226-common" path="vendor/samsung/msm8226-common" remote="github" revision="master"/>
<project name="sub77/android_hardware_qcom_msm8226" path="hardware/qcom/msm8226" remote="github" revision="master"/>
<project name="sub77/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="master"/>
<project name="sub77/android_kernel_samsung_ms013g" path="kernel/samsung/ms013g" remote="github" revision="master"/>
</manifest>
But when I build the ROM, it says "Trying dependencies-only mode on a non-existing device tree?" and other some depressing errors or warnings. The biggest questions in my mind are:
1) How to properly edit local_manifest.xml file? What should it contain? Device tree, kernel or something? But I have multiple device trees in my this file (qcom-common, msm8226-common, matissewifi...)
2) What does "Trying dependencies-only mode on a non-existing device tree?" error want to tell? What does it mean? It is error or can i ignore it.
Please help thanks.
need help
i need help

Error building official Cyanogenmod 13 for zuk z1 (ham)

Good morning to everybody (spanish time)
I am almost new in building from source and I am having a really really weird issue when building cm13 for zuk z1, which is officially supported.
A dev, @MrColdbird, has been improving a lot zuk's device tree, and I have been building CM13 using his local_manifest.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="MrColdbird/proprietary_vendor_zuk" path="vendor/zuk" remote="github" revision="cm-13.0" />
<project name="MrColdbird/android_device_zuk_ham" path="device/zuk/ham" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-13.0" />
<project name="ChromaKernel/cKernel" path="kernel/cyanogen/msm8974" remote="github" revision="cm-13.0" />
</manifest>
One day, I wanted to compile CM13 using official device tree so I deleted ham.xml in .repo/local_manifests and did:
Code:
source build/envsetup.sh
breakfast ham
Then I extracted proprietary blobs through adb using
Code:
cd ~/android/system/device/zuk/ham
./extract-files.sh
I did a cleaning (make clean) and a repo sync just in case and tried again:
Code:
brunch ham
The problem - 1 After several minutes, the terminal stopped saying:
Code:
make: *** No rule for building target «vendor/zuk/ham/proprietary/bin/btnvtool», necesario para «/home/luis/android/system/out/target/product/ham/system/bin/btnvtool». Stop.
make: *** Waiting for other processes to finish...
make: exiting directory «/home/luis/android/system»
#### make failed to build some targets (02:37 (mm:ss)) ####
(I translated it so maybe it's not the same message literally. It was in spanish)
The problem - 2 I did a research and found I hadn't get prebuilt apps (vendor/cm/) so my surprise comes when I do
Code:
cd ~/android/system/vendor/cm
./get-prebuilts
and it returns
Code:
bash: ./get-prebuilts: No such file or directory
I have founded loads of threads in internet about this but I haven't been able to understand I don't have that file in vendor/cm my local files. It is not a writting error or something like that, I checked a thousand times and the spelling is correct (and the file is not in that directory). Could anyone guide me in any direction? Why didn't I need that step when compiling using a different local_manifest.xml?
Any help will be highly appreciated.
Thanks in advance.
EDIT - 1 I have noticed there is not such file in vendor/zuk/ham/proprietary/bin so I created a local_manifest called ham.xml with the same content of the default roomservice.xml and adding a line:
Code:
<manifest>
<project name="CyanogenMod/android_device_zuk_ham" path="device/zuk/ham" remote="github"/>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github"/>
<project name="CyanogenMod/android_kernel_cyanogen_msm8974" path="kernel/cyanogen/msm8974" remote="github"/>
[B]<project name="TheMuppets/proprietary_vendor_zuk" path="vendor/zuk" revision="cm-13.0" remote="github"/>[/B]
</manifest>
Maybe this cannot be done, but I'm kinda desperate, so let's see...
Anybody??

Help building CyanogenMod 14.1

Hi,
I'm trying to build CyanogenMod 14.1 following this guide (wiki.cyanogenmod.org/w/Build_for_oneplus2) and I've got stuck.
Specifically I've got stuck when executing "breakfast oneplus2".
This is the output of the command:
Code:
including vendor/cm/vendorsetup.sh
Looking for dependencies
Can't find toolchain for unknown architecture: /home/ghmap/android/cm "$v" userdebug
"$v" userdebug
I've installed the android development packages. So I think that I should have the required toolchain... But I don't really know which toolchaing it's talking about.
I haven't setup my local_manifests and I think that this could be the problem. I've no idea about how-to setup it for cyanogenmod 14.1. Any idea?
Currently it's looking like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_oneplus_oneplus2" path="device/oneplus/oneplus2" remote="github" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" />
<project name="CyanogenMod/android_kernel_oneplus_msm8994" path="kernel/oneplus/msm8994" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
</manifest>
Thanks
Idk if this will fix but idk if cyanogenmod repo is updated for 14.1 for the oneplus 2 try changing the vendor device kernel ect to seraph08's or someone else doing 14.1 builds it may fix it but may save you a problem down the line too
I changed my manifest to use Seraph08 repos and I get the same result.
This is how it looks like right now my local manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="Seraph08/android_device_oneplus_oneplus2" path="device/oneplus/oneplus2" remote="github" />
<project name="Seraph08/android_device_oppo_common" path="device/oppo/common" remote="github" />
<project name="Seraph08/android_kernel_oneplus_msm8994" path="kernel/oneplus/msm8994" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" />
<project name="TheMuppets/proprietary_vendor_qcom_binaries" path="vendor/qcom/binaries" remote="github" />
</manifest>
And the result of "breakfast oneplus2":
Code:
including vendor/cm/vendorsetup.sh
Looking for dependencies
Can't find toolchain for unknown architecture: /home/ghmap/android/cm "$v" userdebug
"$v" userdebug
It looks like I'm missing some config...
Quick question you did run
source build/envsetup.sh
While in the root directory of the code right?
Yes, I did. This is the output:
Code:
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/oneplus/oneplus2/vendorsetup.sh
including vendor/cm/vendorsetup.sh
ghmap said:
Hi,
I'm trying to build CyanogenMod 14.1 following this guide (wiki.cyanogenmod.org/w/Build_for_oneplus2) and I've got stuck.
Specifically I've got stuck when executing "breakfast oneplus2".
This is the output of the command:
including vendor/cm/vendorsetup.sh
Looking for dependencies
Code:
Can't find toolchain for unknown architecture: /home/ghmap/android/cm "$v" userdebug
"$v" userdebug
I've installed the android development packages. So I think that I should have the required toolchain... But I don't really know which toolchaing it's talking about.
I haven't setup my local_manifests and I think that this could be the problem. I've no idea about how-to setup it for cyanogenmod 14.1. Any idea?
Currently it's looking like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_oneplus_oneplus2" path="device/oneplus/oneplus2" remote="github" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" />
<project name="CyanogenMod/android_kernel_oneplus_msm8994" path="kernel/oneplus/msm8994" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
</manifest>
Thanks
Click to expand...
Click to collapse
Maybe you have in your ~/.bashrc / ~/.zshrc a variable called 'ARCH' which is equal to "$v$" ?
casual_kikoo said:
[/HIDE]
Maybe you have in your ~/.bashrc / ~/.zshrc a variable called 'ARCH' which is equal to "$v$" ?
Click to expand...
Click to collapse
No, I haven't.
Finally I've found a workaround. Using Bash instead of Zsh...
Thanks to everybody for the help!
ghmap said:
No, I haven't.
Finally I've found a workaround. Using Bash instead of Zsh...
Thanks to everybody for the help!
Click to expand...
Click to collapse
Yes, zsh is known to cause problems for building. I'm also sure that in the usual guides bash is used, not zsh. I ran into similar problems while building with zsh and did it the same way you did.

Categories

Resources