863 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			863 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# Copyright (C) 2006-2012 OpenWrt.org
 | 
						|
#
 | 
						|
# This is free software, licensed under the GNU General Public License v2.
 | 
						|
# See /LICENSE for more information.
 | 
						|
#
 | 
						|
 | 
						|
mainmenu "OpenWrt Configuration"
 | 
						|
 | 
						|
config MODULES
 | 
						|
	bool
 | 
						|
	default y
 | 
						|
 | 
						|
config HAVE_DOT_CONFIG
 | 
						|
	bool
 | 
						|
	default y
 | 
						|
 | 
						|
source "target/Config.in"
 | 
						|
 | 
						|
menu "Target Images"
 | 
						|
 | 
						|
	menuconfig TARGET_ROOTFS_INITRAMFS
 | 
						|
		bool "ramdisk"
 | 
						|
		default y if USES_INITRAMFS
 | 
						|
		help
 | 
						|
		  Embed the rootfs into the kernel (initramfs)
 | 
						|
 | 
						|
		choice
 | 
						|
			prompt "Compression"
 | 
						|
			default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
 | 
						|
			default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
 | 
						|
			default TARGET_INITRAMFS_COMPRESSION_NONE
 | 
						|
			depends on TARGET_ROOTFS_INITRAMFS
 | 
						|
			help
 | 
						|
			  Select ramdisk compression.
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_NONE
 | 
						|
				bool "none"
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_GZIP
 | 
						|
				bool "gzip"
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_BZIP2
 | 
						|
				bool "bzip2"
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_LZMA
 | 
						|
				bool "lzma"
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_LZO
 | 
						|
				bool "lzo"
 | 
						|
 | 
						|
			config TARGET_INITRAMFS_COMPRESSION_XZ
 | 
						|
				bool "xz"
 | 
						|
		endchoice
 | 
						|
 | 
						|
		config EXTERNAL_CPIO
 | 
						|
			string
 | 
						|
			prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
 | 
						|
			default ""
 | 
						|
			help
 | 
						|
			  Kernel uses specified external cpio as INITRAMFS_SOURCE
 | 
						|
 | 
						|
	comment "Root filesystem archives"
 | 
						|
 | 
						|
	config TARGET_ROOTFS_CPIOGZ
 | 
						|
		bool "cpio.gz"
 | 
						|
		default y if USES_CPIOGZ
 | 
						|
		help
 | 
						|
		  Build a compressed cpio archive of the the root filesystem
 | 
						|
 | 
						|
	config TARGET_ROOTFS_TARGZ
 | 
						|
		bool "tar.gz"
 | 
						|
		default y if USES_TARGZ
 | 
						|
		help
 | 
						|
		  Build a compressed tar archive of the the root filesystem
 | 
						|
 | 
						|
	comment "Root filesystem images"
 | 
						|
 | 
						|
	config TARGET_ROOTFS_EXT4FS
 | 
						|
		bool "ext4"
 | 
						|
		default y if USES_EXT4
 | 
						|
		depends on !TARGET_ROOTFS_INITRAMFS
 | 
						|
		help
 | 
						|
		  Ext4 file system with some free space for uml images
 | 
						|
 | 
						|
	config TARGET_ROOTFS_ISO
 | 
						|
		bool "iso"
 | 
						|
		default n
 | 
						|
		depends on TARGET_x86_generic
 | 
						|
		depends on !TARGET_ROOTFS_INITRAMFS
 | 
						|
		help
 | 
						|
		  Create some bootable ISO image
 | 
						|
 | 
						|
	config TARGET_ROOTFS_JFFS2
 | 
						|
		bool "jffs2"
 | 
						|
		default y if USES_JFFS2
 | 
						|
		depends on !TARGET_ROOTFS_INITRAMFS
 | 
						|
		help
 | 
						|
		  Build a jffs2 root filesystem
 | 
						|
 | 
						|
	config TARGET_ROOTFS_SQUASHFS
 | 
						|
		bool "squashfs"
 | 
						|
		default y if USES_SQUASHFS
 | 
						|
		depends on !TARGET_ROOTFS_INITRAMFS
 | 
						|
		help
 | 
						|
		  Build a squashfs-lzma root filesystem
 | 
						|
 | 
						|
	config TARGET_ROOTFS_UBIFS
 | 
						|
		bool "ubifs"
 | 
						|
		default y if USES_UBIFS
 | 
						|
		depends on !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
 | 
						|
		help
 | 
						|
		  Build a ubifs root filesystem
 | 
						|
 | 
						|
	comment "Image Options"
 | 
						|
 | 
						|
	source "target/linux/*/image/Config.in"
 | 
						|
 | 
						|
	config TARGET_ROOTFS_PARTSIZE
 | 
						|
		int "Root filesystem partition size (in MB)"
 | 
						|
		depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
 | 
						|
		default 48
 | 
						|
		help
 | 
						|
		  Allows you to change the root filesystem partition size
 | 
						|
 | 
						|
	config TARGET_ROOTFS_MAXINODE
 | 
						|
		int "Maximum number of inodes in root filesystem"
 | 
						|
		depends on TARGET_ROOTFS_EXT4FS
 | 
						|
		default 6000
 | 
						|
		help
 | 
						|
		  Allows you to change the maximum number of inodes in the root filesystem
 | 
						|
 | 
						|
	config TARGET_ROOTFS_RESERVED_PCT
 | 
						|
		int "Percentage of reserved blocks in root filesystem"
 | 
						|
		depends on TARGET_ROOTFS_EXT4FS
 | 
						|
		default 0
 | 
						|
		help
 | 
						|
		  Allows you to change the percentage of reserved blocks in the root filesystem
 | 
						|
 | 
						|
endmenu
 | 
						|
 | 
						|
menu "Global build settings"
 | 
						|
 | 
						|
	config ALL
 | 
						|
		bool "Select all packages by default"
 | 
						|
		default n
 | 
						|
 | 
						|
	comment "General build options"
 | 
						|
 | 
						|
	config DISPLAY_SUPPORT
 | 
						|
		bool "Show packages that require graphics support (local or remote)"
 | 
						|
		default n
 | 
						|
 | 
						|
	config BUILD_PATENTED
 | 
						|
		default y
 | 
						|
		bool "Compile with support for patented functionality"
 | 
						|
		help
 | 
						|
		  When this option is disabled, software which provides patented functionality will not be built.
 | 
						|
		  In case software provides optional support for patented functionality,
 | 
						|
		  this optional support will get disabled for this package.
 | 
						|
 | 
						|
	config BUILD_NLS
 | 
						|
		default n
 | 
						|
		bool "Compile with full language support"
 | 
						|
		help
 | 
						|
		  When this option is enabled, packages are built with the full versions of iconv and GNU gettext
 | 
						|
		  instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
 | 
						|
 | 
						|
	config BUILD_STATIC_TOOLS
 | 
						|
		default n
 | 
						|
		bool "Attempt to link host utilities statically"
 | 
						|
		help
 | 
						|
		  Linking host utilities like sed or firmware-utils statically increases the portability of the
 | 
						|
		  generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
 | 
						|
 | 
						|
	config SHADOW_PASSWORDS
 | 
						|
		bool
 | 
						|
		prompt "Enable shadow password support"
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  Enable shadow password support.
 | 
						|
 | 
						|
	config CLEAN_IPKG
 | 
						|
		bool
 | 
						|
		prompt "Remove ipkg/opkg status data files in final images"
 | 
						|
		default n
 | 
						|
		help
 | 
						|
		  This removes all ipkg/opkg status data files from the target directory before building the root fs
 | 
						|
 | 
						|
	config COLLECT_KERNEL_DEBUG
 | 
						|
		bool
 | 
						|
		prompt "Collect kernel debug information"
 | 
						|
		select KERNEL_DEBUG_INFO
 | 
						|
		default n
 | 
						|
		help
 | 
						|
		  This collects debugging symbols from the kernel and all compiled modules.
 | 
						|
		  Useful for release builds, so that kernel issues can be debugged offline later.
 | 
						|
 | 
						|
	comment "Kernel build options"
 | 
						|
 | 
						|
	config KERNEL_DEBUG_FS
 | 
						|
		bool "Compile the kernel with Debug FileSystem enabled"
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  debugfs is a virtual file system that kernel developers use to put
 | 
						|
		  debugging files into. Enable this option to be able to read and
 | 
						|
		  write to these files.
 | 
						|
 | 
						|
	config KERNEL_PERF_EVENTS
 | 
						|
		bool
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_PROFILING
 | 
						|
		bool "Compile the kernel with profiling enabled"
 | 
						|
		default n
 | 
						|
		select KERNEL_PERF_EVENTS
 | 
						|
		help
 | 
						|
		  Enable the extended profiling support mechanisms used by profilers such
 | 
						|
		  as OProfile.
 | 
						|
 | 
						|
	config KERNEL_KALLSYMS
 | 
						|
		bool "Compile the kernel with symbol table information"
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  This will give you more information in stack traces from kernel oopses
 | 
						|
 | 
						|
	config KERNEL_FTRACE
 | 
						|
		bool "Compile the kernel with tracing support"
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_ENABLE_DEFAULT_TRACERS
 | 
						|
		bool "Trace process context switches and events"
 | 
						|
		depends on KERNEL_FTRACE
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_DEBUG_KERNEL
 | 
						|
		bool
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_DEBUG_INFO
 | 
						|
		bool "Compile the kernel with debug information"
 | 
						|
		default y
 | 
						|
		select KERNEL_DEBUG_KERNEL
 | 
						|
		help
 | 
						|
		  This will compile your kernel and modules with debug information.
 | 
						|
 | 
						|
	config KERNEL_DEBUG_LL_UART_NONE
 | 
						|
		bool
 | 
						|
		default n
 | 
						|
		depends on arm
 | 
						|
 | 
						|
	config KERNEL_DEBUG_LL
 | 
						|
		bool
 | 
						|
		default n
 | 
						|
		depends on arm
 | 
						|
		select KERNEL_DEBUG_LL_UART_NONE
 | 
						|
		help
 | 
						|
		  ARM low level debugging
 | 
						|
 | 
						|
	config KERNEL_EARLY_PRINTK
 | 
						|
		bool "Compile the kernel with early printk"
 | 
						|
		default n
 | 
						|
		depends on arm
 | 
						|
		select KERNEL_DEBUG_KERNEL
 | 
						|
		select KERNEL_DEBUG_LL if arm
 | 
						|
		help
 | 
						|
		  Compile the kernel with early printk support.
 | 
						|
		  This is only useful for debugging purposes to send messages
 | 
						|
		  over the serial console in early boot.
 | 
						|
		  Enable this to debug early boot problems.
 | 
						|
 | 
						|
	config KERNEL_AIO
 | 
						|
		bool "Compile the kernel with asynchronous IO support"
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_DIRECT_IO
 | 
						|
		bool "Compile the kernel with direct IO support"
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_MAGIC_SYSRQ
 | 
						|
		bool "Compile the kernel with SysRq support"
 | 
						|
		default y
 | 
						|
 | 
						|
	config KERNEL_COREDUMP
 | 
						|
		bool
 | 
						|
 | 
						|
	config KERNEL_ELF_CORE
 | 
						|
		bool "Enable process core dump support"
 | 
						|
		select KERNEL_COREDUMP
 | 
						|
		default y
 | 
						|
 | 
						|
	config KERNEL_PROVE_LOCKING
 | 
						|
		bool "Enable kernel lock checking"
 | 
						|
		select KERNEL_DEBUG_KERNEL
 | 
						|
		default n
 | 
						|
 | 
						|
	config KERNEL_PRINTK_TIME
 | 
						|
		bool "Enable printk timestamps"
 | 
						|
		default y
 | 
						|
 | 
						|
	config KERNEL_RELAY
 | 
						|
		bool
 | 
						|
 | 
						|
	#
 | 
						|
	# CGROUP support symbols
 | 
						|
	#
 | 
						|
 | 
						|
	config KERNEL_CGROUPS
 | 
						|
		bool "Enable kernel cgroups"
 | 
						|
		default n
 | 
						|
 | 
						|
	if KERNEL_CGROUPS
 | 
						|
 | 
						|
		config KERNEL_CGROUP_DEBUG
 | 
						|
			bool "Example debug cgroup subsystem"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  This option enables a simple cgroup subsystem that
 | 
						|
			  exports useful debugging information about the cgroups
 | 
						|
			  framework.
 | 
						|
 | 
						|
		config KERNEL_FREEZER
 | 
						|
			bool
 | 
						|
			default y if KERNEL_CGROUP_FREEZER
 | 
						|
 | 
						|
		config KERNEL_CGROUP_FREEZER
 | 
						|
			bool "Freezer cgroup subsystem"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  Provides a way to freeze and unfreeze all tasks in a
 | 
						|
			  cgroup.
 | 
						|
 | 
						|
		config KERNEL_CGROUP_DEVICE
 | 
						|
			bool "Device controller for cgroups"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  Provides a cgroup implementing whitelists for devices which
 | 
						|
			  a process in the cgroup can mknod or open.
 | 
						|
 | 
						|
		config KERNEL_CPUSETS
 | 
						|
			bool "Cpuset support"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  This option will let you create and manage CPUSETs which
 | 
						|
			  allow dynamically partitioning a system into sets of CPUs and
 | 
						|
			  Memory Nodes and assigning tasks to run only within those sets.
 | 
						|
			  This is primarily useful on large SMP or NUMA systems.
 | 
						|
 | 
						|
		config KERNEL_PROC_PID_CPUSET
 | 
						|
			bool "Include legacy /proc/<pid>/cpuset file"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_CPUSETS
 | 
						|
 | 
						|
		config KERNEL_CGROUP_CPUACCT
 | 
						|
			bool "Simple CPU accounting cgroup subsystem"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  Provides a simple Resource Controller for monitoring the
 | 
						|
			  total CPU consumed by the tasks in a cgroup.
 | 
						|
 | 
						|
		config KERNEL_RESOURCE_COUNTERS
 | 
						|
			bool "Resource counters"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  This option enables controller independent resource accounting
 | 
						|
			  infrastructure that works with cgroups.
 | 
						|
 | 
						|
		config KERNEL_MM_OWNER
 | 
						|
			bool
 | 
						|
			default y if KERNEL_MEMCG
 | 
						|
 | 
						|
		config KERNEL_MEMCG
 | 
						|
			bool "Memory Resource Controller for Control Groups"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_RESOURCE_COUNTERS
 | 
						|
			help
 | 
						|
			  Provides a memory resource controller that manages both anonymous
 | 
						|
			  memory and page cache. (See Documentation/cgroups/memory.txt)
 | 
						|
 | 
						|
			  Note that setting this option increases fixed memory overhead
 | 
						|
			  associated with each page of memory in the system. By this,
 | 
						|
			  20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
 | 
						|
			  usage tracking struct at boot. Total amount of this is printed out
 | 
						|
			  at boot.
 | 
						|
 | 
						|
			  Only enable when you're ok with these trade offs and really
 | 
						|
			  sure you need the memory resource controller. Even when you enable
 | 
						|
			  this, you can set "cgroup_disable=memory" at your boot option to
 | 
						|
			  disable memory resource controller and you can avoid overheads.
 | 
						|
			  (and lose benefits of memory resource controller)
 | 
						|
 | 
						|
			  This config option also selects MM_OWNER config option, which
 | 
						|
			  could in turn add some fork/exit overhead.
 | 
						|
 | 
						|
		config KERNEL_MEMCG_SWAP
 | 
						|
			bool "Memory Resource Controller Swap Extension"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_MEMCG
 | 
						|
			help
 | 
						|
			  Add swap management feature to memory resource controller. When you
 | 
						|
			  enable this, you can limit mem+swap usage per cgroup. In other words,
 | 
						|
			  when you disable this, memory resource controller has no cares to
 | 
						|
			  usage of swap...a process can exhaust all of the swap. This extension
 | 
						|
			  is useful when you want to avoid exhaustion swap but this itself
 | 
						|
			  adds more overheads and consumes memory for remembering information.
 | 
						|
			  Especially if you use 32bit system or small memory system, please
 | 
						|
			  be careful about enabling this. When memory resource controller
 | 
						|
			  is disabled by boot option, this will be automatically disabled and
 | 
						|
			  there will be no overhead from this. Even when you set this config=y,
 | 
						|
			  if boot option "swapaccount=0" is set, swap will not be accounted.
 | 
						|
			  Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
 | 
						|
			  size is 4096bytes, 512k per 1Gbytes of swap.
 | 
						|
 | 
						|
		config KERNEL_MEMCG_SWAP_ENABLED
 | 
						|
			bool "Memory Resource Controller Swap Extension enabled by default"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_MEMCG_SWAP
 | 
						|
			help
 | 
						|
			  Memory Resource Controller Swap Extension comes with its price in
 | 
						|
			  a bigger memory consumption. General purpose distribution kernels
 | 
						|
			  which want to enable the feature but keep it disabled by default
 | 
						|
			  and let the user enable it by swapaccount boot command line
 | 
						|
			  parameter should have this option unselected.
 | 
						|
			  For those who want to have the feature enabled by default should
 | 
						|
			  select this option (if, for some reason, they need to disable it
 | 
						|
			  then swapaccount=0 does the trick).
 | 
						|
 | 
						|
 | 
						|
		config KERNEL_MEMCG_KMEM
 | 
						|
			bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_MEMCG
 | 
						|
			help
 | 
						|
			  The Kernel Memory extension for Memory Resource Controller can limit
 | 
						|
			  the amount of memory used by kernel objects in the system. Those are
 | 
						|
			  fundamentally different from the entities handled by the standard
 | 
						|
			  Memory Controller, which are page-based, and can be swapped. Users of
 | 
						|
			  the kmem extension can use it to guarantee that no group of processes
 | 
						|
			  will ever exhaust kernel resources alone.
 | 
						|
 | 
						|
		config KERNEL_PERF_EVENTS
 | 
						|
			bool
 | 
						|
			default y if KERNEL_CGROUP_PERF
 | 
						|
 | 
						|
		config KERNEL_CGROUP_PERF
 | 
						|
			bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  This option extends the per-cpu mode to restrict monitoring to
 | 
						|
			  threads which belong to the cgroup specified and run on the
 | 
						|
			  designated cpu.
 | 
						|
 | 
						|
		menuconfig KERNEL_CGROUP_SCHED
 | 
						|
			bool "Group CPU scheduler"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  This feature lets CPU scheduler recognize task groups and control CPU
 | 
						|
			  bandwidth allocation to such task groups. It uses cgroups to group
 | 
						|
			  tasks.
 | 
						|
 | 
						|
		if KERNEL_CGROUP_SCHED
 | 
						|
 | 
						|
			config KERNEL_FAIR_GROUP_SCHED
 | 
						|
				bool "Group scheduling for SCHED_OTHER"
 | 
						|
				default n
 | 
						|
 | 
						|
			config KERNEL_CFS_BANDWIDTH
 | 
						|
				bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
 | 
						|
				default n
 | 
						|
				depends on KERNEL_FAIR_GROUP_SCHED
 | 
						|
				help
 | 
						|
				  This option allows users to define CPU bandwidth rates (limits) for
 | 
						|
				  tasks running within the fair group scheduler.  Groups with no limit
 | 
						|
				  set are considered to be unconstrained and will run with no
 | 
						|
				  restriction.
 | 
						|
				  See tip/Documentation/scheduler/sched-bwc.txt for more information.
 | 
						|
 | 
						|
			config KERNEL_RT_GROUP_SCHED
 | 
						|
				bool "Group scheduling for SCHED_RR/FIFO"
 | 
						|
				default n
 | 
						|
				help
 | 
						|
				  This feature lets you explicitly allocate real CPU bandwidth
 | 
						|
				  to task groups. If enabled, it will also make it impossible to
 | 
						|
				  schedule realtime tasks for non-root users until you allocate
 | 
						|
				  realtime bandwidth for them.
 | 
						|
 | 
						|
		endif
 | 
						|
 | 
						|
		config KERNEL_BLK_CGROUP
 | 
						|
			bool "Block IO controller"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  Generic block IO controller cgroup interface. This is the common
 | 
						|
			  cgroup interface which should be used by various IO controlling
 | 
						|
			  policies.
 | 
						|
 | 
						|
			  Currently, CFQ IO scheduler uses it to recognize task groups and
 | 
						|
			  control disk bandwidth allocation (proportional time slice allocation)
 | 
						|
			  to such task groups. It is also used by bio throttling logic in
 | 
						|
			  block layer to implement upper limit in IO rates on a device.
 | 
						|
 | 
						|
			  This option only enables generic Block IO controller infrastructure.
 | 
						|
			  One needs to also enable actual IO controlling logic/policy. For
 | 
						|
			  enabling proportional weight division of disk bandwidth in CFQ, set
 | 
						|
			  CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
 | 
						|
			  CONFIG_BLK_DEV_THROTTLING=y.
 | 
						|
 | 
						|
		config KERNEL_DEBUG_BLK_CGROUP
 | 
						|
			bool "Enable Block IO controller debugging"
 | 
						|
			default n
 | 
						|
			depends on KERNEL_BLK_CGROUP
 | 
						|
			help
 | 
						|
			  Enable some debugging help. Currently it exports additional stat
 | 
						|
			  files in a cgroup which can be useful for debugging.
 | 
						|
 | 
						|
		config KERNEL_NET_CLS_CGROUP
 | 
						|
			bool "Control Group Classifier"
 | 
						|
			default y
 | 
						|
 | 
						|
		config KERNEL_NETPRIO_CGROUP
 | 
						|
			bool "Network priority cgroup"
 | 
						|
			default y
 | 
						|
 | 
						|
	endif
 | 
						|
 | 
						|
	#
 | 
						|
	# Namespace support symbols
 | 
						|
	#
 | 
						|
 | 
						|
	config KERNEL_NAMESPACES
 | 
						|
		bool "Enable kernel namespaces"
 | 
						|
		default n
 | 
						|
 | 
						|
	if KERNEL_NAMESPACES
 | 
						|
 | 
						|
		config KERNEL_UTS_NS
 | 
						|
			bool "UTS namespace"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  In this namespace tasks see different info provided
 | 
						|
			  with the uname() system call
 | 
						|
 | 
						|
		config KERNEL_IPC_NS
 | 
						|
			bool "IPC namespace"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  In this namespace tasks work with IPC ids which correspond to
 | 
						|
			  different IPC objects in different namespaces.
 | 
						|
 | 
						|
		config KERNEL_USER_NS
 | 
						|
			bool "User namespace (EXPERIMENTAL)"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  This allows containers, i.e. vservers, to use user namespaces
 | 
						|
			  to provide different user info for different servers.
 | 
						|
 | 
						|
		config KERNEL_PID_NS
 | 
						|
			bool "PID Namespaces"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  Support process id namespaces. This allows having multiple
 | 
						|
			  processes with the same pid as long as they are in different
 | 
						|
			  pid namespaces. This is a building block of containers.
 | 
						|
 | 
						|
		config KERNEL_NET_NS
 | 
						|
			bool "Network namespace"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  Allow user space to create what appear to be multiple instances
 | 
						|
			  of the network stack.
 | 
						|
 | 
						|
	endif
 | 
						|
 | 
						|
	#
 | 
						|
	# LXC related symbols
 | 
						|
	#
 | 
						|
 | 
						|
	config KERNEL_LXC_MISC
 | 
						|
		bool "Enable miscellaneous LXC related options"
 | 
						|
		default n
 | 
						|
 | 
						|
	if KERNEL_LXC_MISC
 | 
						|
 | 
						|
		config KERNEL_DEVPTS_MULTIPLE_INSTANCES
 | 
						|
			bool "Support multiple instances of devpts"
 | 
						|
			default y
 | 
						|
			help
 | 
						|
			  Enable support for multiple instances of devpts filesystem.
 | 
						|
			  If you want to have isolated PTY namespaces (eg: in containers),
 | 
						|
			  say Y here. Otherwise, say N. If enabled, each mount of devpts
 | 
						|
			  filesystem with the '-o newinstance' option will create an
 | 
						|
			  independent PTY namespace.
 | 
						|
 | 
						|
		config KERNEL_POSIX_MQUEUE
 | 
						|
			bool "POSIX Message Queues"
 | 
						|
			default n
 | 
						|
			help
 | 
						|
			  POSIX variant of message queues is a part of IPC. In POSIX message
 | 
						|
			  queues every message has a priority which decides about succession
 | 
						|
			  of receiving it by a process. If you want to compile and run
 | 
						|
			  programs written e.g. for Solaris with use of its POSIX message
 | 
						|
			  queues (functions mq_*) say Y here.
 | 
						|
 | 
						|
			  POSIX message queues are visible as a filesystem called 'mqueue'
 | 
						|
			  and can be mounted somewhere if you want to do filesystem
 | 
						|
			  operations on message queues.
 | 
						|
 | 
						|
	endif
 | 
						|
 | 
						|
	comment "Package build options"
 | 
						|
 | 
						|
	config DEBUG
 | 
						|
		bool
 | 
						|
		prompt "Compile packages with debugging info"
 | 
						|
		default n
 | 
						|
		help
 | 
						|
		  Adds -g3 to the CFLAGS
 | 
						|
 | 
						|
	config IPV6
 | 
						|
		bool
 | 
						|
		prompt "Enable IPv6 support in packages"
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
 | 
						|
 | 
						|
	config PKG_BUILD_PARALLEL
 | 
						|
		bool
 | 
						|
		prompt "Compile certain packages parallelized"
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  This adds a -jX option to certain packages that are known to
 | 
						|
		  behave well for parallel build. By default the package make processes
 | 
						|
		  use the main jobserver, in which case this option only takes effect
 | 
						|
		  when you add -jX to the make command.
 | 
						|
 | 
						|
		  If you are unsure, select N.
 | 
						|
 | 
						|
	config PKG_BUILD_USE_JOBSERVER
 | 
						|
		bool
 | 
						|
		prompt "Use top-level make jobserver for packages"
 | 
						|
		depends on PKG_BUILD_PARALLEL
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  This passes the main make process jobserver fds to package builds,
 | 
						|
		  enabling full parallelization across different packages
 | 
						|
 | 
						|
		  Note that disabling this may overcommit CPU resources depending on the
 | 
						|
		  -j level of the main make process, the number of package
 | 
						|
		  submake jobs selected below and the number of actual CPUs present.
 | 
						|
		  Example: If the main make is passed a -j4 and the submake -j
 | 
						|
		  is also set to 4, we may end up with 16 parallel make processes
 | 
						|
		  in the worst case.
 | 
						|
 | 
						|
 | 
						|
	config PKG_BUILD_JOBS
 | 
						|
		int
 | 
						|
		prompt "Number of package submake jobs (2-512)"
 | 
						|
		range 2 512
 | 
						|
		default 2
 | 
						|
		depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
 | 
						|
		help
 | 
						|
		  The number of jobs (-jX) to pass to packages submake.
 | 
						|
 | 
						|
	config PKG_DEFAULT_PARALLEL
 | 
						|
		bool
 | 
						|
		prompt "Parallelize the default package build rule (May break build)"
 | 
						|
		depends on PKG_BUILD_PARALLEL
 | 
						|
		depends on BROKEN
 | 
						|
		default n
 | 
						|
		help
 | 
						|
		  Always set the default package build rules to parallel build.
 | 
						|
 | 
						|
		  WARNING: This may break build or kill your cat, as it builds
 | 
						|
		  packages with multiple jobs that are probably not tested in
 | 
						|
		  a parallel build environment.
 | 
						|
 | 
						|
		  Only say Y, if you don't mind fixing broken packages.
 | 
						|
		  Before reporting build bugs, set this to N and re-run the build.
 | 
						|
 | 
						|
	comment "Stripping options"
 | 
						|
 | 
						|
	choice
 | 
						|
		prompt "Binary stripping method"
 | 
						|
		default USE_STRIP   if EXTERNAL_TOOLCHAIN
 | 
						|
		default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
 | 
						|
		default USE_SSTRIP
 | 
						|
		help
 | 
						|
		  Select the binary stripping method you wish to use.
 | 
						|
 | 
						|
		config NO_STRIP
 | 
						|
			bool "none"
 | 
						|
			help
 | 
						|
			  This will install unstripped binaries (useful for native compiling/debugging)
 | 
						|
 | 
						|
		config USE_STRIP
 | 
						|
			bool "strip"
 | 
						|
			help
 | 
						|
			  This will install binaries stripped using strip from binutils
 | 
						|
 | 
						|
 | 
						|
		config USE_SSTRIP
 | 
						|
			bool "sstrip"
 | 
						|
			depends on !DEBUG
 | 
						|
			depends on !USE_GLIBC
 | 
						|
			depends on !USE_EGLIBC
 | 
						|
			help
 | 
						|
			  This will install binaries stripped using sstrip
 | 
						|
	endchoice
 | 
						|
 | 
						|
	config STRIP_ARGS
 | 
						|
		string
 | 
						|
		prompt "Strip arguments"
 | 
						|
		depends on USE_STRIP
 | 
						|
		default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
 | 
						|
		default "--strip-all"
 | 
						|
		help
 | 
						|
		  Specifies arguments passed to the strip command when stripping binaries
 | 
						|
 | 
						|
	config STRIP_KERNEL_EXPORTS
 | 
						|
		bool "Strip unnecessary exports from the kernel image"
 | 
						|
		help
 | 
						|
		  Reduces kernel size by stripping unused kernel exports from the kernel image
 | 
						|
		  Note that this might make the kernel incompatible with any kernel modules that
 | 
						|
		  were not selected at the time the kernel image was created
 | 
						|
 | 
						|
	config USE_MKLIBS
 | 
						|
		bool "Strip unnecessary functions from libraries"
 | 
						|
		help
 | 
						|
		  Reduces libraries to only those functions that are necessary for using all
 | 
						|
		  selected packages (including those selected as <M>)
 | 
						|
		  Note that this will make the system libraries incompatible with most of the packages
 | 
						|
		  that are not selected during the build process
 | 
						|
 | 
						|
	choice
 | 
						|
		prompt "Preferred standard C++ library"
 | 
						|
		default USE_LIBSTDCXX if USE_EGLIBC
 | 
						|
		default USE_UCLIBCXX
 | 
						|
		help
 | 
						|
		  Select the preferred standard C++ library for all packages that support this.
 | 
						|
 | 
						|
		config USE_UCLIBCXX
 | 
						|
			bool "uClibc++"
 | 
						|
 | 
						|
		config USE_LIBSTDCXX
 | 
						|
			bool "libstdc++"
 | 
						|
	endchoice
 | 
						|
 | 
						|
endmenu
 | 
						|
 | 
						|
menuconfig DEVEL
 | 
						|
	bool "Advanced configuration options (for developers)"
 | 
						|
	default n
 | 
						|
 | 
						|
	config BROKEN
 | 
						|
		bool "Show broken platforms / packages" if DEVEL
 | 
						|
		default n
 | 
						|
 | 
						|
	config DOWNLOAD_FOLDER
 | 
						|
		string "Download folder" if DEVEL
 | 
						|
		default ""
 | 
						|
 | 
						|
	config LOCALMIRROR
 | 
						|
		string "Local mirror for source packages" if DEVEL
 | 
						|
		default ""
 | 
						|
 | 
						|
	config AUTOREBUILD
 | 
						|
		bool "Automatic rebuild of packages" if DEVEL
 | 
						|
		default y
 | 
						|
		help
 | 
						|
		  Automatically rebuild packages when their files change
 | 
						|
 | 
						|
	config BUILD_SUFFIX
 | 
						|
		string "Build suffix to append to the BUILD_DIR variable" if DEVEL
 | 
						|
		default ""
 | 
						|
		help
 | 
						|
		  Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
 | 
						|
 | 
						|
	config TARGET_ROOTFS_DIR
 | 
						|
		string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
 | 
						|
		default ""
 | 
						|
		help
 | 
						|
		  Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
 | 
						|
		  Use this option to re-define the location of the target root file system directory.
 | 
						|
 | 
						|
	config CCACHE
 | 
						|
		bool "Use ccache" if DEVEL
 | 
						|
		default n
 | 
						|
		help
 | 
						|
		  Compiler cache; see http://ccache.samba.org/
 | 
						|
 | 
						|
	config EXTERNAL_KERNEL_TREE
 | 
						|
		string "Use external kernel tree" if DEVEL
 | 
						|
		default ""
 | 
						|
 | 
						|
	config KERNEL_GIT_CLONE_URI
 | 
						|
		string "Enter git repository to clone" if DEVEL
 | 
						|
		default ""
 | 
						|
		help
 | 
						|
		  Enter the full git repository path i.e.:
 | 
						|
		  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
 | 
						|
		  This will create a git clone of the kernel in your build
 | 
						|
		  directory.
 | 
						|
 | 
						|
	config KERNEL_GIT_LOCAL_REPOSITORY
 | 
						|
		string "Enter path to local reference repository" if DEVEL
 | 
						|
		default ""
 | 
						|
		help
 | 
						|
		  Enter a full pathname to a local reference git repository.
 | 
						|
		  In this instance, the --refererence option of git clone will
 | 
						|
		  be used thus creating a quick local clone of your repo.
 | 
						|
 | 
						|
	config BUILD_LOG
 | 
						|
		bool "Enable log files during build process" if DEVEL
 | 
						|
		help
 | 
						|
		  If enabled log files will be written to the ./log directory
 | 
						|
 | 
						|
	config SRC_TREE_OVERRIDE
 | 
						|
		bool "Enable package source tree override" if DEVEL
 | 
						|
		help
 | 
						|
		  If enabled, you can force a package to use a git tree as source
 | 
						|
		  code instead of the normal tarball. Create a symlink 'git-src'
 | 
						|
		  in the package directory, pointing to the .git tree that you want
 | 
						|
		  to pull the source code from
 | 
						|
 | 
						|
menuconfig TARGET_OPTIONS
 | 
						|
	bool "Target Options"  if DEVEL
 | 
						|
 | 
						|
	config TARGET_OPTIMIZATION
 | 
						|
		string "Target Optimizations" if TARGET_OPTIONS
 | 
						|
		default DEFAULT_TARGET_OPTIMIZATION
 | 
						|
		help
 | 
						|
		  Optimizations to use when building for the target host.
 | 
						|
 | 
						|
	config SOFT_FLOAT
 | 
						|
		bool "Use software floating point by default" if TARGET_OPTIONS
 | 
						|
		default y
 | 
						|
		depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
 | 
						|
		help
 | 
						|
		  If your target CPU does not have a Floating Point Unit (FPU) or a
 | 
						|
		  kernel FPU emulator, but you still wish to support floating point
 | 
						|
		  functions, then everything will need to be compiled with soft floating
 | 
						|
		  point support (-msoft-float).
 | 
						|
 | 
						|
		  Most people will answer N.
 | 
						|
 | 
						|
	config USE_MIPS16
 | 
						|
		bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
 | 
						|
		depends on HAS_MIPS16
 | 
						|
		help
 | 
						|
		  If your target CPU does support the MIPS16 instruction set
 | 
						|
		  and you want to use it for packages, enable this option.
 | 
						|
		  MIPS16 produces smaller binaries thus reducing pressure on
 | 
						|
		  caches and TLB.
 | 
						|
 | 
						|
		  Most people will answer N.
 | 
						|
 | 
						|
source "toolchain/Config.in"
 | 
						|
 | 
						|
source "target/imagebuilder/Config.in"
 | 
						|
source "target/sdk/Config.in"
 | 
						|
source "target/toolchain/Config.in"
 | 
						|
 | 
						|
source "tmp/.config-package.in"
 |