03 Aug, 2016

1 commit

  • Copy the config fragments from the AOSP common kernel android-4.4
    branch. 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

    The following non-upstream config options were removed:

    CONFIG_NETFILTER_XT_MATCH_QTAGUID
    CONFIG_NETFILTER_XT_MATCH_QUOTA2
    CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG
    CONFIG_PPPOLAC
    CONFIG_PPPOPNS
    CONFIG_SECURITY_PERF_EVENTS_RESTRICT
    CONFIG_USB_CONFIGFS_F_MTP
    CONFIG_USB_CONFIGFS_F_PTP
    CONFIG_USB_CONFIGFS_F_ACC
    CONFIG_USB_CONFIGFS_F_AUDIO_SRC
    CONFIG_USB_CONFIGFS_UEVENT
    CONFIG_INPUT_KEYCHORD
    CONFIG_INPUT_KEYRESET

    Link: http://lkml.kernel.org/r/1466708235-28593-1-git-send-email-robh@kernel.org
    Signed-off-by: Rob Herring
    Cc: Amit Pundir
    Cc: John Stultz
    Cc: Dmitry Shmidt
    Cc: Rom Lemarchand
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     

16 Jun, 2015

1 commit

  • This lets you build a kernel which can support xen dom0
    or xen guests on i386, x86-64 and arm64 by just using:

    make xenconfig

    You can start from an allnoconfig and then switch to xenconfig.
    This also splits out the options which are available currently
    to be built with x86 and 'make ARCH=arm64' under a shared config.

    Technically xen supports a dom0 kernel and also a guest
    kernel configuration but upon review with the xen team
    since we don't have many dom0 options its best to just
    combine these two into one.

    A few generic notes: we enable both of these:

    CONFIG_INET=y
    CONFIG_BINFMT_ELF=y

    although technically not required given you likely will
    end up with a pretty useless system otherwise.

    A few architectural differences worth noting:

    $ make allnoconfig; make xenconfig > /dev/null ; \
    grep XEN .config > 64-bit-config
    $ make ARCH=i386 allnoconfig; make ARCH=i386 xenconfig > /dev/null; \
    grep XEN .config > 32-bit-config
    $ make ARCH=arm64 allnoconfig; make ARCH=arm64 xenconfig > /dev/null; \
    grep XEN .config > arm64-config

    Since the options are already split up with a generic config and
    architecture specific configs you anything on the x86 configs
    are known to only work right now on x86. For instance arm64 doesn't
    support MEMORY_HOTPLUG yet as such although we try to enabe it
    generically arm64 doesn't have it yet, so we leave the xen
    specific kconfig option XEN_BALLOON_MEMORY_HOTPLUG on x86's config
    file to set expecations correctly.

    Then on x86 we have differences between i386 and x86-64. The difference
    between 64-bit-config and 32-bit-config is you don't get XEN_MCE_LOG as
    this is only supported on 64-bit. You also do not get on i386
    XEN_BALLOON_MEMORY_HOTPLUG, there does not seem to be any technical
    reasons to not allow this but I gave up after a few attempts.

    Cc: Josh Triplett
    Cc: Borislav Petkov
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Michal Marek
    Cc: Randy Dunlap
    Cc: penberg@kernel.org
    Cc: levinsasha928@gmail.com
    Cc: mtosatti@redhat.com
    Cc: fengguang.wu@intel.com
    Cc: David Vrabel
    Cc: Ian Campbell
    Cc: Konrad Rzeszutek Wilk
    Cc: xen-devel@lists.xenproject.org
    Acked-by: Stefano Stabellini
    Acked-by: Julien Grall
    Acked-by: Michal Marek
    Acked-by: David Rientjes
    Reviewed-by: Josh Triplett
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: David Vrabel

    Luis R. Rodriguez
     

09 Aug, 2014

1 commit

  • Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
    allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
    "make allnoconfig" disables every possible config option.

    However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
    OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
    choices exist (compression, highmem, allocator) for which a non-default
    option produces a smaller kernel.

    Add a "tinyconfig" option, which starts from allnoconfig and then sets
    these options to configure the tiniest possible kernel. This provides a
    better baseline for embedded systems or efforts to reduce kernel size.

    Signed-off-by: Josh Triplett

    Josh Triplett