I am trying to build the Android Linux kernel from source following this README. The instructions very clearly state:

1.1 Required enabled config options:

After building a standard defconfig, ensure that these options are enabled in your .config or defconfig if they are not already. Based off the msm_defconfig.

However, things get strange very soon with FB, which is missing:


Here is FB on a Gentoo kernel:


And it also has a PCI requirement. There is nothing PCI on an android, which makes me wonder.

Needless to say all of the rest of the FB based requirements won't initialize.

Am I supposed to be using a different version of the msm defconfig?

[email protected]:linux-on-qualcomm-s-msm/linux-msm.git is what I used.

These modules are also completely missing from both android and gentoo:

  • 1
    Please copy-paste text, don't post screenshots. These images are hard to read. What command did you run? You seem to be compiling a native kernel on x86, not a kernel for arm. PCI isn't listed here as a dependency of FB, it's the other way round (“selected by”). Commented Jul 10, 2014 at 22:34

1 Answer 1


I haven't looked in detail. The defconfig file was last editer 4 years ago; it's quite possible that some options have changed in the kernel source and nobody bothered to update this particular file. Try looking in the kernel logs to see if these options have disappeared. Compare with other msm*_defconfig, which have been updated more recently. The readme file is even older; some options listed there may well have disappeared a long time ago.

Do make sure that you're cross-compiling. You're running the configuration interface on an x86 machine, but compiling a kernel for an arm machine, so you need to pass ARCH=arm to all make command lines, including during configuration.

make ARCH=arm msm8974_defconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-gcc- uImage modules

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .