DEVELOPMENT ONLY. USER DISCUSSION IS IN THE USER THREAD IN SGH-I777 GENERAL
Have you noticed how angry Cid looks after the white burst? Don't make us tell him YOU are the cause of all the problems in his life!CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.1 (JB), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
* Submitting bug reports on nightly builds is the leading
* cause of male impotence.
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.
Device: https://github.com/teamhacksung/android_device_samsung_i777
Common: https://github.com/teamhacksung/android_device_samsung_galaxys2-common
Kernel: https://github.com/teamhacksung/android_kernel_samsung_smdk4210
CyanogenMod: http://github.com/CyanogenMod
http://teamhacksung.org/wiki/index.php/CyanogenMod10:How_to_build
If you're going to reuse our work, which we're doing for free, be fair and give proper credits.
This is the only payment we're really demanding and we deserve it to be mentioned because of the countless hours we've put into this project.
Open-Source doesn't meant Out-of-Respect!!!
USER DISCUSSION THREAD: http://forum.xda-developers.com/showthread.php?t=1796733 - Unless it is discussing patches or how to build from source, it almost surely belongs there.
To be clear, posts without detailed instructions on how to reproduce a problem and without attached logs will be ignored.
Always provide android (adb logcat) and kernel logs (adb shell dmesg).
If it's a RIL problem we would need a radio log (adb logcat -b radio), too.
Now, how were any of the above posts development-related?
Looks like we're gonna have to send Cid on a little hunting trip.
Entropy512 said:
Now, how were any of the above posts development-related?
Looks like we're gonna have to send Cid on a little hunting trip.
Click to expand...
Click to collapse
They were not.
Reminder to people - this is a development thread. Useless comments like "Sweet!" and "Thanks" are not dev related. From here on out, Red and I will delete ANY non dev related posts, without warning or notice. Entropy has mentioned the general discussion thread - USE IT.
I'd like to give building from source a shot in order to learn something. I'm looking at the instructions posted here:
http://teamhacksung.org/wiki/index.php/CyanogenMod10:How_to_build
But that specifies the build target as the i9100. Should I be doing that, and then pulling your kernel git, building that, and replacing the i9100 kernel with the i777 binary?
Is this an appropriate question for this thread?
sjwaste said:
I'd like to give building from source a shot in order to learn something. I'm looking at the instructions posted here:
http://teamhacksung.org/wiki/index.php/CyanogenMod10:How_to_build
But that specifies the build target as the i9100. Should I be doing that, and then pulling your kernel git, building that, and replacing the i9100 kernel with the i777 binary?
Is this an appropriate question for this thread?
Click to expand...
Click to collapse
Use
Code:
./build.sh i777
and you should be fine. :good:
A general and very hastily made guide if you want to compile CM10 for i777 yourself:
The easy but experimental way will be all good for JB, follow it up to the point where it asks you
Do you want us to get android sources for you? (y/n)
Click to expand...
Click to collapse
Say n. Why? Because it has not been updated to use the jellybean branch. It will only display GB and ICS. We do not want that.
Then do this manually:
Code:
mkdir ~/bin
export PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
After that, go to your working dir (~/android/system as default), initialize the repo and sync.
Code:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync
After it's done (it will take a long while), you need to copy the propietary binaries from your device (make sure it has a CM9-10 build installed!).
With the android-sdk and platform-tools installed (we need adb for this to work, refer to Teamhacksung's and CM's wiki), run:
Code:
cd ~/android/system/device/samsung/i777/
./proprietary-files.sh
Go back to your working dir (~/android/system/) and then you can start the build with ./build.sh i777
After xy minutes you'll have your own kang of CM10. :highfive:
Hope it helps getting your build going.
Remember: if you kang don't forget the guys who made it possible in the first place. Give CM team some credit.
Edit: Added on 27 Jul, IFyou have issues building, such as the ones reported below regarding missing repos or such.
Create a file inside .repo of your working dir (~/android/system/.repo/) called local_manifest.xml
Paste the following inside:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="jellybean">
<copyfile dest="build.sh" src="samsung/build.sh" />
</project>
<project name="teamhacksung/android_device_samsung_i777" path="device/samsung/i777" remote="github" revision="jellybean" />
<project name="teamhacksung/android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="github" revision="jellybean" />
<project name="teamhacksung/android_kernel_samsung_smdk4210" path="kernel/samsung/smdk4210" remote="github" revision="jellybean" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="ics" />
</manifest>
This only applies while the SGS2 family device trees have not been added to the CM mainline repo. Once it's there, DO NOT use these. They will be outdated by then.
Im on Mac OS X so Ive basically gone through the Cyanogen wikis instructions for setting up the workspace and compiling, and Im just substituting your commands where I need to.
So far all is well but Im still syncing the repo and it says its going to take awhile..
Now on the Team Hacksung wiki instructions, where I initially started, I got as far as downloading and chmoding the build.sh file, but couldnt run the 'prepare' step because it looks like its only for Ubuntu or Arch Linux. Since you didnt make any mention of it, am I safe to assume I can skip this step?
Im guessing the prepare flag just runs the steps that setup and install the repo which I did manually??
Let me tell ya this sure aint as easy as compiling MAME!!
Slavestate said:
Im on Mac OS X so Ive basically gone through the Cyanogen wikis instructions for setting up the workspace and compiling, and Im just substituting your commands where I need to.
So far all is well but Im still syncing the repo and it says its going to take awhile..
Now on the Team Hacksung wiki instructions, where I initially started, I got as far as downloading and chmoding the build.sh file, but couldnt run the 'prepare' step because it looks like its only for Ubuntu or Arch Linux. Since you didnt make any mention of it, am I safe to assume I can skip this step?
Im guessing the prepare flag just runs the steps that setup and install the repo which I did manually??
Let me tell ya this sure aint as easy as compiling MAME!!
Click to expand...
Click to collapse
You are correct. The prepare just does all the environment setup for Ubuntu/Mint and Arch (running Mint myself, I'm a casual).
Best of luck mate! :highfive:
Slavestate said:
Im on Mac OS X so Ive basically gone through the Cyanogen wikis instructions for setting up the workspace and compiling, and Im just substituting your commands where I need to.
So far all is well but Im still syncing the repo and it says its going to take awhile..
Now on the Team Hacksung wiki instructions, where I initially started, I got as far as downloading and chmoding the build.sh file, but couldnt run the 'prepare' step because it looks like its only for Ubuntu or Arch Linux. Since you didnt make any mention of it, am I safe to assume I can skip this step?
Im guessing the prepare flag just runs the steps that setup and install the repo which I did manually??
Let me tell ya this sure aint as easy as compiling MAME!!
Click to expand...
Click to collapse
I've had issues compiling AOSP on OSX. Are you on 10.6 or 10.7? If on Lion, make sure and comment out those QEMU targets like the Wiki says. On 10.6, I've had other issues, having more to do with getting a working version of GCC. For some reason I had GCC 4.2 on this machine under 10.6.8 and the latest XCode, so I had to use Ports to install something newer AND THEN MAKE SURE it either had priority in the PATH or the symlink pointing at 4.2 was repurposed to the correct one.
FWIW, this was for CM9 and the Nook Color - not sure how CM10 and the i777 will behave, but to be honest, I've just decided not to hassle with OSX again and I set up a Ubuntu VM.
I'm logged into my Ubuntu machine through citrix from work. Is there a way to get the prop files from windows?
drakester09 said:
... snip!
Click to expand...
Click to collapse
Thanks for the help. I'll be giving that a shot. No kanging intended, you guys will build a better ROM than I will, so I don't really even intend to modify anything aesthetically. I have a bluetooth issue very specific to the head unit in my car, so I'm hoping to fix that and submit a patch. That and curiosity are about as much as is motivating me right now.
Step 1 is to reproduce it in JB, and beyond that, figure out how to fix it. Off hand, is the bluetooth stack in JB significantly different than ICS, or just a newer version of BlueZ?
---------- Post added at 09:17 AM ---------- Previous post was at 09:12 AM ----------
kool2zero said:
I'm logged into my Ubuntu machine through citrix from work. Is there a way to get the prop files from windows?
Click to expand...
Click to collapse
Not easily, but here is the shell script that extracts them:
https://github.com/teamhacksung/android_device_samsung_i777/blob/jellybean/proprietary-files.sh
You can have a look through and do some of the steps manually, but it looks like a pain. Maybe with cygwin? I don't think I'd try it.
Entropy, I'm from Colombia, I have successfully translated several ROMS to Spanish, I have free time on holiday from college, I want to help translate the Spanish ROM. thanks
mac isnt going to be very fun to work with. if you had the option id suggest dual booting. but to each his own.
the environment in linux is very easy to set up, certainly easier then with ICS, there were a few flags that needed to be set and werent well advertised bc they were bugs. generally if you look for john BQ at google for bug reports he makes it very clear what is broken in the aosp tree. granted this is CM and the CM team often implements fixes and maintains their own code and ensure it is compileable.
Well I let the repo download and sync all night last night, ran the envsetup.sh just a few minutes ago, then moved onto the 'lunch cm_i777-userdebug' command. It attempted to retrieve the device repo from the Github and after downloading some stuff, I get this:
error: revision jellybean in CyanogenMod/android_device_samsung_i777 not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/i777/cm.mk]]: "device/*/i777/cm.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_i777'
** Do you have the right repo manifest?
I know I ran all the right commands cause I just copy/pasted direct from both drakesters post as well as Team Hacksungs wiki but Im stuck here.
Any ideas?? Should I redo the whole repo init/sync again?? Wipe it all out and start over??
Im on 10.6.8 by the way if that matters.. Lion aint going anywhere near my Mac Pro..
Ensure that you have the proprietary files downloaded. That is key. They also need to be from cm9 or cm10. Also on a lunch command it shouldn't be dl anything. Try using the build.sh instead. Lunch combines both brunch and make into one command. Aka it sets environment variables then builds. And it seems to be having problems with that. You can try brunch then make. Or go back a page and use the build command
Sent from my SGH-I777 using xda app-developers app
I'll post my local manifest.xml when I get home. You need to add teamhacksung's sgs2 jb repos. They haven't been added to the CM main repo.
Sent from my SGH-I777 using Tapatalk 2
I was just about to say that now that I reread the problem. Sorry. You can ignore my other post...
Sent from my SGH-I777 using xda app-developers app
Yeah I was wondering if I had to add something to pull them from elsewhere hehehe.
Cool thanks Drakester! Im off to work til 9pm so no hurry post the xml whenever you get a chance!
Heres whats in mine currently (taken from the pastebin link posted on Team Hacksungs wiki):
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="jellybean">
<copyfile dest="build.sh" src="samsung/build.sh" />
</project>
</manifest>
drakester09 said:
I'll post my local manifest.xml when I get home. You need to add teamhacksung's sgs2 jb repos. They haven't been added to the CM main repo.
Sent from my SGH-I777 using Tapatalk 2
Click to expand...
Click to collapse
Thanks for the info! I was pulling my hair last night and thought I missed something - that was my next step that I was thinking of trying when I get to it next time.
Here you go.
I grabbed the template from Pier in the i9100 forums and changed a bit. Thanks to him.:good:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="jellybean">
<copyfile dest="build.sh" src="samsung/build.sh" />
</project>
<project name="teamhacksung/android_device_samsung_i777" path="device/samsung/i777" remote="github" revision="jellybean" />
<project name="teamhacksung/android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="github" revision="jellybean" />
<project name="teamhacksung/android_kernel_samsung_smdk4210" path="kernel/samsung/smdk4210" remote="github" revision="jellybean" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="ics" />
</manifest>
These repos are good only while they have not been added to CM mainline. When they get integrated to the main CM repo, change to those ones.
Wow holy crap that's a lot more then they give you the Hacksung wiki. Go figure I spend all night setting it up and now Entropys back in business haha.
Sent from my SGH-I777 using Tapatalk 2
About this thread
The initial compile of CM10.1 for 2011 devices has may problems. In this thread, I'm asking everyone to gather information, and contribute code, ideas and time for testing. It won't be working within a few weeks, but hopefully we can get it working sometime before fxp officially give us CM10.1.
In this first post, I'll try to add all relevant information people helped me to find.
Documentation:
kernel for 2011 Xperia devices.
https://github.com/Andromadus
(included:
Code:
<project path="frameworks/av" name="Andromadus/android_frameworks_av" remote="github" revision="jb4.2" />
<project path="frameworks/native" name="Andromadus/android_frameworks_native" remote="github" revision="jb4.2" />
<project path="hardware/broadcom/wlan" name="Andromadus/android_hardware_broadcom_wlan" remote="github" revision="jb4.2" />
<project path="hardware/libhardware" name="Andromadus/android_hardware_libhardware" remote="github" revision="jb4.2" />
<project path="hardware/libhardware_legacy" name="Andromadus/android_hardware_libhardware_legacy" remote="github" revision="jb4.2" />
<project path="hardware/qcom/display" name="Andromadus/android_hardware_qcom_display" remote="github" revision="jb4.2" />
<project path="hardware/qcom/audio" name="Andromadus/android_hardware_qcom_audio" remote="github" revision="Andro4.2" />
<project path="hardware/qcom/media" name="Andromadus/android_hardware_qcom_media" remote="github" revision="jb4.2" />
<project path="hardware/ril" name="Andromadus/android_hardware_ril" remote="github" revision="jb4.2" />
<project path="packages/apps/Camera" name="Andromadus/android_packages_apps_Camera" remote="github" revision="jb4.2" />
<project path="system/vold" name="Andromadus/android_system_vold" remote="github" revision="jb4.2" />
Test rom here
I have one doubt:
As the android 4.2 is just a maintainence release over android 4.1, so won't the modules used for Bluetooth, gps etc. be the same? My point is that can't we copy the Bluetooth files from CM10?
Sent from my Xperia Mini Pro using xda app-developers app
+1 can we copy bluetooth files from cm 10???
Don't think so, but you could try it
What means gps not working? Do you mean gps can't be turned on like bluetooth or it just can't find your location? In my latest build I can turn it on and I'm waiting if it will find my location :good:
mihahn said:
Don't think so, but you could try it
What means gps not working? Do you mean gps can't be turned on like bluetooth or it just can't find your location? In my latest build I can turn it on and I'm waiting if it will find my location :good:
Click to expand...
Click to collapse
The gps is not able to find your location.
Anyway can anyone tell what bluetooth files are needed to be copied from CM10?
Sent from 4.2ed mango
andogeek10 said:
I have one doubt:
As the android 4.2 is just a maintainence release over android 4.1, so won't the modules used for Bluetooth, gps etc. be the same? My point is that can't we copy the Bluetooth files from CM10?
Sent from my Xperia Mini Pro using xda app-developers app
Click to expand...
Click to collapse
here is the difference
http://developer.android.com/about/versions/jelly-bean.html
New Bluetooth stack
Android 4.2 introduces a new Bluetooth stack optimized for use with Android devices. The new Bluetooth stack developed in collaboration between Google and Broadcom replaces the stack based on BlueZ and provides improved compatibility and reliability.
So we need to change some source to activated the bluetooth.
And is useless to copy the android 4.1 Bluetooth files to the 4.2 device.
Dear xda members,
I am trying to build my own cyanogenmod 11, so android kitkat 4.4.4 for my smartphone -> LG G2 (Verizon)
I am able to build from source thanks to many guides here in forum. But I need to merge some changes from JackpotClavin on github.
Reading many guides about how to work with github, most, if not every guide presume the author was creating projects that I will be able to fetch. But there are no projects from JackpotClavin. So I don't get it to work like I wish
How do I merge changes from github to my source the easy way?
Prerequisites:
Ubuntu x64
Source downloaded from cm11
I am able to build from source
Okay I managed to clone the repo I need locally in dir named TESTcm.
So how do I tell 'brunch' command, that he should use for example
'TESTcm/android_device_lge_vs980' instead of 'device/lge/vs980'
and
'TESTcm/proprietary_vendor_lge' instead of 'vendor/lge/vs980/proprietary' ?
If I use roomservice.xml in local_manifests (and change the corresponding paths), I am not able to repo sync anymore
Edit: And if I create other xml files with new remotes, the changes won't get merged
koboltzz said:
Okay I managed to clone the repo I need locally in dir named TESTcm.
So how do I tell 'brunch' command, that he should use for example
'TESTcm/android_device_lge_vs980' instead of 'device/lge/vs980'
and
'TESTcm/proprietary_vendor_lge' instead of 'vendor/lge/vs980/proprietary' ?
If I use roomservice.xml in local_manifests (and change the corresponding paths), I am not able to repo sync anymore
Edit: And if I create other xml files with new remotes, the changes won't get merged
Click to expand...
Click to collapse
I have very minimal experience in this, but from what I do know, you have to point the link in room_service.xml that fetches the directory to what you want to clone, not change the local directory. This avoids having to clone the repo as well. Here is an example:
you would change:
<project name="CyanogenMod/android_kernel_samsung_msm8660-common" path="kernel/samsung/msm8660-common" remote="github" revision="cm-11.0" />
to:
<project name="Cl3Kener/HERC-KERNELS" path="kernel/samsung/msm8660-common" remote="github" revision="uber-kk44" />
then you just repo sync and everything will automatically sync and update.
There is an EXCELLENT explanation and tutorial for this in this thread:
http://forum.xda-developers.com/showthread.php?t=2355078
This is where I learn myself and I got the example.
Hi! I have the BLU Energy X 2, and I am trying to build CM12.1 for my device. There is no already created device tree and vendor files, so I used the ones from the Infinix Hot 2, and adapted the files to my device., and then I synced the CM12.1 repo. I have also created the device and vendor folders (Device>blu>e050u_blu) & (Vendor>blu>e050u_blu). Then, inside my local manifest, I have these lines:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/blu/e050u_blu" name="OblivionROM/android_device_e050u_blu" remote="github" revision="cm12.1" />
<project path="vendor/blu/e050u_blu" name="OblivionROM/android_vendor_e050u_blu" remote="github" revision="cm12.1" />
</manifest>
That adds my device tree and vendor files. Then I go into my CM12.1 directory, and I run ". build/envsetup.sh". That shows around 10 results, but it also shows
"including device/blu/e050u_blu/vendorsetup.sh".
Then I run "lunch" and choice 7 is cm_e050u_blu-eng and choice 8 is cm_e050u_blu-userdebug. I type "8" and I get an error. Here's the pastebin with my full terminal log, including the error.
http://pastebin.com/DrnPDHsu
If anyone can help me with this, that would be great! Thanks