Related
I have written this guide as most existing guides for Mac OS X use MacPorts and include steps that are now unnecessary. It is geared towards intermediate users and up, who know some Terminal basics.
I had used the same build environment previously on Snow Leopard and later on when I upgraded to Lion. Now that I have just clean installed Lion, I documented the steps I took to rebuild my build environment.
I did the following on Lion 10.7.2 and Xcode 4.2. As far as I can recall, it should work with Snow Leopard and Xcode 4 and above. Do let me know if it does not.
Setup Build Environment
Install Xcode
Install Java
Install Homebrew: (For more on Homebrew: http://mxcl.github.com/homebrew)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Click to expand...
Click to collapse
Install Android SDK:
$ brew install android-sdk
Click to expand...
Click to collapse
with ADB:
$ android
Click to expand...
Click to collapse
then install "Android SDK Platform-tools" and close the window.
Install Repo:
$ brew install repo
Click to expand...
Click to collapse
Install and symlink packages:
$ brew install findutils gnu-sed gnupg pngcrush
$ echo "PATH=/usr/local/bin:\$PATH" >> ~/.bash_profile
$ ln -s /usr/local/bin/gfind /usr/local/bin/find
$ ln -s /usr/local/bin/gsed /usr/local/bin/sed
Click to expand...
Click to collapse
Create a case-sensitive partition or disk image:
$ hdiutil create -type SPARSE -fs "Case-sensitive Journaled HFS+" -size 16g -volname "Android" -attach ~/Desktop/Android
Click to expand...
Click to collapse
Download CyanogenMod Source
$ mkdir /Volumes/Android/cm7
$ cd /Volumes/Android/cm7
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$ repo sync -j32
Click to expand...
Click to collapse
Copy Proprietary Files
This only needs to be done once.
Connect device to computer and then:
$ cd /Volumes/Android/cm7/device/samsung/crespo
$ ./extract-files.sh
Click to expand...
Click to collapse
Download ROM Manager
This only needs to be done when ROM Manager is updated.
$ /Volumes/Android/cm7/vendor/cyanogen/get-rommanager
Click to expand...
Click to collapse
Edit CyanogenMod Source
Build will fail unless the following edits are made.
Add lines in red to cm7/external/elfutils/config-compat-darwin.h:
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
static inline size_t strnlen (const char *__string, size_t __maxlen)
{
int len = 0;
while (__maxlen-- && *__string++)
len++;
return len;
}
#endif
Click to expand...
Click to collapse
Comment out every line in cm7/external/qemu/Android.mk:
# the following test is made to detect that we were called
# through the 'm' or 'mm' build commands. if not, we use the
# standard QEMU Makefile
#
#ifeq ($(DEFAULT_GOAL),droid)
# LOCAL_PATH:= $(call my-dir)
# include $(LOCAL_PATH)/Makefile.android
#else
# include Makefile.qemu
#endif
Click to expand...
Click to collapse
Compile CyanogenMod Source
$ cd /Volumes/Android/cm7
$ . build/envsetup.sh
$ brunch crespo -j`sysctl -an hw.logicalcpu`
Click to expand...
Click to collapse
If the build was successful, there should be an update-cm-X.X.X-NS-KANG-signed.zip in the cm7/out/target/product/crespo folder.
Congrats! If you've made it up to here, you can breathe a sigh of relief and enjoy your own hot smoking bacon. And when you want fresher bacon:
Update CyanogenMod Source
$ cd /Volumes/Android/cm7
$ repo sync -32
Click to expand...
Click to collapse
then build as before.
Building Kernels
If you have done the above, there is nothing much more to add for building kernels.
Install packages:
$ brew install coreutils xz
Click to expand...
Click to collapse
Download kernel source:
$ cd /Volumes/Android
$ git clone git://github.com/CyanogenMod/samsung-kernel-crespo.git
Click to expand...
Click to collapse
Generate default config:
$ cd samsung-kernel-crespo
$ make ARCH=arm herring_defconfig
Click to expand...
Click to collapse
Compile kernel source:
$ ln -s /usr/local/bin/gstat /usr/local/bin/stat
$ ln -s /usr/local/bin/gexpr /usr/local/bin/expr
$ make -j`sysctl -an hw.logicalcpu` ARCH=arm CROSS_COMPILE=../cm/prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- HOSTCFLAGS="-I../cm/external/elfutils/libelf"
$ rm /usr/local/bin/stat
$ rm /usr/local/bin/expr
Click to expand...
Click to collapse
Best to put the above in a Bash script. Temporarily symlink stat and expr, only for kernel compilation, as OS X versions might be expected elsewhere (like in CyanogenMod's scripts). Other guides for cross-compiling Linux kernels on Mac mention several ways to resolve missing elf.h definitions. Luckily for us, CM7 source already has an elf.h, so we can include it with HOSTCFLAGS="-I../cm/external/elfutils/libelf".
Wow...and guide for compile kernel??
Ihihih...
Inviato dal mio Nexus S
Mac?..........
Hahahhahaahahahahhahahahahahhaa
dario3040 said:
Mac?..........
Hahahhahaahahahahhahahahahahhaa
Click to expand...
Click to collapse
Unfortunately yeah, I need it for *gasp* iOS development
coloxim said:
Wow...and guide for compile kernel??
Ihihih...
Inviato dal mio Nexus S
Click to expand...
Click to collapse
Just added. It's about the same as on linux, much less mac quirks to work around.
ahbeng said:
Just added. It's about the same as on linux, much less mac quirks to work around.
Click to expand...
Click to collapse
Thank you so much...
Inviato dal mio Nexus S
I know a lot of people will be able to save precious time due to this. Including me Thanx a lot!
So how do you take the compiled kernel and make it the default kernel in the new Bacon, or will it be automatic on the next Bacon build?
Sent from my Nexus S using XDA App
viper2g1 said:
So how do you take the compiled kernel and make it the default kernel in the new Bacon, or will it be automatic on the next Bacon build?
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
It won't, that's just to compile. The kernel part of the guide is more to document Mac-specific workarounds for people who want to work with the source of the CM7 kernel or other kernels.
If you're just making Bacon, the latest CM7 kernel binary would already be included in the CM7 source. It is the same as what you'd get if you compiled unmodified CM7 kernel source and I think it is a good idea to have that to fall back on.
However, I guess it would be useful to document how to package the compiled kernel and modules in a flashable AnyKernel zip. Bit busy now, will add it later.
ahbeng said:
It won't, that's just to compile. The kernel part of the guide is more to document Mac-specific workarounds for people who want to work with the source of the CM7 kernel or other kernels.
If you're just making Bacon, the latest CM7 kernel binary would already be included in the CM7 source. It is the same as what you'd get if you compiled unmodified CM7 kernel source and I think it is a good idea to have that to fall back on.
However, I guess it would be useful to document how to package the compiled kernel and modules in a flashable AnyKernel zip. Bit busy now, will add it later.
Click to expand...
Click to collapse
Ok thanks, it would be awesome to know how to make Bacon with matr1x already set as the default kernel.
Sent from my Nexus S using XDA App
quality post.
viper2g1 said:
Ok thanks, it would be awesome to know how to make Bacon with matr1x already set as the default kernel.
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
I realized that if I started to include instructions for that, I should split it out along with other tips into a new post on how I bake in some simple customizations with a bash script, without a full-blown kitchen. (Because that is not platform-specific) When I have time! In the meantime, some quick pointers:
To change the default kernel for any ROM, you'll need to change the boot.img in the zip using unpackbootimg and mkbootimg, which would have been built along with CM7 in cm7/out/host/darwin-x86/bin (linux-x86 for linux). Copy them to somewhere in your path like /usr/local/bin. Copy the boot.img from the ROM zip and the zImage for the kernel you want to embed into another directory then run the following commands in that directory:
unpackbootimg -i boot.img
mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline "`cat boot.img-cmdline`" --base `cat boot.img-base` --pagesize `cat boot.img-pagesize` -o boot.img
Click to expand...
Click to collapse
then replace the original boot.img in the ROM zip with this new one. Hope that helps!
PS: And replace the modules in system/modules with the ones from the kernel you want to embed. (Caveat: I don't do any of this manually)
ahbeng said:
I realized that if I started to include instructions for that, I should split it out along with other tips into a new post on how I bake in some simple customizations with a bash script, without a full-blown kitchen. (Because that is not platform-specific) When I have time! In the meantime, some quick pointers:
To change the default kernel for any ROM, you'll need to change the boot.img in the zip using unpackbootimg and mkbootimg, which would have been built along with CM7 in cm7/out/host/darwin-x86/bin (linux-x86 for linux). Copy them to somewhere in your path like /usr/local/bin. Copy the boot.img from the ROM zip and the zImage for the kernel you want to embed into another directory then run the following commands in that directory:
then replace the original boot.img in the ROM zip with this new one. Hope that helps!
PS: And replace the modules in system/modules with the ones from the kernel you want to embed. (Caveat: I don't do any of this manually)
Click to expand...
Click to collapse
I'm gonna give this a shot after work. Its great info and I never found it searching. Thanks!
Sent from my Nexus S using XDA App
Couldn't one just us the process for initializing the environment like how you would for AOSP? Or will that still have issues?
BlueDrgBlade said:
Couldn't one just us the process for initializing the environment like how you would for AOSP? Or will that still have issues?
Click to expand...
Click to collapse
No need. What you see is just cosmetic fix
Sent from my Nexus S using Tapatalk 2
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
-e:1: syntax error, unexpected ']'
[This script has been moved.]
^[/QUOTE]
... What do I do :$
Click to expand...
Click to collapse
Does anyone know where I can find a CM9 version of this guide?
Sorry for bump...will this work for any gingerbread device?
Aquethys said:
Sorry for bump...will this work for any gingerbread device?
Click to expand...
Click to collapse
Yes
I get an error trying to mkdir /Volumes/Android/cm7
mkdir: /Volumes/Android: No such file or directory
Help?
I want to have cm9 rom but i can't build kernel for it, please help me
First you have to have the configuration of your phone (for build a kernel)
EDIT: 101 Posts!!!
Fedefriffo said:
First you have to have the configuration of your phone (for build a kernel)
EDIT: 101 Posts!!!
Click to expand...
Click to collapse
????
Fedefriffo said:
First you have to have the configuration of your phone (for build a kernel)
EDIT: 101 Posts!!!
Click to expand...
Click to collapse
How to configuration kernel?:cyclops:
Try with this: http://forum.xda-developers.com/showthread.php?t=1423460
luatdolphin said:
How to configuration kernel?:cyclops:
Click to expand...
Click to collapse
You'll get the config from your Phone (in fact, the ROM you're using) by passing this command through adb.
Code:
adb pull /proc/config.gz
cat config.gz | gunzip > .config
coolsandie said:
You'll get the config from your Phone (in fact, the ROM you're using) by passing this command through adb.
Code:
adb pull /proc/config.gz
cat config.gz | gunzip > .config
Click to expand...
Click to collapse
But it isn't mark with cyanogenmod
This is a patch to fully enable GSM on every Stock Rom, on every AOSP Rom and on every Android version.
This in not for US users, in US the GSM is locked in RIL.
Release 4.x
This patch will enable:
-GSM
-SMS
-MMS
-3G Data
-USSD Code
-Call Forwarding
I'm constantly updating only this main thread and I will answer only in it, I have no time to update and control every thread in sub-forums.
I'm using this thread only for major notifications.
Mentor.37 said:
This is a patch to fully enable GSM on every rom and on every Android version.
This patch will enable:
-GSM
-SMS
-MMS
-3G Data
-USSD Code
The patch and the guide are available here.
If you want you can download a specific patch for the CyanogenMod 10.1.2 here.
Click to expand...
Click to collapse
it's worked on XT894 with Hashcode's CM10.1.2, i have tried it
such a nice work :good:
Does this enable the US GSM bands as well?
No, I'm sorry but it can't enable US GSM.
Awesome, added this to my GSM guide. Thank you.
Lum_UK said:
Awesome, added this to my GSM guide. Thank you.
Click to expand...
Click to collapse
You are welcome but you wrote in your GSM guide that this patch is for non stock ROMs but it is for stock ROM also.
Then, please, give me credits on how to manually edit build.prop to enable GSM since you completely copied from my site in your thread.
Mentor.37 said:
You are welcome but you wrote in your GSM guide that this patch is for non stock ROMs but it is for stock ROM also.
Then, please, give me credits on how to manually edit build.prop to enable GSM since you completely copied from my site in your thread.
Click to expand...
Click to collapse
Sorry I didn't realise you wrote that patch+website, thought you'd just posted the link. I will add you to the thanks section immediately.
I thought stock-based ROMs didn't need any GSM patch since they have the settings in the menu to switch to GSM?
For the record I didn't completely copy from your site. I already had all but two of the build.prop settings in that thread via Olegfusion and a couple of random posts in the CM10 thread.
edit: Ok, I've changed it to say "for all ROMs use this GSM patch, unless the ROM states that it is a GSM ROM", added you to the thanks section stating that you wrote the GSM patch and instructions, and also added a link to your ROM under the section about adding additional languages. Is that OK?
Lum_UK said:
Sorry I didn't realise you wrote that patch+website, thought you'd just posted the link. I will add you to the thanks section immediately.
I thought stock-based ROMs didn't need any GSM patch since they have the settings in the menu to switch to GSM?
For the record I didn't completely copy from your site. I already had all but two of the build.prop settings in that thread via Olegfusion and a couple of random posts in the CM10 thread.
edit: Ok, I've changed it to say "for all ROMs use this GSM patch, unless the ROM states that it is a GSM ROM", added you to the thanks section stating that you wrote the GSM patch and instructions, and also added a link to your ROM under the section about adding additional languages. Is that OK?
Click to expand...
Click to collapse
Yes, that site is mine.
If you edit the build.prop in the stock rom as i mentioned you will correctly enable the GSM. The stock rom is strictly linked to the CDMA settings.
Here on the forum was recommended to edit the build.prop only in this way:
Code:
telephony.lteOnCdmaDevice = 0
ro.mot.phonemode.vzwglobalphone = 1
ro.telephony.default_network = 3
ro.telephony.gsm-routes-us-smsc = 0
persist.radio.ap.phonetype = 1
but in this way you will not correctly enable the gsm in fact there were many problems on aosp roms for gsm users.
Thank you for updating your thread.
Mentor.37 said:
Yes, that site is mine.
If you edit the build.prop in the stock rom as i mentioned you will correctly enable the GSM. The stock rom is strictly linked to the CDMA settings.
Here on the forum was recommended to edit the build.prop only in this way:
Code:
telephony.lteOnCdmaDevice = 0
ro.mot.phonemode.vzwglobalphone = 1
ro.telephony.default_network = 3
ro.telephony.gsm-routes-us-smsc = 0
persist.radio.ap.phonetype = 1
but in this way you will not correctly enable the gsm in fact there were many problems on aosp roms for gsm users.
Thank you for updating your thread.
Click to expand...
Click to collapse
Can I use LTE (gsm networks sim) in my country with this patch (Be, Europe) ?
You have to se what are lte frequencies in Belgium.
The lte on xt894 only works at 700 mhz.
Maybe next time you should give credits to the original author... *cough cough*
Are you talking with me?
I'm the original author.
Tobby replaced only the lines needed in build.prop vs mentor who copied the whole file.
But they differ in a few lines, I think that tobby disabled the LTE. Anyway for nightlies is better to replace only the lines needed.
The world is full of people there is a chance that two of them to work on the same thing.
Anyhow I don't understand why the full apn list are not included in motorola roms by default.
Regards
Sent from my XT894 using xda app-developers app
lucize said:
Tobby replaced only the lines needed in build.prop vs mentor who copied the whole file.
Click to expand...
Click to collapse
I copied what and where?
I did not know Tobby before now and with a quick search I found only this.
Please, let's be serious.
lucize said:
Anyhow I don't understand why the full apn list are not included in motorola roms by default.
Click to expand...
Click to collapse
Motorola includes an apn list depending on the terminal, this phone is sold for the market cdma verizon and so it do not include others apns.
The apn list added in this patch is extracted from a motorola stock rom.
With copy, I was telling the way that you implemented the patch, and regarding to apn it was only a comment because in other cm releases(not motorola), the apn list is full (~180kb vs 17kb).
I personally downloaded the tobby zip first, but I use this device only recently (previous was d3) so who was the original poster I can't say.
Regards
Sent from my XT894 using xda app-developers app
I do not understand why you think I would have copied the way to implement the patch, patches are all made in the same way.
Personally I use my stock rom but several users who use AOSP roms have contacted me exposing the gsm problem and so I easily fixed with this patch using the settings that I use in my rom file build.prop.
At short will release a new version of my rom with a new build.prop file with new settings and I'll update this patch also.
I honestly did not know existed nor Tobby nor his zip, I created this patch because asked me.
Regarding the file APNs-conf.xml depends on the fact that the phone is born to the CDMA network Verizon and therefore not serving the other APNs, the file APNs-conf.xml in the stock rom is ~ 43KB.
What is the Tobby's zip?
Mentor.37 said:
I copied what and where?
I did not know Tobby before now and with a quick search I found only this.
Please, let's be serious.
Motorola includes an apn list depending on the terminal, this phone is sold for the market cdma verizon and so it do not include others apns.
The apn list added in this patch is extracted from a motorola stock rom.
Click to expand...
Click to collapse
Ah c'mon. Take a look into your own files. In apns-conf.xml is still my copyright... Its not extracted from Motorola Stock-ROM. Also not from CM. It's based on several sources on the internet (most of it is based on CM, but several more sources were added). It took days to combine the sources, remove duplicates, sort it, use the same style for every entry and so on. It's not a problem to use or copy this. But to say you did this yourself is not fair.
But apns-conf.xml is only one part of your mod. Second part is the automatic build.prop changer. (GSMbyMentor.sh)
Look at your GSMbyMentor.sh:
Code:
#!/sbin/sh
#
# Patch to enable GSM on Verizon by Mentor
# Build: 17.07.2013 17:43
#
/sbin/sed -i "s/\ =/=/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/=\ /=/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.product.locale.region=US/ro.product.locale.region=GB/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/telephony.lteOnCdmaDevice=1/telephony.lteOnCdmaDevice=0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/persist.ril.modem.mode =1/persist.ril.modem.mode =2/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.telephony.default_network=10/ro.telephony.default_network=3/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.mot.phonemode.vzwglobalphone=0/ro.mot.phonemode.vzwglobalphone=1/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/persist.radio.vzw.cdma.mdn=/persist.radio.vzw.cdma.mdn=deleted/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.telephony.gsm-routes-us-smsc = 1/ro.telephony.gsm-routes-us-smsc = 0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/persist.radio.ap.phonetype=2/persist.radio.ap.phonetype=1/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.mot.phonemode.vzw4gphone=1/ro.mot.phonemode.vzw4gphone=0/g" /system/build.prop > /system/build.prop
Now let's take a look at the Bash-Script of "TobbysMod":
Code:
#!/sbin/sh
#
# Tobbys build.prop Anpassungen für das Droid 4
# Stand: 15.03.2013 04:43
#
/sbin/sed -i "s/\ =/=/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/=\ /=/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.product.locale.language=en/ro.product.locale.language=de/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.product.locale.region=US/ro.product.locale.region=DE/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/telephony.lteOnCdmaDevice=1/telephony.lteOnCdmaDevice=0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/persist.ril.ecclist=911\,\*911\,\#911/persist.ril.ecclist=911\,\*911\,\#911\,119\,118\,999\,08\,000\,112\,110/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.telephony.default_network=10/ro.telephony.default_network=3/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.mot.phonemode.vzwglobalphone=0/ro.mot.phonemode.vzwglobalphone=1/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.telephony.gsm-routes-us-smsc=1/ro.telephony.gsm-routes-us-smsc=0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.hwKeyboard.capsLockNoAlt=true/ro.hwKeyboard.capsLockNoAlt=false/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.mot.phonemode.vzw4gphone=1/ro.mot.phonemode.vzw4gphone=0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/persist.radio.lte.mm.disable=0/persist.radio.lte.mm.disable=1/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.mot.lte_on_cdma=1/ro.mot.lte_on_cdma=0/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.com.android.dateformat=MM-dd-yyyy/ro.com.android.dateformat=dd.mm.yyyy/g" /system/build.prop > /system/build.prop
/sbin/sed -i "s/ro.com.android.dataroaming=true/ro.com.android.dataroaming=false/g" /system/build.prop > /system/build.prop
Let's take a look at the differences.
- You removed my credit and changed the date
- you removed a few lines which were necessary for the keyboard-mod included in the original mod and necessary for European date-format and emergency calls
The rest stayed the same. Even the sequence/order. And you use exact the same trick for removing spaces. You can't say this was coincidence...
Third part of your mod is the edison install script. This looks different. Seems to be your own work.
Two of three parts in your mod copied from me. It's ok! I always wanted to remove the parts which are necessary for my German friends so everybody can use it, but I didn't have enough time. So it is good someone (you) did that. But please don't say it's your own work when you just copy files...
Link to original Thread for "TobbysMod": http://www.android-hilfe.de/motorol...82-tobbys-automatische-rom-modifizierung.html
Google translation: http://translate.google.de/translat...82-tobbys-automatische-rom-modifizierung.html
I added that apns-conf.xml at the suggestion of an user that tested my patch, I repeat that I'm on stock rom so I have not tested directly the patch. If you wont I can give you his email address.
In a first moment I made this patch as you can see here with the apns-conf.xml that I personally extracted and that I use in my rom for months without any problem. Anyway I removed that file.
About the sed is a common command for any linux user to manipulate text.
About the sequence/order it is different, I used the same in the build.prop.
About the point of the gsm patch, so the build.prop settings there are a lot of differences:
My:
Code:
telephony.lteOnCdmaDevice=0
persist.ril.modem.mode=2
ro.telephony.default_network=3
ro.mot.phonemode.vzwglobalphone=1
persist.radio.vzw.cdma.mdn=deleted
ro.telephony.gsm-routes-us-smsc=0
persist.radio.ap.phonetype=1
ro.mot.phonemode.vzw4gphone=0
Yours:
Code:
telephony.lteOnCdmaDevice=0
ro.telephony.default_network=3
ro.mot.phonemode.vzwglobalphone=1
ro.telephony.gsm-routes-us-smsc=0
ro.mot.phonemode.vzw4gphone=0
persist.radio.lte.mm.disable=1
ro.mot.lte_on_cdma=0
These lines are missing in your:
Code:
persist.ril.modem.mode=2
persist.radio.vzw.cdma.mdn=deleted
persist.radio.ap.phonetype=1
and the lines that are equal in the two files have known each other forever and they are everywhere in the forums so what are you saying?
With the settings in my build.prop users solved their problem on aosp roms.
#Postedit
I found this and this with your patch and then this and this with my patch.
apns-conf.xml: As I said: You don't need to remove the file. It's ok I created this file to help users. Additionally because of the sources, I am not allowed to forbid the usage of this file for some users. You also don't NEED to give credits, because it's already included. I just wanted to mention you are not using your own file. Not more ore less.
Bash-Script: Yes, sed is a common linux command. But it's usage on the phone was a little bit different than on a normal linux machine and the trick with the spaces (sed -i "s/\ =/=/g") is not necessary for the function of this script. It's just to make some things a little bit easier. That's why it's hard to believe you found out the exact same thing as me and used it in exactly the same way. If you did: Grats mate! You must be a soulmate of me If you just used this because you saw it "somewhere" else: please don't remove my credit.
To the missing 3 lines: two of them are included in version 1.3 of 07/16/2013, one day before you created yours. Just "persist.radio.vzw.cdma.mdn=deleted" is not included in my Mod. I am just curious: What does this line do?
But we schouldn't argue about it. As I said: Feel free to use my work. I hope I am allowed to do the same with your work. Instead of argueing we should combine our work!
I reinserted the apns-conf.xml that I use in my rom.
I used the sed command intuitively how I use it.
The line "persist.radio.vzw.cdma.mdn=deleted" deactive the mdn on cdma network. I use these settings from time.
You can use my work without problem.
I just answered your allegations because I spent a lot of my free time for this my mod.
About a possible collaboration I like this idea, the work is much, time is short and one hand is always a pleasure.
Hey Guys!
As you all know I'm working CM10.1 for HTC Wildfire but yesterday suddenly my Ubuntu stucked at boot so I couldn't continue.
But I thought to share my knowledge as sharing is caring.I like to help people and I like to do things on my own way and here I can do this.
I'll show you how I built CM10 for HTC Wildfire.But I got tons of errors which I solved on my own(of course some help of my friends) so please do the same!And the best thing is I'll show you how to build without ADB, so no device is needed.
NOTE: This guide will not turn you into a Android Developer.I will just show you how to setup the source and compile CM10 for the HTC Wildfire succesfully!You need to have basic knowledge before you begin to read this!And please if you get any errors don't spam this thread as I don't have time for others problems.I'll help people if they get problems in setting up or while building what they didn't got but the errors please ask somewhere else or try to solve on your own!As this guide isn't made for Linux newbies, please look at it first before you are posting!
Click to expand...
Click to collapse
What you need:
-Basic Linux Knowledge
-A Mind
-Pre-Knowledge of Android
Click to expand...
Click to collapse
Step 1 - Setting up the Build Environment
1.You need to install Ubuntu(12.04 64-Bit recommended) on a partition or on a virtual machine.
2.After this you need to install these required packages with the "sudo apt-get install" command:
Code:
git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev, ia32-libs, lib32z1-dev, lib32ncurses5-dev, gcc-multilib, g++-multilib
Click to expand...
Click to collapse
Step 2 - Getting the source
1.Create the directories:
Code:
$ mkdir -p ~/bin
$ mkdir -p ~/android/system
2.Enter the following to download the "repo" binary:
Code:
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
And to give it proper permissions type:
Code:
$ chmod a+x ~/bin/repo
3.To put the ~/bin directory in your path of execution(permanent variant) type:
Code:
$ gedit ~/.bashrc
It'll open a text file.Copy this line at the bottom:
Code:
$ export PATH=${PATH}:~/bin
4.Go to your source directory by this:
Code:
$ cd ~/android/system/
And to initialize the repo type:
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
5.Download the source by typing:
Code:
$ repo sync
If you are done with syncing the source then you can continue with the next step.
Click to expand...
Click to collapse
Step 3 - Registering the device tree/config
1.Download the device tree from here.
2.Download the local_manifest.xml from here and copy it to your repo subdirection.
3.Now run again "repo sync" to syncing the work tree and everything should be set up now.
Click to expand...
Click to collapse
Step 4 - Start to build
1.CD to your source:
Code:
$ cd android/system
2.Type this:
Code:
$ source build/envsetup.sh
3.Now to lunch type this:
Code:
$ lunch
4.Type now the number which is the device tree listed for HTC Buzz.
5.Now to build type the following command:
Code:
$ make -j4 otapackage
NOTE: The "-j4" means how much cores your CPU has.So if you have a dual-core then buse "-j2" and if you have a octa-core use "-j8" and so on...
Click to expand...
Click to collapse
Credits
-bennii - He was the one who build a good working CM10 for the first time so a big Thanks goes to him.
-Adhi1419 - He showed me lot on this and also supported me much.
-ErwinP - He made a lot of work to HTC Wildfire and we should thanks him a lot.
Click to expand...
Click to collapse
Hit the Thank You Button if you like my Thread
thank for share
this is a perfect guide
kid1519 said:
thank for share
this is a perfect guide
Click to expand...
Click to collapse
Welcome!
And if you like it please hit the thank you button!
Nice guide and a good write up!
I think this guide can be made more general by covering building of other AOSP ROMs from source too
Sent from my A89 using Xparent BlueTapatalk 2
Adhi1419 said:
Nice guide and a good write up!
I think this guide can be made more general by covering building of other AOSP ROMs from source too
Sent from my A89 using Xparent BlueTapatalk 2
Click to expand...
Click to collapse
Thank you!
Yes you are right.I should make it more general! :good:
Awesome guide, thanks also I'll try to make a CM10 with this guide
looks easy the way you set it out, thanks man really appreciate that very much :good:
Stone. Cold said:
Awesome guide, thanks also I'll try to make a CM10 with this guide
looks easy the way you set it out, thanks man really appreciate that very much :good:
Click to expand...
Click to collapse
Thanks and welcome!
And all the best for the CM10 :good:
SasaKovacic said:
Thanks and welcome!
And all the best for the CM10 :good:
Click to expand...
Click to collapse
Np, Thanks!
Stone. Cold said:
Np, Thanks!
Click to expand...
Click to collapse
Welcome!
SasaKovacic said:
Welcome!
Click to expand...
Click to collapse
Np
Thanks for this, syncing up PAC CM10 now ready to build
32% downloaded already!
faZevoLv said:
Thanks for this, syncing up PAC CM10 now ready to build
Click to expand...
Click to collapse
Awesome! Can't wait to see it! :good:
faZevoLv said:
Thanks for this, syncing up PAC CM10 now ready to build
32% downloaded already!
Click to expand...
Click to collapse
I'm feeling appreciated now! :angel:
Q&A for [ROM][4.4.X]Omni for the Galaxy S I9000
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [ROM][4.4.X]Omni for the Galaxy S I9000. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
ums enable in omnirom setprop or init.rc code help i9000
Hi all,
Apologies if this is trivial. I am migrating from cm4.x to omni rom in galaxy i9000.
Unfortunately, there is no UMS. (Mainly I need it as I connect my phone to TV and use it as a USB stick/drive).
I am not going to annoy you all by asking for a ROM, but can you please tell me how to add relavent code for the UMS mode. I I tried
Code:
adb shell setprop sys.usb.config mass_storage,adb
adb shell setprop persist.sys.usb.config mass_storage,adb
adb shell setprop sys.usb.state mass_storage,adb
Rebooted. But it does _not_ mount as USB drive. (my linux machine is OK as it worked with CM- usb mass storage; and I tested with another phone).
Wierd that adb shows it is in mass storage mode.
Code:
[email protected]:~/Downloads$ adb shell getprop| grep mass
[persist.sys.usb.config]: [mass_storage,adb]
[sys.usb.config]: [mass_storage,adb]
[sys.usb.state]: [mass_storage,adb]
I searched and read a lot in xda; it says I need to add options to init.rc which already has
Code:
on property:sys.storage.ums_enabled=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/functions adb,mass_storage
write /sys/class/android_usb/android0/enable 1
Even small sugesstions will be very much appreciated.
Thanks a lot.
You were very close @biophysics... this is the proper command:
Code:
adb shell setprop persist.sys.usb.config mtp,adb
tetakpatalked from Nexus 7 flo
ums enable in omnirom setprop or init.rc code help i9000
tetakpatak said:
You were very close @biophysics... this is the proper command:
Code:
adb shell setprop persist.sys.usb.config mtp,adb
tetakpatalked from Nexus 7 flo
Click to expand...
Click to collapse
@tetakpatak Thanks for your reply.
Is the above command for UMS mode?
biophysics said:
@tetakpatak Thanks for your reply.
Is the above command for UMS mode?
Click to expand...
Click to collapse
Nope, it is for the MTP mode. Try if it works for your needs that way. The command for UMS mode should work about same way, by replacing "mtp" with "ums", as the mode is toggleable under settings/storage (see screenshot).
However I didn't try it yet as I permanently need only MTP.
ums enable in omnirom setprop or init.rc code help i9000
tetakpatak said:
Nope, it is for the MTP mode. Try if it works for your needs that way. The command for UMS mode should work about same way, by replacing "mtp" with "ums", as the mode is toggleable under settings/storage (see screenshot).
However I didn't try it yet as I permanently need only MTP.
Click to expand...
Click to collapse
Hi tetakpatak
Thanks for the quick reply. I tried omni-4.4.4-20141221-galaxysmtd-NIGHTLY.zip there is no third option of UMS? Could you please tell me which version/date of omnirom have you installed and running in your phone?
PS: MTP works fine for me. But I need UMS as I can use the phone as a USB stick to watch media directly in my TV (also it charges my phone while watching TV )
@biophysics I don't use Omni anymore, I'm back to SlimBean 4.3
I've been using Mackay CM9 2014 for it is the fastest, but /datadata folder was unfortunatelly overfilling so I'm on 2nd fastest ROM now.
I tought this option is always available... ?? Sorry if not.
tetakpatalked from the legendary i9000
ums enable in omnirom setprop or init.rc code help i9000
tetakpatak said:
@biophysics I don't use Omni anymore, I'm back to SlimBean 4.3
I've been using Mackay CM9 2014 for it is the fastest, but /datadata folder was unfortunatelly overfilling so I'm on 2nd fastest ROM now.
I tought this option is always available... ?? Sorry if not.
tetakpatalked from the legendary i9000
Click to expand...
Click to collapse
Sad... looks like I will have to stay with CM forever. Anyway thanks to you for your replies!
ums enable in omnirom setprop or init.rc code help i9000
biophysics said:
Sad... looks like I will have to stay with CM forever. Anyway thanks to you for your replies!
Click to expand...
Click to collapse
Hmmm, after some search in github I reverted commit d5c1e3e137ba5eb94a42692bb7ad4ebb45d30e23 in device_base.mk
Code:
# Set default USB interface and default to internal SD as /sdcard
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- persist.sys.usb.config=mass_storage \
+ persist.sys.usb.config=mtp \
persist.sys.vold.switchexternal=1
Built it and installed with twrp.
Now I am able to mount the internal storage as mass_storage (UMS). I can watch and charge my phone with my TV (yay). The sdcard works fine but it is inaccessible as mass_storage (UMS). Can anyone give me some hints? I am prepared to recomplie. BTW what is the last line persist.sys.vold.switchexternal?
PS: I edited also
Code:
overlay/frameworks/base/core/res/res/xml/storage_list.xml
to allow UMS
Hey, @biophysics, that was an awsome idea. Did you need long time to find that commit?
tetakpatalked from Nexus 7 flo
ums enable in omnirom setprop or init.rc code help i9000
tetakpatak said:
Hey, @biophysics, that was an awsome idea. Did you need long time to find that commit?
tetakpatalked from Nexus 7 flo
Click to expand...
Click to collapse
It was not so difficult.
PS: my micro SD card still does not become available in mass_storage. Any clues(requesting Senior devs here? Thanks)
biophysics said:
It was not so difficult.
PS: my micro SD card still does not become available in mass_storage. Any clues(requesting Senior devs here? Thanks)
Click to expand...
Click to collapse
Maybe @kasper_h will be so nice to write you how to do it?
tetakpatalked from Nexus 7 flo
work PA GAPPS for lollipop Pico variant
only very occasionally brakes
Hi
@humberos Can I use your i9000 Lollipop for Vibrantmtd or need port to use ?
Thanhtho96 said:
@humberos Can I use your i9000 Lollipop for Vibrantmtd or need port to use ?
Click to expand...
Click to collapse
Sorry, I don't know Vibrantmtd hardware.
Thanhtho96 said:
@humberos Can I use your i9000 Lollipop for Vibrantmtd or need port to use ?
Click to expand...
Click to collapse
Vibrant and i9000 are not compatible
tetakpatalked from Nexus 7 flo
Hi
Hi @humberos please build 5.0 for vibrant because galaxysmtd and vibrant in the same tree device. And they have the same CPU type and the same phone manufacturer. Thanks you very much and sorry for my bad English
Thanhtho96 said:
Hi @humberos please build 5.0 for vibrant because galaxysmtd and vibrant in the same tree device. And they have the same CPU type and the same phone manufacturer. Thanks you very much and sorry for my bad English
Click to expand...
Click to collapse
Buttons are different, radio is different, phone has different shape. Vibrant supposely has different GPS chip than the I9000, one without the FM radio. It isn't possible to flash radios from the different versions.
That is what I remember vibrant owners have reported.
If someone would cook the kernel that would make buttons usable, maybe it wouldn't brick if you flash such kernel on the top of the i9000 ROM.
But I really don't know why to suffer such PITA like using heavy LP on such old hardware? To wait 10 sec on every reaction? Maybe it is only me as I dislike LP, but I don't use LP even on devices with quadcore CPU and >2GB memory.
tetakpatalked from Nexus 7 flo
A video of OmniRom on our device! (5.0.2)
I posted in other topic ... Automatic goes into here ... But still fine , I think
rooque said:
I posted in other topic ... Automatic goes into here ... But still fine , I think
Click to expand...
Click to collapse
Cool, thanks! How long is incoming call display delay?
Please just let me know: is it an i9000? I can't read clearly, it seems to me like one letter is after the last digit...
tetakpatalked from Nexus 7 flo