This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Building Linux from Android distribution

Other Parts Discussed in Thread: AM3517

Our board is derived from the AM3517EVM, and we must support both Linux and Android on the board.  Currently, we produce Linux from a Linux distribution (ti-sdk-am3517-evm-05.02.00.00-Linux-x86-Install), and we produce Android from an Android distribution (TI_Android_GingerBread_2_3_4Sources.tar.gz).

Using the two separate distributions for Linux and Android is a bit cumbersome, and it would clean up our build process if we could build both Linux and Android from the Android distribution.  Is that reasonable, or is that kernel too Android-specific, making it prohibitive for straight Linux builds?

Ron

  • Hi Ron,

    I think you can use same Android kernel for Linux and Android.

    Android Kernel has a separate defconfig for Linux (arch/arm/configs/am3517_evm_defconfig) and Android (am3517_evm_android_defconfig).

    Please configure your kernel with respective defconfig and try.

    Linux :

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- am3517_evm_defconfig

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

    Android :

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- am3517_evm_android_defconfig

    $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

    Kindly make sure that you have all the latest Linux kernel patches on top of Android kernel.

    Regards,

    Pankaj Bharadiya

  • Hi Pankaj,

    Thank you for your response.  Using the Linux config file (am3517_evm_defconfig) as you suggested did result in a successful Linux build, although only with some modification. The config file was apparently never updated after a source change that required the presence of file switch_class.c in the build.  But, a simple change of setting CONFIG_SWITCH=y in the config file resolved the inconsistency.  That config switch was already set in the Android config file, as distributed.

    Thanks,
    Ron