Clone this repo:
  1. fb1cfdd move CONFIG_RANDOMIZE_BASE out of global base config by Steve Muckle · 7 days ago master
  2. faa8aca add CONFIG_SECCOMP_FILTER=y to android-base.cfg by Steve Muckle · 8 days ago
  3. ea1dab8 add CONFIG_SDCARD_FS to recommended by Steve Muckle · 8 days ago
  4. e56c1da Add eBPF syscall requirement to android-4.9 by Chenbo Feng · 3 weeks ago
  5. 393cac1 remove CONFIG_PM_AUTOSLEEP from android-base.cfg am: 6e30a9a158 by Steve Muckle · 6 weeks ago

Android Kernel Config Fragments

The files in these directories are meant to be used as a base for an Android kernel config. All devices must have the options in android-base.cfg configured as specified. If an android-base-ARCH.cfg file exists for the architecture of your device, the options in that file must be configured as specified also.

While not mandatory, the options in android-recommended.cfg enable advanced Android features.

Assuming you already have a minimalist defconfig for your device, a possible way to enable these options would be to use the merge_config.sh script in the kernel tree. From the root of the kernel tree:

     ARCH=<arch> scripts/kconfig/merge_config.sh <...>/<device>_defconfig <...>/android-base.cfg <...>/android-base-<arch>.cfg <...>/android-recommended.cfg

This will generate a .config that can then be used to save a new defconfig or compile a new kernel with Android features enabled.

Because there is no tool to consistently generate these config fragments, lets keep them alphabetically sorted instead of random.