Building Kernel API Headers in the Cygwin VM

  1. Update C:\Cygwin\opt\crosstool\src\build_gcc_cross.sh :

    #!/bin/bash
    export TARGET=arm-linux-gnueabihf
    export PREFIX=/opt/crosstool/gcc-4.6.3-eglibc-2.13/$TARGET
    export PATH=$PATH:$PREFIX/bin
    
    cd /opt/crosstool/src
    rm -rf build-linux
    cp -r linux-3.2.21 build-linux
    cd build-linux
    make ARCH=arm CROSS_COMPILE=$TARGET- \
        INSTALL_HDR_PATH=$PREFIX/usr headers_install
    find $PREFIX/usr/include -name '..install.cmd' -delete
    find $PREFIX/usr/include -name '.install' -delete
    
    echo "=== build script: OK ==="
    

  2. You may need to reapply dos2unix to build_gcc_cross.sh if your text editor does not preserve DOS/Unix line endings.
  3. Run C:\Cygwin\opt\crosstool\src\build_gcc_cross.cmd and wait until it completes.
  4. (Additional step to support SoftFP ABI): copy contents of C:\Cygwin\opt\crosstool\gcc-4.6.3-eglibc-2.13\arm-linux-gnueabihf\usr\include folder to C:\Cygwin\opt\crosstool\gcc-4.6.3-eglibc-2.13\arm-linux-gnueabi\usr\include
  5. If there are no errors, shudown the Cygwin VM and make snapshot "SNAP-6".


>> Read next section or buy already prepared cross-compiler ($10) to save your time.