Jump to content

Questions about building CM from source


Guest GuyOverThere

Recommended Posts

Guest GuyOverThere

Hi all,

Few questions regarding building cm, I've read the cyanogenomod building wiki for blade, and I've read from several post that we need to use mooncake files (I'm assuming that means deadlink's device_mooncake files), now my questions:

- From cyanogenomod's wiki, the "Copy propietary files", is this needed? if it is, what to do here? I don't think it's as in the wiki (i.e. cd android/system/device/zte/blade/ && ./extract-files.sh, should it be the extract-files.sh from deadlink's file right?)

- From deadlink's files, the structure is pretty much the same as cyanogen blade, but what to do with the files? Do I need to replace the blade files with the ones from deadlink or do I need to create an android/system/device/zte/mooncake/ and place deadlink's files in there?

- Whatever the answers for the previous questions, I assume that I still need to run build/envsetup.sh && brunch blade right? since cyanogen doesn't know anything about a "mooncake/racer" device

So that's it, whatever info or tips anyone can provide will be appreciated :)

Link to comment
Share on other sites

Guest GuyOverThere

Well, I'll answer my self I guess....

- From cyanogenomod's wiki, the "Copy propietary files", is this needed? if it is, what to do here? I don't think it's as in the wiki (i.e. cd android/system/device/zte/blade/ && ./extract-files.sh, should it be the extract-files.sh from deadlink's file right?)

Yes, the extract files part is needed otherwise cyanogenmod will fail to compile propietary files since it doesn't have rules in the .mk files for those. The extract-files.sh must be the one from mooncake folder.

- From deadlink's files, the structure is pretty much the same as cyanogen blade, but what to do with the files? Do I need to replace the blade files with the ones from deadlink or do I need to create an android/system/device/zte/mooncake/ and place deadlink's files in there?

Need to create a mooncake folder in device/zte/ and put that files in there.

- Whatever the answers for the previous questions, I assume that I still need to run build/envsetup.sh && brunch blade right? since cyanogen doesn't know anything about a "mooncake/racer" device

Not quite, after searching I found this repo on github (props to elgomes for making it) and that give me the missing clue, changes are needed on vendor/ folders so cyanogenmod knows what to do when you tell it "brunch mooncake". Had to change cyanogen_mooncake.mk from vendor/cyanogen/products since it'll try to copy a bootanimation.zip for hdpi devices and racer is ldpi

Also, the kernel needs to be changed from deadlink's files since it's for blade. Don't know that to do regarding recovery_kernel since that is for blade as well, if I need to change it I don't know for which one.

Edited by GuyOverThere
Link to comment
Share on other sites

Guest equiliym

i had issues with modaco for 2 days now :o yeah i wanted to tell you its best to make a mooncake folder and edit files for builds, adding path etc etc, thats the way i did it too before.. well im late so nvm, glad you figured it out :P

thanks for that git too, ill give it a look.. since it has mooncake libsensors any chance you can test it if you built it? if its different than the one we use, it might actually fix the compass thing

Link to comment
Share on other sites

Guest GuyOverThere

oh boy... I did build but using deadlink's mooncake files O: what I took from elgomes' repo was the cyanogen parts, so no, can't test libsensors, I can try a build tonight using those mooncake files or at least check if there are differences between elgomes' and deadlink ones (no, didn't check that either :c was busy still trying to make a kernel that boots)

Meanwhile I can check differences between files while I'm at work and post whatever I find

Edited by GuyOverThere
Link to comment
Share on other sites

Guest GuyOverThere

Let's see...

There are difference in nusensors (.cpp and header) and sensors (sensors.c), elgome's libsensors uses taos (proximity sensor I believe?) while deadlink's don't, however, after seeing this:

elgomes sensors.c

sensors.c:Line 78: .name = "ZTE Blade Sensors Module",

sensors.c:Line 79: .author = "Tom Giordano",


deadlink sensors.c


sensors.c:Line 68: .name = "ZTE Racer Sensors Module",

sensors.c:Line 69: .author = "Tom Giordano, deadlink",

I'm not really sure if elgomes' files are pure blade and the inclusion of taos is only required for blade phones (or if is needed by compass...)

Excluding nusensors.* and sensors.c (and the only difference between those being the use of taos), the files are the same, of course, elgomes' include taos related files while deadlink doesn't

I'll try to build tonight using elgomes' files nevertheless unless of course someone else does it and reports that it doesn't work :P

Edited by GuyOverThere
Link to comment
Share on other sites

Guest equiliym

well i'd try but i dont have repo synced on my box since i formated it few times :( if you build those libs, do report but after what you said i have a feeling its more of a blade thing than racer.. then again who knows, deadlink noted 'maybe something not good but rom booted' so lol..

Link to comment
Share on other sites

Guest GuyOverThere

well i'd try but i dont have repo synced on my box since i formated it few times :( if you build those libs, do report but after what you said i have a feeling its more of a blade thing than racer.. then again who knows, deadlink noted 'maybe something not good but rom booted' so lol..

yeah I'll test tonight when I get home and report anything I find.

Link to comment
Share on other sites

Guest GuyOverThere

So....where you up to (seems to be spread over threads)...i may be able to help with some things

:D hello! well, I'm almost done, there are a few things I'll like to know though

1) Does a rom/build needs something special to be gen1/gen2 compatible? or this is just a kernel thing? (for instance... as long as the kernel supports the gen2 device, doesn't matter to the rom?)

2) I've seen kernel sources that have an AndroidKernel.mk and this file is use to build the kernel as part of the cyanogenmod build process but how exactly do I use it? I mean, where do I put the kernel sources and do I need to modify other files (like BoardConfig.mk, Android.mk...) to include this AndroidKernel.mk?

Link to comment
Share on other sites

Guest GuyOverThere

1) they use different rild addresses so you need different libril and libcm

I notice that from deadlink's flashable zip, vamshi's one doesn't have those though or at least I don't see it in the updater-script, so if I give a rom using vamshi's kernel by default, do I need to modify the updater-script to copy the correct ril/libcm if is gen2 or something?

Edited by GuyOverThere
Link to comment
Share on other sites

Guest equiliym

well if you include those files then yeah, depends if you are making both gen1/gen2 support.. you can just take my script and kernel folders, i use both gen1/gen2 vamshi in that, you can take a look

Link to comment
Share on other sites

Guest GuyOverThere

well if you include those files then yeah, depends if you are making both gen1/gen2 support.. you can just take my script and kernel folders, i use both gen1/gen2 vamshi in that, you can take a look

Much appreciated, I'll really like not to get in the gen2 support since I don't have a gen2 phone to test things but all the roms are gen1/gen2 so better to continue the tradition :P

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.