build: add devel option to store build config in firmware
[openwrt/openwrt.git] / config / Config-kernel.in
index 84711298a61b2a497ffc3388e5e0228c2fb2671d..a4c46f55ae2e12461816d6b0346e1da8730c60a3 100644 (file)
@@ -4,13 +4,29 @@
 # See /LICENSE for more information.
 #
 
 # See /LICENSE for more information.
 #
 
+config KERNEL_BUILD_USER
+       string "Custom Kernel Build User Name"
+       default ""
+       help
+         Sets the Kernel build user string, which for example will be returned
+         by 'uname -a' on running systems.
+         If not set, uses system user at build time.
+
+config KERNEL_BUILD_DOMAIN
+       string "Custom Kernel Build Domain Name"
+       default ""
+       help
+         Sets the Kernel build domain string, which for example will be
+         returned by 'uname -a' on running systems.
+         If not set, uses system hostname at build time.
+
 config KERNEL_PRINTK
        bool "Enable support for printk"
        default y
 
 config KERNEL_CRASHLOG
        bool "Crash logging"
 config KERNEL_PRINTK
        bool "Enable support for printk"
        default y
 
 config KERNEL_CRASHLOG
        bool "Crash logging"
-       depends on !(arm || powerpc || sparc || TARGET_uml)
+       depends on !(arm || powerpc || sparc || TARGET_uml || i386 || x86_64)
        default y
 
 config KERNEL_SWAP
        default y
 
 config KERNEL_SWAP
@@ -26,9 +42,15 @@ config KERNEL_DEBUG_FS
          write to these files. Many common debugging facilities, such as
          ftrace, require the existence of debugfs.
 
          write to these files. Many common debugging facilities, such as
          ftrace, require the existence of debugfs.
 
+config KERNEL_ARM_PMU
+       bool
+       default n
+       depends on (arm || arm64)
+
 config KERNEL_PERF_EVENTS
        bool
        default n
 config KERNEL_PERF_EVENTS
        bool
        default n
+       select KERNEL_ARM_PMU if (arm || arm64)
 
 config KERNEL_PROFILING
        bool "Compile the kernel with profiling enabled"
 
 config KERNEL_PROFILING
        bool "Compile the kernel with profiling enabled"
@@ -40,7 +62,7 @@ config KERNEL_PROFILING
 
 config KERNEL_KALLSYMS
        bool "Compile the kernel with symbol table information"
 
 config KERNEL_KALLSYMS
        bool "Compile the kernel with symbol table information"
-       default y
+       default y if !SMALL_FLASH
        help
          This will give you more information in stack traces from kernel oopses.
 
        help
          This will give you more information in stack traces from kernel oopses.
 
@@ -103,7 +125,7 @@ config KERNEL_DEBUG_LL
        help
          ARM low level debugging.
 
        help
          ARM low level debugging.
 
-config KERNEL_DYNAMIC_DEBUG 
+config KERNEL_DYNAMIC_DEBUG
        bool "Compile the kernel with dynamic printk"
        select KERNEL_DEBUG_FS
        default n
        bool "Compile the kernel with dynamic printk"
        select KERNEL_DEBUG_FS
        default n
@@ -127,6 +149,23 @@ config KERNEL_EARLY_PRINTK
          debugging purposes to send messages over the serial console in early boot.
          Enable this to debug early boot problems.
 
          debugging purposes to send messages over the serial console in early boot.
          Enable this to debug early boot problems.
 
+config KERNEL_KPROBES
+       bool "Compile the kernel with kprobes support"
+       default n
+       select KERNEL_FTRACE
+       select KERNEL_PERF_EVENTS
+       help
+         Compiles the kernel with KPROBES support, which allows you to trap
+         at almost any kernel address and execute a callback function.
+         register_kprobe() establishes a probepoint and specifies the
+         callback. Kprobes is useful for kernel debugging, non-intrusive
+         instrumentation and testing.
+         If in doubt, say "N".
+
+config KERNEL_KPROBE_EVENT
+       bool
+       default y if KERNEL_KPROBES
+
 config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default n
 config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default n
@@ -151,6 +190,14 @@ config KERNEL_MAGIC_SYSRQ
        bool "Compile the kernel with SysRq support"
        default y
 
        bool "Compile the kernel with SysRq support"
        default y
 
+config KERNEL_DEBUG_PINCTRL
+       bool "Compile the kernel with pinctrl debugging"
+       select KERNEL_DEBUG_KERNEL
+
+config KERNEL_DEBUG_GPIO
+       bool "Compile the kernel with gpio debugging"
+       select KERNEL_DEBUG_KERNEL
+
 config KERNEL_COREDUMP
        bool
 
 config KERNEL_COREDUMP
        bool
 
@@ -212,6 +259,25 @@ if KERNEL_DEVTMPFS
 
 endif
 
 
 endif
 
+config KERNEL_KEYS
+    bool "Enable kernel access key retention support"
+    default n
+
+config KERNEL_PERSISTENT_KEYRINGS
+    bool "Enable kernel persistent keyrings"
+    depends on KERNEL_KEYS
+    default n
+
+config KERNEL_BIG_KEYS
+    bool "Enable large payload keys on kernel keyrings"
+    depends on KERNEL_KEYS
+    default n
+
+config KERNEL_ENCRYPTED_KEYS
+    tristate "Enable keys with encrypted payloads on kernel keyrings"
+    depends on KERNEL_KEYS
+    default n
+
 #
 # CGROUP support symbols
 #
 #
 # CGROUP support symbols
 #
@@ -248,6 +314,13 @@ if KERNEL_CGROUPS
                  Provides a cgroup implementing whitelists for devices which
                  a process in the cgroup can mknod or open.
 
                  Provides a cgroup implementing whitelists for devices which
                  a process in the cgroup can mknod or open.
 
+       config KERNEL_CGROUP_PIDS
+               bool "PIDs cgroup subsystem"
+               default y
+               help
+                 Provides enforcement of process number limits in the scope of a
+                 cgroup.
+
        config KERNEL_CPUSETS
                bool "Cpuset support"
                default n
        config KERNEL_CPUSETS
                bool "Cpuset support"
                default n
@@ -283,7 +356,7 @@ if KERNEL_CGROUPS
        config KERNEL_MEMCG
                bool "Memory Resource Controller for Control Groups"
                default n
        config KERNEL_MEMCG
                bool "Memory Resource Controller for Control Groups"
                default n
-               depends on KERNEL_RESOURCE_COUNTERS
+               depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18
                help
                  Provides a memory resource controller that manages both anonymous
                  memory and page cache. (See Documentation/cgroups/memory.txt)
                help
                  Provides a memory resource controller that manages both anonymous
                  memory and page cache. (See Documentation/cgroups/memory.txt)
@@ -527,3 +600,162 @@ config KERNEL_SECCOMP
                default n
                help
                  Build kernel with support for seccomp.
                default n
                help
                  Build kernel with support for seccomp.
+
+#
+# IPv6 configuration
+#
+
+config KERNEL_IPV6
+       def_bool IPV6
+
+if KERNEL_IPV6
+
+       config KERNEL_IPV6_MULTIPLE_TABLES
+               def_bool y
+
+       config KERNEL_IPV6_SUBTREES
+               def_bool y
+
+       config KERNEL_IPV6_MROUTE
+               def_bool y
+
+       config KERNEL_IPV6_PIMSM_V2
+               def_bool n
+
+endif
+
+#
+# NFS related symbols
+#
+config KERNEL_IP_PNP
+       bool "Compile the kernel with rootfs on NFS"
+       help
+          If you want to make your kernel boot off a NFS server as root
+          filesystem, select Y here.
+
+if KERNEL_IP_PNP
+
+       config KERNEL_IP_PNP_DHCP
+               def_bool y
+
+       config KERNEL_IP_PNP_BOOTP
+               def_bool n
+
+       config KERNEL_IP_PNP_RARP
+               def_bool n
+
+       config KERNEL_NFS_FS
+               def_bool y
+
+       config KERNEL_NFS_V2
+               def_bool y
+
+       config KERNEL_NFS_V3
+               def_bool y
+
+       config KERNEL_ROOT_NFS
+               def_bool y
+
+endif
+
+menu "Filesystem ACL and attr support options"
+       config USE_FS_ACL_ATTR
+               bool "Use filesystem ACL and attr support by default"
+               default n
+               help
+                 Make using ACLs (e.g. POSIX ACL, NFSv4 ACL) the default
+                 for kernel and packages, except tmpfs, flash filesystems,
+                 and old NFS.  Also enable userspace extended attribute support
+                 by default.  (OpenWrt already has an expection it will be
+                 present in the kernel).
+
+       config KERNEL_FS_POSIX_ACL
+               bool "Enable POSIX ACL support"
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_BTRFS_FS_POSIX_ACL
+               bool "Enable POSIX ACL for BtrFS Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_EXT4_FS_POSIX_ACL
+               bool "Enable POSIX ACL for Ext4 Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_F2FS_FS_POSIX_ACL
+               bool "Enable POSIX ACL for F2FS Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default n
+
+       config KERNEL_JFFS2_FS_POSIX_ACL
+               bool "Enable POSIX ACL for JFFS2 Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default n
+
+       config KERNEL_TMPFS_POSIX_ACL
+               bool "Enable POSIX ACL for TMPFS Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default n
+
+       config KERNEL_CIFS_ACL
+               bool "Enable CIFS ACLs"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_HFS_FS_POSIX_ACL
+               bool "Enable POSIX ACL for HFS Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_HFSPLUG_FS_POSIX_ACL
+               bool "Enable POSIX ACL for HFS+ Filesystems"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_NFS_ACL_SUPPORT
+               bool "Enable ACLs for NFS"
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_NFS_V3_ACL_SUPPORT
+               bool "Enable ACLs for NFSv3"
+               default n
+
+       config KERNEL_NFSD_V2_ACL_SUPPORT
+               bool "Enable ACLs for NFSDv2"
+               default n
+
+       config KERNEL_NFSD_V3_ACL_SUPPORT
+               bool "Enable ACLs for NFSDv3"
+               default n
+
+       config KERNEL_REISER_FS_POSIX_ACL
+               bool "Enable POSIX ACLs for ReiserFS"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_XFS_POSIX_ACL
+               bool "Enable POSIX ACLs for XFS"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+       config KERNEL_JFS_POSIX_ACL
+               bool "Enable POSIX ACLs for JFS"
+               select KERNEL_FS_POSIX_ACL
+               default y if USE_FS_ACL_ATTR
+
+endmenu
+
+config KERNEL_DEVMEM
+       bool "/dev/mem virtual device support"
+       help
+         Say Y here if you want to support the /dev/mem device.
+         The /dev/mem device is used to access areas of physical
+         memory.
+
+config KERNEL_DEVKMEM
+       bool "/dev/kmem virtual device support"
+       help
+         Say Y here if you want to support the /dev/kmem device. The
+         /dev/kmem device is rarely used, but can be used for certain
+         kind of kernel debugging operations.