Skip to main content

Building Android Cross Compiler with Crosstool-ng

In order for you to rebuilt a kernel (or even a ROM) for Android from your laptop, you need a cross compiler to do that.

For Android ecosystem there are several popular cross compilers that being used:


  1. Android NDK
  2. Android Toolchain (which I believe a subset of the NDK)
  3. Linaro customized cross compiler 
  4. Self-made cross compiled built by using crosstool-ng
  5. You do it yourself (but I never succeed this one)
I currently use crosstool-ng cross compiler "cooking tool" as it has several features;

You can save a stage for the built process. For example, I just got my laptop shutdown automatically (perhaps due to CPU overheating.. never shut it down for approx due days).. and since I chose the option for saving the compile state, the process just can be restarted at the previous stage:

Just use the build.log and parse the related info


najmi@vostro:~/toolchain/build-cng$ cat build.log |grep "Saving state"
[EXTRA]  Saving state to restart at step 'libc_check_config'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_build'...
[EXTRA]  Saving state to restart at step 'binutils_for_build'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_host'...
[EXTRA]  Saving state to restart at step 'binutils_for_host'...
[EXTRA]  Saving state to restart at step 'cc_core_pass_1'...
[EXTRA]  Saving state to restart at step 'kernel_headers'...
[EXTRA]  Saving state to restart at step 'libc_start_files'...
[EXTRA]  Saving state to restart at step 'cc_core_pass_2'...
[EXTRA]  Saving state to restart at step 'libc'...
[EXTRA]  Saving state to restart at step 'cc_for_build'...
[EXTRA]  Saving state to restart at step 'cc_for_host'...
najmi@vostro:~/toolchain/build-cng$ ct-ng cc_for_host+

 
The problem with abruptly terminated compilation process could also due to error in the compilation process. That way you just have to start where you suspect the compilation error occurs;

Simply with you can continue from the last saved state onwards;


najmi@vostro:~/toolchain/build-cng$ unset LD_LIBRARY_PATH
najmi@vostro:~/toolchain/build-cng$ ct-ng cc_for_host+
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20131130.102737
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Restoring state at step 'cc_for_host', as requested.
[INFO ]  =================================================================
[INFO ]  Installing final compiler
[EXTRA]    Configuring gcc
[EXTRA]    Building gcc
[07:57] / 



Comments

Popular posts from this blog

Danga Bay, Chevrolet Optra and bio...(eh?) I thought it was Debian(haha). My colleague point me to the AirAsia flight turbin and he told me, "Macam debian punya logo" I saw a spiral on top the turbin blades. Pretty much like Debian Logo That's spark me to shoot for a pix. And I was warned by the airport staff. Uh,uh. Flash lamp will spark burst,eh? I was presented my "mock" research proposal. Suggested "Profiling Bioinformatics Application Behavior on Distributed Computing Architecture". Eh, will this gonna be bioinformatics specific or hardware optimization specific.or? Flashback: I spent almost a week at the office. When it's Subh azan,went back to my house for bath and pray. Reading all the journals and papers was not funny,really. Tough eye balls. No world cup. Ewh. And have some VCD lure. Uh,uh. you gonna be kidding. Anyway, I learned a lot and UTM SLAB Research Course is no joke. Really. My proposal has been corrected with comments so I have
Gue dengan S2 gue. Sronok banget!