Message ID | 1465403951-32454-1-git-send-email-robh@kernel.org |
---|---|
State | Superseded |
Headers | show |
On 8 June 2016 at 22:09, Rob Herring <robh@kernel.org> wrote: > Copy the config fragments from the AOSP common kernel tree. It is > becoming possible to run mainline kernels with Android, but the kernel > defconfigs don't work as-is and debugging missing config options is a > pain. Adding the config fragments into the kernel tree, makes > configuring a mainline kernel as simple as: > > make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config > > Cc: Amit Pundir <amit.pundir@linaro.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> > Cc: Rom Lemarchand <romlem@android.com> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > kernel/configs/android-base.config | 161 ++++++++++++++++++++++++++++++ > kernel/configs/android-recommended.config | 121 ++++++++++++++++++++++ > 2 files changed, 282 insertions(+) > create mode 100644 kernel/configs/android-base.config > create mode 100644 kernel/configs/android-recommended.config > > diff --git a/kernel/configs/android-base.config b/kernel/configs/android-base.config > new file mode 100644 > index 0000000..44fa01d > --- /dev/null > +++ b/kernel/configs/android-base.config > @@ -0,0 +1,161 @@ > +# KEEP ALPHABETICALLY SORTED > +# CONFIG_DEVKMEM is not set > +# CONFIG_DEVMEM is not set > +# CONFIG_INET_LRO is not set > +# CONFIG_MODULES is not set > +# CONFIG_OABI_COMPAT is not set > +# CONFIG_SYSVIPC is not set > +CONFIG_ANDROID=y > +CONFIG_ANDROID_BINDER_IPC=y > +CONFIG_ANDROID_LOW_MEMORY_KILLER=y > +CONFIG_ARMV8_DEPRECATED=y > +CONFIG_ASHMEM=y > +CONFIG_AUDIT=y > +CONFIG_BLK_DEV_DM=y > +CONFIG_BLK_DEV_INITRD=y > +CONFIG_CGROUPS=y > +CONFIG_CGROUP_CPUACCT=y > +CONFIG_CGROUP_DEBUG=y > +CONFIG_CGROUP_FREEZER=y > +CONFIG_CGROUP_SCHED=y > +CONFIG_CP15_BARRIER_EMULATION=y > +CONFIG_DM_CRYPT=y > +CONFIG_DM_VERITY=y > +CONFIG_EMBEDDED=y > +CONFIG_FB=y > +CONFIG_HIGH_RES_TIMERS=y > +CONFIG_INET6_AH=y > +CONFIG_INET6_ESP=y > +CONFIG_INET6_IPCOMP=y > +CONFIG_INET=y > +CONFIG_INET_ESP=y > +CONFIG_INET_XFRM_MODE_TUNNEL=y > +CONFIG_IP6_NF_FILTER=y > +CONFIG_IP6_NF_IPTABLES=y > +CONFIG_IP6_NF_MANGLE=y > +CONFIG_IP6_NF_RAW=y > +CONFIG_IP6_NF_TARGET_REJECT=y > +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y > +CONFIG_IPV6=y > +CONFIG_IPV6_MIP6=y > +CONFIG_IPV6_MULTIPLE_TABLES=y > +CONFIG_IPV6_OPTIMISTIC_DAD=y > +CONFIG_IPV6_PRIVACY=y > +CONFIG_IPV6_ROUTER_PREF=y > +CONFIG_IPV6_ROUTE_INFO=y > +CONFIG_IP_ADVANCED_ROUTER=y > +CONFIG_IP_MULTIPLE_TABLES=y > +CONFIG_IP_NF_ARPFILTER=y > +CONFIG_IP_NF_ARPTABLES=y > +CONFIG_IP_NF_ARP_MANGLE=y > +CONFIG_IP_NF_FILTER=y > +CONFIG_IP_NF_IPTABLES=y > +CONFIG_IP_NF_MANGLE=y > +CONFIG_IP_NF_MATCH_AH=y > +CONFIG_IP_NF_MATCH_ECN=y > +CONFIG_IP_NF_MATCH_TTL=y > +CONFIG_IP_NF_RAW=y > +CONFIG_IP_NF_SECURITY=y > +CONFIG_IP_NF_TARGET_MASQUERADE=y > +CONFIG_IP_NF_TARGET_NETMAP=y > +CONFIG_IP_NF_TARGET_REDIRECT=y > +CONFIG_IP_NF_TARGET_REJECT=y > +CONFIG_IP_NF_TARGET_REJECT_SKERR=y > +CONFIG_NET=y > +CONFIG_NETDEVICES=y > +CONFIG_NETFILTER=y > +CONFIG_NETFILTER_TPROXY=y > +CONFIG_NETFILTER_XT_MATCH_COMMENT=y > +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y > +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y > +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y > +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y > +CONFIG_NETFILTER_XT_MATCH_HELPER=y > +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y > +CONFIG_NETFILTER_XT_MATCH_LENGTH=y > +CONFIG_NETFILTER_XT_MATCH_LIMIT=y > +CONFIG_NETFILTER_XT_MATCH_MAC=y > +CONFIG_NETFILTER_XT_MATCH_MARK=y > +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y > +CONFIG_NETFILTER_XT_MATCH_POLICY=y > +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y > +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y > +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y > +CONFIG_NETFILTER_XT_MATCH_QUOTA=y > +CONFIG_NETFILTER_XT_MATCH_SOCKET=y > +CONFIG_NETFILTER_XT_MATCH_STATE=y > +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y > +CONFIG_NETFILTER_XT_MATCH_STRING=y > +CONFIG_NETFILTER_XT_MATCH_TIME=y > +CONFIG_NETFILTER_XT_MATCH_U32=y > +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y > +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y > +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y > +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y > +CONFIG_NETFILTER_XT_TARGET_MARK=y > +CONFIG_NETFILTER_XT_TARGET_NFLOG=y > +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y > +CONFIG_NETFILTER_XT_TARGET_SECMARK=y > +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y > +CONFIG_NETFILTER_XT_TARGET_TPROXY=y > +CONFIG_NETFILTER_XT_TARGET_TRACE=y > +CONFIG_NET_CLS_ACT=y > +CONFIG_NET_CLS_U32=y > +CONFIG_NET_EMATCH=y > +CONFIG_NET_EMATCH_U32=y > +CONFIG_NET_KEY=y > +CONFIG_NET_SCHED=y > +CONFIG_NET_SCH_HTB=y > +CONFIG_NF_CONNTRACK=y > +CONFIG_NF_CONNTRACK_AMANDA=y > +CONFIG_NF_CONNTRACK_EVENTS=y > +CONFIG_NF_CONNTRACK_FTP=y > +CONFIG_NF_CONNTRACK_H323=y > +CONFIG_NF_CONNTRACK_IPV4=y > +CONFIG_NF_CONNTRACK_IPV6=y > +CONFIG_NF_CONNTRACK_IRC=y > +CONFIG_NF_CONNTRACK_NETBIOS_NS=y > +CONFIG_NF_CONNTRACK_PPTP=y > +CONFIG_NF_CONNTRACK_SANE=y > +CONFIG_NF_CONNTRACK_SECMARK=y > +CONFIG_NF_CONNTRACK_TFTP=y > +CONFIG_NF_CT_NETLINK=y > +CONFIG_NF_CT_PROTO_DCCP=y > +CONFIG_NF_CT_PROTO_SCTP=y > +CONFIG_NF_CT_PROTO_UDPLITE=y > +CONFIG_NF_NAT=y > +CONFIG_NO_HZ=y > +CONFIG_PACKET=y > +CONFIG_PM_AUTOSLEEP=y > +CONFIG_PM_WAKELOCKS=y > +CONFIG_PPP=y > +CONFIG_PPPOLAC=y > +CONFIG_PPPOPNS=y > +CONFIG_PPP_BSDCOMP=y > +CONFIG_PPP_DEFLATE=y > +CONFIG_PPP_MPPE=y > +CONFIG_PREEMPT=y > +CONFIG_RESOURCE_COUNTERS=y > +CONFIG_RTC_CLASS=y > +CONFIG_RT_GROUP_SCHED=y > +CONFIG_SECURITY=y > +CONFIG_SECURITY_NETWORK=y > +CONFIG_SECURITY_SELINUX=y > +CONFIG_SETEND_EMULATION=y > +CONFIG_STAGING=y > +CONFIG_SWITCH=y Switch Class support is dropped from kernel/common/android-4.4 sometime back. > +CONFIG_SWP_EMULATION=y > +CONFIG_SYNC=y > +CONFIG_TUN=y > +CONFIG_UNIX=y > +CONFIG_USB_GADGET=y > +CONFIG_USB_CONFIGFS=y > +CONFIG_USB_CONFIGFS_F_FS=y > +CONFIG_USB_CONFIGFS_F_MTP=y > +CONFIG_USB_CONFIGFS_F_PTP=y > +CONFIG_USB_CONFIGFS_F_ACC=y > +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y > +CONFIG_USB_CONFIGFS_UEVENT=y > +CONFIG_USB_CONFIGFS_F_MIDI=y > +CONFIG_USB_OTG_WAKELOCK=y > +CONFIG_XFRM_USER=y > diff --git a/kernel/configs/android-recommended.config b/kernel/configs/android-recommended.config > new file mode 100644 > index 0000000..76527a5 > --- /dev/null > +++ b/kernel/configs/android-recommended.config > @@ -0,0 +1,121 @@ > +# KEEP ALPHABETICALLY SORTED > +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set > +# CONFIG_INPUT_MOUSE is not set > +# CONFIG_LEGACY_PTYS is not set > +# CONFIG_NF_CONNTRACK_SIP is not set > +# CONFIG_PM_WAKELOCKS_GC is not set > +# CONFIG_VT is not set > +CONFIG_ARM_KERNMEM_PERMS=y > +CONFIG_BACKLIGHT_LCD_SUPPORT=y > +CONFIG_BLK_DEV_LOOP=y > +CONFIG_BLK_DEV_RAM=y > +CONFIG_BLK_DEV_RAM_SIZE=8192 > +CONFIG_COMPACTION=y > +CONFIG_DEBUG_RODATA=y > +CONFIG_DM_UEVENT=y > +CONFIG_ENABLE_DEFAULT_TRACERS=y > +CONFIG_EXT4_FS=y > +CONFIG_EXT4_FS_SECURITY=y > +CONFIG_FUSE_FS=y > +CONFIG_GREENASIA_FF=y > +CONFIG_HIDRAW=y > +CONFIG_HID_A4TECH=y > +CONFIG_HID_ACRUX=y > +CONFIG_HID_ACRUX_FF=y > +CONFIG_HID_APPLE=y > +CONFIG_HID_BELKIN=y > +CONFIG_HID_CHERRY=y > +CONFIG_HID_CHICONY=y > +CONFIG_HID_CYPRESS=y > +CONFIG_HID_DRAGONRISE=y > +CONFIG_HID_ELECOM=y > +CONFIG_HID_EMS_FF=y > +CONFIG_HID_EZKEY=y > +CONFIG_HID_GREENASIA=y > +CONFIG_HID_GYRATION=y > +CONFIG_HID_HOLTEK=y > +CONFIG_HID_KENSINGTON=y > +CONFIG_HID_KEYTOUCH=y > +CONFIG_HID_KYE=y > +CONFIG_HID_LCPOWER=y > +CONFIG_HID_LOGITECH=y > +CONFIG_HID_LOGITECH_DJ=y > +CONFIG_HID_MAGICMOUSE=y > +CONFIG_HID_MICROSOFT=y > +CONFIG_HID_MONTEREY=y > +CONFIG_HID_MULTITOUCH=y > +CONFIG_HID_NTRIG=y > +CONFIG_HID_ORTEK=y > +CONFIG_HID_PANTHERLORD=y > +CONFIG_HID_PETALYNX=y > +CONFIG_HID_PICOLCD=y > +CONFIG_HID_PRIMAX=y > +CONFIG_HID_PRODIKEYS=y > +CONFIG_HID_ROCCAT=y > +CONFIG_HID_SAITEK=y > +CONFIG_HID_SAMSUNG=y > +CONFIG_HID_SMARTJOYPLUS=y > +CONFIG_HID_SONY=y > +CONFIG_HID_SPEEDLINK=y > +CONFIG_HID_SUNPLUS=y > +CONFIG_HID_THRUSTMASTER=y > +CONFIG_HID_TIVO=y > +CONFIG_HID_TOPSEED=y > +CONFIG_HID_TWINHAN=y > +CONFIG_HID_UCLOGIC=y > +CONFIG_HID_WACOM=y > +CONFIG_HID_WALTOP=y > +CONFIG_HID_WIIMOTE=y > +CONFIG_HID_ZEROPLUS=y > +CONFIG_HID_ZYDACRON=y > +CONFIG_INPUT_EVDEV=y > +CONFIG_INPUT_GPIO=y > +CONFIG_INPUT_JOYSTICK=y > +CONFIG_INPUT_KEYCHORD=y > +CONFIG_INPUT_KEYRESET=y > +CONFIG_INPUT_MISC=y > +CONFIG_INPUT_TABLET=y > +CONFIG_INPUT_UINPUT=y > +CONFIG_ION=y > +CONFIG_JOYSTICK_XPAD=y > +CONFIG_JOYSTICK_XPAD_FF=y > +CONFIG_JOYSTICK_XPAD_LEDS=y > +CONFIG_KALLSYMS_ALL=y > +CONFIG_KSM=y > +CONFIG_LOGIG940_FF=y > +CONFIG_LOGIRUMBLEPAD2_FF=y > +CONFIG_LOGITECH_FF=y > +CONFIG_MD=y > +CONFIG_MEDIA_SUPPORT=y > +CONFIG_MSDOS_FS=y > +CONFIG_PANIC_TIMEOUT=5 > +CONFIG_PANTHERLORD_FF=y > +CONFIG_PERF_EVENTS=y > +CONFIG_PM_DEBUG=y > +CONFIG_PM_RUNTIME=y > +CONFIG_PM_WAKELOCKS_LIMIT=0 > +CONFIG_POWER_SUPPLY=y > +CONFIG_PSTORE=y > +CONFIG_PSTORE_CONSOLE=y > +CONFIG_PSTORE_RAM=y > +CONFIG_SCHEDSTATS=y > +CONFIG_SMARTJOYPLUS_FF=y > +CONFIG_SND=y > +CONFIG_SOUND=y > +CONFIG_SUSPEND_TIME=y > +CONFIG_TABLET_USB_ACECAD=y > +CONFIG_TABLET_USB_AIPTEK=y > +CONFIG_TABLET_USB_GTCO=y > +CONFIG_TABLET_USB_HANWANG=y > +CONFIG_TABLET_USB_KBTAB=y > +CONFIG_TABLET_USB_WACOM=y > +CONFIG_TIMER_STATS=y > +CONFIG_TMPFS=y > +CONFIG_TMPFS_POSIX_ACL=y > +CONFIG_UHID=y > +CONFIG_UID_STAT=y UID based network stats reporting is gone too. Regards, Amit Pundir > +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y > +CONFIG_USB_EHCI_HCD=y > +CONFIG_USB_HIDDEV=y > +CONFIG_USB_USBNET=y > +CONFIG_VFAT_FS=y > -- > 2.7.4 >
On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir <amit.pundir@linaro.org> wrote: > On 8 June 2016 at 22:09, Rob Herring <robh@kernel.org> wrote: >> Copy the config fragments from the AOSP common kernel tree. It is >> becoming possible to run mainline kernels with Android, but the kernel >> defconfigs don't work as-is and debugging missing config options is a >> pain. Adding the config fragments into the kernel tree, makes >> configuring a mainline kernel as simple as: >> >> make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config >> >> Cc: Amit Pundir <amit.pundir@linaro.org> >> Cc: John Stultz <john.stultz@linaro.org> >> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> >> Cc: Rom Lemarchand <romlem@android.com> >> Signed-off-by: Rob Herring <robh@kernel.org> >> --- >> kernel/configs/android-base.config | 161 ++++++++++++++++++++++++++++++ >> kernel/configs/android-recommended.config | 121 ++++++++++++++++++++++ [...] >> +CONFIG_STAGING=y >> +CONFIG_SWITCH=y > > Switch Class support is dropped from kernel/common/android-4.4 sometime back. Okay. I'm also removing these options in v2 which don't exist in upstream. Any comments on them? IP6_NF_TARGET_REJECT_SKERR IP_NF_TARGET_REJECT_SKERR NETFILTER_XT_MATCH_QTAGUID NETFILTER_XT_MATCH_QUOTA2 NETFILTER_XT_MATCH_QUOTA2_LOG PPPOLAC PPPOPNS RESOURCE_COUNTERS SECURITY_PERF_EVENTS_RESTRICT USB_CONFIGFS_F_MTP USB_CONFIGFS_F_PTP USB_CONFIGFS_F_ACC USB_CONFIGFS_F_AUDIO_SRC USB_CONFIGFS_UEVENT USB_OTG_WAKELOCK ANDROID_TIMED_GPIO ARM_KERNMEM_PERMS INPUT_KEYCHORD INPUT_KEYRESET TABLET_USB_WACOM Rob
On 23 June 2016 at 08:50, Rob Herring <robh@kernel.org> wrote: > On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir <amit.pundir@linaro.org> wrote: >> On 8 June 2016 at 22:09, Rob Herring <robh@kernel.org> wrote: >>> Copy the config fragments from the AOSP common kernel tree. It is >>> becoming possible to run mainline kernels with Android, but the kernel >>> defconfigs don't work as-is and debugging missing config options is a >>> pain. Adding the config fragments into the kernel tree, makes >>> configuring a mainline kernel as simple as: >>> >>> make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config >>> >>> Cc: Amit Pundir <amit.pundir@linaro.org> >>> Cc: John Stultz <john.stultz@linaro.org> >>> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> >>> Cc: Rom Lemarchand <romlem@android.com> >>> Signed-off-by: Rob Herring <robh@kernel.org> >>> --- >>> kernel/configs/android-base.config | 161 ++++++++++++++++++++++++++++++ >>> kernel/configs/android-recommended.config | 121 ++++++++++++++++++++++ > > [...] > >>> +CONFIG_STAGING=y >>> +CONFIG_SWITCH=y >> >> Switch Class support is dropped from kernel/common/android-4.4 sometime back. > > Okay. I'm also removing these options in v2 which don't exist in > upstream. Any comments on them? > > IP6_NF_TARGET_REJECT_SKERR > IP_NF_TARGET_REJECT_SKERR > NETFILTER_XT_MATCH_QTAGUID > NETFILTER_XT_MATCH_QUOTA2 > NETFILTER_XT_MATCH_QUOTA2_LOG > PPPOLAC > PPPOPNS > RESOURCE_COUNTERS > SECURITY_PERF_EVENTS_RESTRICT > USB_CONFIGFS_F_MTP > USB_CONFIGFS_F_PTP > USB_CONFIGFS_F_ACC > USB_CONFIGFS_F_AUDIO_SRC > USB_CONFIGFS_UEVENT > USB_OTG_WAKELOCK > ANDROID_TIMED_GPIO > ARM_KERNMEM_PERMS > INPUT_KEYCHORD > INPUT_KEYRESET > TABLET_USB_WACOM In my opinion we can keep the core configs (usb gadget, netfilter, input key et al.). They will not harm the resulting kernel config anyway. And we can definitely drop following configs from v2: IP6_NF_TARGET_REJECT_SKERR IP_NF_TARGET_REJECT_SKERR RESOURCE_COUNTERS ANDROID_TIMED_GPIO ARM_KERNMEM_PERMS TABLET_USB_WACOM Also please add the following options in v2, which are present in android-4.4 configs but missing from v1. In android-base.config: CONFIG_DM_VERITY_FEC CONFIG_INET_DIAG_DESTROY CONFIG_IP_MULTICAST CONFIG_IP_NF_NAT CONFIG_QUOTA In android-recommended.config: CONFIG_DRAGONRISE_FF CONFIG_TASKSTATS CONFIG_TASK_DELAY_ACCT CONFIG_TASK_IO_ACCOUNTING CONFIG_TASK_XACCT Regards, Amit Pundir > > Rob
On Thu, Jun 23, 2016 at 1:14 AM, Amit Pundir <amit.pundir@linaro.org> wrote: > On 23 June 2016 at 08:50, Rob Herring <robh@kernel.org> wrote: >> On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir <amit.pundir@linaro.org> wrote: >>> On 8 June 2016 at 22:09, Rob Herring <robh@kernel.org> wrote: >>>> Copy the config fragments from the AOSP common kernel tree. It is >>>> becoming possible to run mainline kernels with Android, but the kernel >>>> defconfigs don't work as-is and debugging missing config options is a >>>> pain. Adding the config fragments into the kernel tree, makes >>>> configuring a mainline kernel as simple as: >>>> >>>> make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config >>>> >>>> Cc: Amit Pundir <amit.pundir@linaro.org> >>>> Cc: John Stultz <john.stultz@linaro.org> >>>> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> >>>> Cc: Rom Lemarchand <romlem@android.com> >>>> Signed-off-by: Rob Herring <robh@kernel.org> >>>> --- >>>> kernel/configs/android-base.config | 161 ++++++++++++++++++++++++++++++ >>>> kernel/configs/android-recommended.config | 121 ++++++++++++++++++++++ >> >> [...] >> >>>> +CONFIG_STAGING=y >>>> +CONFIG_SWITCH=y >>> >>> Switch Class support is dropped from kernel/common/android-4.4 sometime back. >> >> Okay. I'm also removing these options in v2 which don't exist in >> upstream. Any comments on them? >> >> IP6_NF_TARGET_REJECT_SKERR >> IP_NF_TARGET_REJECT_SKERR >> NETFILTER_XT_MATCH_QTAGUID >> NETFILTER_XT_MATCH_QUOTA2 >> NETFILTER_XT_MATCH_QUOTA2_LOG >> PPPOLAC >> PPPOPNS >> RESOURCE_COUNTERS >> SECURITY_PERF_EVENTS_RESTRICT >> USB_CONFIGFS_F_MTP >> USB_CONFIGFS_F_PTP >> USB_CONFIGFS_F_ACC >> USB_CONFIGFS_F_AUDIO_SRC >> USB_CONFIGFS_UEVENT >> USB_OTG_WAKELOCK >> ANDROID_TIMED_GPIO >> ARM_KERNMEM_PERMS >> INPUT_KEYCHORD >> INPUT_KEYRESET >> TABLET_USB_WACOM > > In my opinion we can keep the core configs (usb gadget, netfilter, > input key et al.). They will not harm the resulting kernel config > anyway. And we can definitely drop following configs from v2: They don't harm it, but several that I looked at are never going upstream. For example INPUT_KEYRESET is to be replaced by sysrq additions from what I found (BTW, is anything missing for that?). I think Android should carry the burden of carrying those additions rather that upstream having the burden to remove/change them later. Perhaps having these as a 3rd config fragment would be easiest to carry. > > IP6_NF_TARGET_REJECT_SKERR > IP_NF_TARGET_REJECT_SKERR > RESOURCE_COUNTERS > ANDROID_TIMED_GPIO > ARM_KERNMEM_PERMS > TABLET_USB_WACOM > > > Also please add the following options in v2, which are present in > android-4.4 configs but missing from v1. > > In android-base.config: > CONFIG_DM_VERITY_FEC > CONFIG_INET_DIAG_DESTROY > CONFIG_IP_MULTICAST > CONFIG_IP_NF_NAT > CONFIG_QUOTA > > In android-recommended.config: > CONFIG_DRAGONRISE_FF > CONFIG_TASKSTATS > CONFIG_TASK_DELAY_ACCT > CONFIG_TASK_IO_ACCOUNTING > CONFIG_TASK_XACCT I have all these as I copied the files over again since obviously I failed to do that correctly the first time. :) Rob
diff --git a/kernel/configs/android-base.config b/kernel/configs/android-base.config new file mode 100644 index 0000000..44fa01d --- /dev/null +++ b/kernel/configs/android-base.config @@ -0,0 +1,161 @@ +# KEEP ALPHABETICALLY SORTED +# CONFIG_DEVKMEM is not set +# CONFIG_DEVMEM is not set +# CONFIG_INET_LRO is not set +# CONFIG_MODULES is not set +# CONFIG_OABI_COMPAT is not set +# CONFIG_SYSVIPC is not set +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_ASHMEM=y +CONFIG_AUDIT=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_SCHED=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_DM_CRYPT=y +CONFIG_DM_VERITY=y +CONFIG_EMBEDDED=y +CONFIG_FB=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_INET=y +CONFIG_INET_ESP=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y +CONFIG_IPV6=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_REJECT_SKERR=y +CONFIG_NET=y +CONFIG_NETDEVICES=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_TPROXY=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_U32=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_KEY=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_HTB=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_NAT=y +CONFIG_NO_HZ=y +CONFIG_PACKET=y +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_MPPE=y +CONFIG_PREEMPT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_RTC_CLASS=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SETEND_EMULATION=y +CONFIG_STAGING=y +CONFIG_SWITCH=y +CONFIG_SWP_EMULATION=y +CONFIG_SYNC=y +CONFIG_TUN=y +CONFIG_UNIX=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_MTP=y +CONFIG_USB_CONFIGFS_F_PTP=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_OTG_WAKELOCK=y +CONFIG_XFRM_USER=y diff --git a/kernel/configs/android-recommended.config b/kernel/configs/android-recommended.config new file mode 100644 index 0000000..76527a5 --- /dev/null +++ b/kernel/configs/android-recommended.config @@ -0,0 +1,121 @@ +# KEEP ALPHABETICALLY SORTED +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_PM_WAKELOCKS_GC is not set +# CONFIG_VT is not set +CONFIG_ARM_KERNMEM_PERMS=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_COMPACTION=y +CONFIG_DEBUG_RODATA=y +CONFIG_DM_UEVENT=y +CONFIG_ENABLE_DEFAULT_TRACERS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FUSE_FS=y +CONFIG_GREENASIA_FF=y +CONFIG_HIDRAW=y +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_HID_ELECOM=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GREENASIA=y +CONFIG_HID_GYRATION=y +CONFIG_HID_HOLTEK=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_LCPOWER=y +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PRIMAX=y +CONFIG_HID_PRODIKEYS=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_HID_SONY=y +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_SUNPLUS=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WACOM=y +CONFIG_HID_WALTOP=y +CONFIG_HID_WIIMOTE=y +CONFIG_HID_ZEROPLUS=y +CONFIG_HID_ZYDACRON=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_GPIO=y +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYCHORD=y +CONFIG_INPUT_KEYRESET=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_UINPUT=y +CONFIG_ION=y +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KSM=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_MD=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MSDOS_FS=y +CONFIG_PANIC_TIMEOUT=5 +CONFIG_PANTHERLORD_FF=y +CONFIG_PERF_EVENTS=y +CONFIG_PM_DEBUG=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +CONFIG_POWER_SUPPLY=y +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_RAM=y +CONFIG_SCHEDSTATS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SND=y +CONFIG_SOUND=y +CONFIG_SUSPEND_TIME=y +CONFIG_TABLET_USB_ACECAD=y +CONFIG_TABLET_USB_AIPTEK=y +CONFIG_TABLET_USB_GTCO=y +CONFIG_TABLET_USB_HANWANG=y +CONFIG_TABLET_USB_KBTAB=y +CONFIG_TABLET_USB_WACOM=y +CONFIG_TIMER_STATS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_UHID=y +CONFIG_UID_STAT=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_HIDDEV=y +CONFIG_USB_USBNET=y +CONFIG_VFAT_FS=y
Copy the config fragments from the AOSP common kernel tree. It is becoming possible to run mainline kernels with Android, but the kernel defconfigs don't work as-is and debugging missing config options is a pain. Adding the config fragments into the kernel tree, makes configuring a mainline kernel as simple as: make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config Cc: Amit Pundir <amit.pundir@linaro.org> Cc: John Stultz <john.stultz@linaro.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Rom Lemarchand <romlem@android.com> Signed-off-by: Rob Herring <robh@kernel.org> --- kernel/configs/android-base.config | 161 ++++++++++++++++++++++++++++++ kernel/configs/android-recommended.config | 121 ++++++++++++++++++++++ 2 files changed, 282 insertions(+) create mode 100644 kernel/configs/android-base.config create mode 100644 kernel/configs/android-recommended.config -- 2.7.4