[REF] Compiling CM6 for Milestone XT720

Search This thread

Mioze7Ae

Retired Recognized Developer
Dec 27, 2010
2,153
2,053
Queen City of the West
Google Pixel 7
First, follow these instructions to get your system setup for build:
http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Sholes

You'll need at least 15GB of disk space. Once you've got all the prerequisites installed:
Code:
mkdir ~/android
cd ~/android
repo init -u git://github.com/Mioze7Ae/android.git -b froyo
repo sync -j 2
. build/envsetup.sh
lunch cyanogen_sholest-eng
vendor/cyanogen/get-rommanager
make -j 2 bacon
If everything goes well, the update package will be something like out/target/product/sholest/update-cm-6.1.2-0.10-11.08.08-MilestoneXT720-signed.zip
This is my current understanding of the voodoo:
  • repo init : sets up your repository and downloads a manifest file that identifies other repositories
  • repo sync : downloads all the repositories and checks out a working copy
  • . build/envsetup.sh : parses all the makefiles and such to create a menu of available devices to build
  • lunch : configures the source tree to build a specific device (run lunch with no arguments to get a menu)
  • get-rommanager : apparently needed for some reason
  • make bacon : actually builds everything and creates the ota package. You may want to consider something like "make -j 8 bacon >build.out 2>build.err"
repo sync takes either metric or imperial eons (whichever is larger) (-j N can help by opening multiple concurrent downloads if you have a fast uplink). On a dual AMD Opteron 248 machine with 6GB build takes about 3 hours (Ubuntu 11.04 64-bit). On a dual Xeon E5410@2.33GHz (8 cores total) with 16GB RAM running debian lenny 64-bit, build takes ~15 min. You want to pick the -j to be 1-2 times the number of CPUs (I used -j 2 on the AMD and -j 8 on the Xeon). The android build system does a pretty good job at pegging your CPUs. :D

I don't currently know how to tag the state of the entire tree, so when nadlabak or milaq or anyone else updates repositories that I didn't fork, there's a chance it may break things from time-to-time. I'm currently waiting for a build from a fresh checkout to complete. Hopefully it's not broken...
Edit: Fresh compile succeeded, update applied and booted. Happy hacking!

Feel free to peruse my repositories at http://github.com/Mioze7Ae

See also: http://android.doshaska.net/cm6build
Thanks: nadlabak, milaq, stlifey, #milestone-modding
 
Last edited:

fjfalcon

Retired Recognized Developer
Jan 19, 2011
844
1,263
Schelkovo
Thanks, will add cm6 to mine build server. =)
Maybe we should make todo list and make changes that we need?
Then move it to main build tree?
 
Last edited:
  • Like
Reactions: Mioze7Ae

peshovec

Senior Member
Nov 11, 2010
305
343
i was able to compile configs.ko

so we can dump the config of the running moto kernel


Code:
insmod configs.ko

zcat /proc/config.gz

attached is tar with module and dumped config from Central Europe kernel...

so may be finally we will be able to "debug" why on the singapore kernel it is stated that tvout works, and did not work on other kernels....


So please do:

Code:
adb push configs.ko /tmp
adb shell
/system/bin/insmod /tmp/configs.ko
exit from adb shell
Code:
adb pull /proc/config.gz

and post

Which Kernel (e.g. Central European, Korean, Singapore, Cincinaty etc....) is used
and the corresponding config.gz



edit: forget to attache





badly.... it is not the runing kernel config, but the config i have compiled.... sorry
 

Attachments

  • kernconf.tar
    80 KB · Views: 9
Last edited:
  • Like
Reactions: eSu.Matix

Mioze7Ae

Retired Recognized Developer
Dec 27, 2010
2,153
2,053
Queen City of the West
Google Pixel 7
FYI, I just merged updates from milaq's repo and broke the build. Will update when I get it sorted again.
It's working again. I'm still getting the hang of this repo/git stuff. What appears to have happened is that when I first forked milaq's repo a few weeks ago I happened to fork after the first part of a two-part commit. So, now the tree is sync'd up with milaq's latest (0.12--screenshot in powermenu, w00t!). It installs and boots but it's minimally tested.
 

fjfalcon

Retired Recognized Developer
Jan 19, 2011
844
1,263
Schelkovo
Maybe you can archive android dir and paste it to some speed hosting?
Cause i still getting it at build server at mine work that currently free....
 

Mioze7Ae

Retired Recognized Developer
Dec 27, 2010
2,153
2,053
Queen City of the West
Google Pixel 7
Maybe you can archive android dir and paste it to some speed hosting?
Cause i still getting it at build server at mine work that currently free....

Hmm. I'm I'll see about that, but .repo is 4GB... and android is 12GB... that's going to be slow nomatter what... and those stupid rapid/multi/whatevers don't seem to handle resume... after the initial repo sync, the next sync is much faster.
 

molohov

Senior Member
Dec 22, 2010
183
152
San Jose, CA
Lenovo P11
Is repo sync still down? Or rather, is android.git.kernel.org still down? I tried repo syncing from RC2 to RC3, so I could implement a patch for Exchange security features (more on this later, I will update when I get it working).

For now, I will try the compile on RC2.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    First, follow these instructions to get your system setup for build:
    http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Sholes

    You'll need at least 15GB of disk space. Once you've got all the prerequisites installed:
    Code:
    mkdir ~/android
    cd ~/android
    repo init -u git://github.com/Mioze7Ae/android.git -b froyo
    repo sync -j 2
    . build/envsetup.sh
    lunch cyanogen_sholest-eng
    vendor/cyanogen/get-rommanager
    make -j 2 bacon
    If everything goes well, the update package will be something like out/target/product/sholest/update-cm-6.1.2-0.10-11.08.08-MilestoneXT720-signed.zip
    This is my current understanding of the voodoo:
    • repo init : sets up your repository and downloads a manifest file that identifies other repositories
    • repo sync : downloads all the repositories and checks out a working copy
    • . build/envsetup.sh : parses all the makefiles and such to create a menu of available devices to build
    • lunch : configures the source tree to build a specific device (run lunch with no arguments to get a menu)
    • get-rommanager : apparently needed for some reason
    • make bacon : actually builds everything and creates the ota package. You may want to consider something like "make -j 8 bacon >build.out 2>build.err"
    repo sync takes either metric or imperial eons (whichever is larger) (-j N can help by opening multiple concurrent downloads if you have a fast uplink). On a dual AMD Opteron 248 machine with 6GB build takes about 3 hours (Ubuntu 11.04 64-bit). On a dual Xeon E5410@2.33GHz (8 cores total) with 16GB RAM running debian lenny 64-bit, build takes ~15 min. You want to pick the -j to be 1-2 times the number of CPUs (I used -j 2 on the AMD and -j 8 on the Xeon). The android build system does a pretty good job at pegging your CPUs. :D

    I don't currently know how to tag the state of the entire tree, so when nadlabak or milaq or anyone else updates repositories that I didn't fork, there's a chance it may break things from time-to-time. I'm currently waiting for a build from a fresh checkout to complete. Hopefully it's not broken...
    Edit: Fresh compile succeeded, update applied and booted. Happy hacking!

    Feel free to peruse my repositories at http://github.com/Mioze7Ae

    See also: http://android.doshaska.net/cm6build
    Thanks: nadlabak, milaq, stlifey, #milestone-modding
    2
    du -h .repo - how much it has?

    $ du -hs .repo
    4.2G .repo
    $ du -hs .
    12G .
    1
    Thanks, will add cm6 to mine build server. =)
    Maybe we should make todo list and make changes that we need?
    Then move it to main build tree?
    1
    i was able to compile configs.ko

    so we can dump the config of the running moto kernel


    Code:
    insmod configs.ko
    
    zcat /proc/config.gz

    attached is tar with module and dumped config from Central Europe kernel...

    so may be finally we will be able to "debug" why on the singapore kernel it is stated that tvout works, and did not work on other kernels....


    So please do:

    Code:
    adb push configs.ko /tmp
    adb shell
    /system/bin/insmod /tmp/configs.ko
    exit from adb shell
    Code:
    adb pull /proc/config.gz

    and post

    Which Kernel (e.g. Central European, Korean, Singapore, Cincinaty etc....) is used
    and the corresponding config.gz



    edit: forget to attache





    badly.... it is not the runing kernel config, but the config i have compiled.... sorry