• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [DEV] CM7 Building & Development

When I'm done compiling, will there be any noticeable changes besides the lack of ROM Manager?

Nope, should be the exact same. The nice thing is when ever I do an update to the code all you need to do is do a repo sync and you will have all my new updates. It makes it a lot easier going forward.
 
Thanks for responding to all of my questions. Now, is there anything that I can do to help with the ROM?
 
Thanks for responding to all of my questions. Now, is there anything that I can do to help with the ROM?

You bet! It's wouldn't be much of a community if no one responded haha! What ever you want to help with or add. You can look at the My View - MantisBT and see if there is a bug you want to work on. I have been focused on HDMI hence nothing has been updated :). I got wsimons code to work with Matera's gingerbread build and was testing some stuff out.

Right now I am working on incorporating it into the g60 style build. Because Whyzor made many edits and fixes it's taking time to merge and test the code. Even when I get it merged HDMI still does not work in it's current state. However the HDMI does now register when you plug in the HDMI cable and you get a blue screen output on a TV/Monitor so it's a step in the right direction.
 
For now, I can stick to simply reporting bugs.Is there anywhere I can focus on documentation or helping other users. And is there anywhere I can get documentation on how to commit and use github and how to code for Android? I have no programming experience, but I would like to learn. Is there any good help for starting out at this? Will it take that long to learn how to fix things and sync with the main Cyanogenmod? (7.2 is coming out, you know!)
 
I was wondering if it is posable to change the incoming and outgoing call screen to a full high res picture like in ics instead of the stock low res picture i know there are apps that can do it but it would be better (and work better) if it was built into the rom.
 
I was wondering if it is posable to change the incoming and outgoing call screen to a full high res picture like in ics instead of the stock low res picture i know there are apps that can do it but it would be better (and work better) if it was built into the rom.

Someone would need to rewrite the associated app to do it. I would think it would be Phone.apk. maybe when I get a little better at coding I'll look into it.

G60madman, would it be wise to set up a 'I wana" list to go with the bug tracker?
 
By the way, what am I getting different in my final build by syncing from g60madman's repository vs. mantera's repository?

My repo is configured with Whyzor's fixes for the following
device/motorola/triumph
frameworks/base
dalvik

Since Mantera is focused on CM9 I don't believe he has made any changes for a while. Also my repo no longer has the RomManager as I removed it from the code. Since I am still working on the code it will be updated each time I release a new version of the ROM.

Yeah, for the most part, my cm7 branch is current with mainline CM7. My device repo is maintained with whatever current theOC kernel I happen to make. I'm not doing much other development directly for the cm7 branch so everything is mostly stock cm7. I've pulled in some of Whyzor's changes but not all of it. Whereas i assume g60madman pulled in all of his changes.
 
Yeah, for the most part, my cm7 branch is current with mainline CM7. My device repo is maintained with whatever current theOC kernel I happen to make. I'm not doing much other development directly for the cm7 branch so everything is mostly stock cm7. I've pulled in some of Whyzor's changes but not all of it. Whereas i assume g60madman pulled in all of his changes.

That's correct I forked your build and then pulled in whyzors fixes into the mix by editing in the default.xml. Finally figured out how git works :p
 
Someone would need to rewrite the associated app to do it. I would think it would be Phone.apk. maybe when I get a little better at coding I'll look into it.

G60madman, would it be wise to set up a 'I wana" list to go with the bug tracker?

I will see if I can add that into the tracker. I am sure there is a config for it.
 
I have a list that I am building so people know where the apps are built and/or included.

I'd like to make it as complete as possible. Anyone can comment on the file and I'll include it. I will have to make sure that the file location doesn't brake the build though.
 
Hey g60madman, I noticed that you haven't changed the focus ring. I did it in ~/cm7/packages/apps/Camera/src/com/android/camera/FocusRectangle.java
I popped mine on here if you want it.
 

Attachments

I have found where the sound files get copied over (Build root/frameworks/base/data/sounds/AllAudio.mk), but there seems to be another call to copy over a base set of sounds. I haven't been able to locate this file.

On a side note, I have a "daddy" ringtone that I would like to change from a recorded .amr to a .ogg file. Does anyone know of a converter that can do this? I have "sound converter" on my Ubuntu boot. I have tried to add a plugin to do it, but it no worky.
 
I have found where the sound files get copied over (Build root/frameworks/base/data/sounds/AllAudio.mk), but there seems to be another call to copy over a base set of sounds. I haven't been able to locate this file.

On a side note, I have a "daddy" ringtone that I would like to change from a recorded .amr to a .ogg file. Does anyone know of a converter that can do this? I have "sound converter" on my Ubuntu boot. I have tried to add a plugin to do it, but it no worky.
Look what I found after Googling:
Convert Files - Free AMR to OGG converter. Free online audio converter.
 
OK I have added code that :adore: WSIMON 😍 worked very hard on and have added it my github. For those of you willing to take a shot in helping with the HDMI development it would be appreciated.

WHAT WORKS:
∙ Plugging in HDMI cable registers with OS
∙ Screen output is blue
∙ If you unplug the HDMI cable and replug it HDMI does not work and a reboot is required to work again

WHAT BROKE:
∙ I didn't spend a lot of time checking out other features but it looked like the camera was not working properly.

COMMITS ON CHANGED CODE:
g60madman/android_hardware_msm7k
g60madman/android_hardware_libhardware
g60madman/android_frameworks_base
g60madman/android_device_motorola_triumph

HOW TO GET THE CODE:
Follow the instructions at Build CM7 Motorola Triumph Dev

Once you sync the repo you will want to download the hdmi experimental branches from my repo in a separate directory

Code:
# mkdir hdmi-test
# cd hdmi-test

# git clone 
[URL]https://github.com/g60madman/android_hardware_msm7k.gi[/URL][URL="https://github.com/g60madman/android_hardware_msm7k.git"]t[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_hardware_libhardware.git[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_frameworks_base.git[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_device_motorola_triumph.git[/URL] -b hdmi
Once downloaded replace the contents of each folder in the repo with the experimental files. Make changes to code and build.
 
I have found these guides, and G60madman has coached me to what he knows. repack guide
build kernel guide 1
build kernel guide

The problem with these guides is they don't explain how to do your own work. What I want to do is build Whyzor's kernel, then use that as a basis for some changes I would like to try. I have the kernel source downloaded from G60's github, but it won't build.
Code:
daddy@ubuntu:~/TriumphKernel/whyzor_kernel_cm7$ mv config .config
daddy@ubuntu:~/TriumphKernel/whyzor_kernel_cm7$ export ARCH=arm
daddy@ubuntu:~/TriumphKernel/whyzor_kernel_cm7$ export CROSS_COMPILE=/home/daddy/TriumphKernel/whyzor_kernel_cm7/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
daddy@ubuntu:~/TriumphKernel/whyzor_kernel_cm7$ make
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-arm
  CALL    scripts/checksyscalls.sh
sed: can't read /home/daddy/TriumphKernel/whyzor_kernel_cm7/arch/x86/include/asm/unistd_32.h: No such file or directory
  CHK     include/linux/compile.h
  CC      arch/arm/mach-msm/board-msm7x30.o
arch/arm/mach-msm/board-msm7x30.c: In function 'bluetooth_power':
arch/arm/mach-msm/board-msm7x30.c:6087: error: implicit declaration of function 'bluetooth_fm_power'
arch/arm/mach-msm/board-msm7x30.c: At top level:
arch/arm/mach-msm/board-msm7x30.c:6119: error: static declaration of 'bluetooth_fm_power' follows non-static declaration
arch/arm/mach-msm/board-msm7x30.c:6087: note: previous implicit declaration of 'bluetooth_fm_power' was here
make[1]: *** [arch/arm/mach-msm/board-msm7x30.o] Error 1
make: *** [arch/arm/mach-msm] Error 2
daddy@ubuntu:~/TriumphKernel/whyzor_kernel_cm7$ build kernel guide
I'm sure once I understand what to expect, I can build and deal with any errors I find. As of right now I cna't even build it without any changes. Any help would be appreciated.
 

Sweet! I found what I was looking for. In Build root/build/target/product/full_base.mk
Code:
# Additional settings used in all AOSP builds
PRODUCT_PROPERTY_OVERRIDES := \
    keyguard.no_require_sim=true

# Put en_US first in the list, to make it default.
PRODUCT_LOCALES := en_US

# Pick up some sounds - stick with the short list to save space
# on smaller devices.
$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)

# Get the TTS language packs
$(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)

# Get the list of languages.
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)

$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
It did say to pull OriginalAudio,mk. I changed it:D
So happy!

Edit: it may be from small_base.mk
 
OK I have added code that :adore: WSIMON 😍 worked very hard on and have added it my github. For those of you willing to take a shot in helping with the HDMI development it would be appreciated.

WHAT WORKS:
∙ Plugging in HDMI cable registers with OS
∙ Screen output is blue
∙ If you unplug the HDMI cable and replug it HDMI does not work and a reboot is required to work again

WHAT BROKE:
∙ I didn't spend a lot of time checking out other features but it looked like the camera was not working properly.

COMMITS ON CHANGED CODE:
g60madman/android_hardware_msm7k
g60madman/android_hardware_libhardware
g60madman/android_frameworks_base
g60madman/android_device_motorola_triumph

HOW TO GET THE CODE:
Follow the instructions at Build CM7 Motorola Triumph Dev

Once you sync the repo you will want to download the hdmi experimental branches from my repo in a separate directory

Code:
# mkdir hdmi-test
# cd hdmi-test

# git clone 
[URL]https://github.com/g60madman/android_hardware_msm7k.gi[/URL][URL="https://github.com/g60madman/android_hardware_msm7k.git"]t[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_hardware_libhardware.git[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_frameworks_base.git[/URL] -b hdmi

# git clone [URL]https://github.com/g60madman/android_device_motorola_triumph.git[/URL] -b hdmi
Once downloaded replace the contents of each folder in the repo with the experimental files. Make changes to code and build.


The best bet on getting HDMI to work may be to get tj_style to post all the changes he had to make to get it to work on andro-id. He said at one point that he would post them but he never did.
 
The best bet on getting HDMI to work may be to get tj_style to post all the changes he had to make to get it to work on andro-id. He said at one point that he would post them but he never did.

Does he have a github? if so we (and by "we" I mean you and g60) could look at the history tree.
 
Does he have a github? if so we (and by "we" I mean you and g60) could look at the history tree.

He does have a github but those changes aren't up on it. That is what we need to get him to do is post the needed changes to his github.
 
The best bet on getting HDMI to work may be to get tj_style to post all the changes he had to make to get it to work on andro-id. He said at one point that he would post them but he never did.

Last time I talked to tj he told me android-id is not built from source code....so it's hard to say what is what? My plan it to decompile the framework in android-id and see that we are missing. I talked to another programming friend at work. He says it sounds like we are close that it maybe something simple like we are not listing the right monitor in the code to work with the hdmid service. I will try and work on it more this weekend.
 
Last time I talked to tj he told me android-id is not built from source code....so it's hard to say what is what? My plan it to decompile the framework in android-id and see that we are missing. I talked to another programming friend at work. He says it sounds like we are close that it maybe something simple like we are not listing the right monitor in the code to work with the hdmid service. I will try and work on it more this weekend.

I was under the impression that he was one of the devs for andro-id and he built it from source (although andro-id isn't open source)... either way he got it working for it and he said at one time he would post the needed changes.

Decompiling the framework is what I did and I think I got everything from the framework that we need. My educated guess for where the remaining problems is that they are in one (or more) of the .so libraries that are used to help do the mirroring. It could be something simple or something complicated.

Fixing the audio is probably something simple. I had gotten the audio service to receive the broadcast when hdmi is plugged in, but I must not have gotten the audio switching code right. That is something you could probably double check when decompiling the framework.
 
I was under the impression that he was one of the devs for andro-id and he built it from source (although andro-id isn't open source)... either way he got it working for it and he said at one time he would post the needed changes.

Decompiling the framework is what I did and I think I got everything from the framework that we need. My educated guess for where the remaining problems is that they are in one (or more) of the .so libraries that are used to help do the mirroring. It could be something simple or something complicated.

Fixing the audio is probably something simple. I had gotten the audio service to receive the broadcast when hdmi is plugged in, but I must not have gotten the audio switching code right. That is something you could probably double check when decompiling the framework.

I take it you also decompiled the services.jar as well?
 
Back
Top Bottom