897 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			897 lines
		
	
	
		
			25 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
 | |
| 		help
 | |
| 		  Ext4 file system with some free space for uml images
 | |
| 
 | |
| 	config TARGET_ROOTFS_ISO
 | |
| 		bool "iso"
 | |
| 		default n
 | |
| 		depends on TARGET_x86_generic
 | |
| 		help
 | |
| 		  Create some bootable ISO image
 | |
| 
 | |
| 	config TARGET_ROOTFS_JFFS2
 | |
| 		bool "jffs2"
 | |
| 		default y if USES_JFFS2
 | |
| 		help
 | |
| 		  Build a jffs2 root filesystem
 | |
| 
 | |
| 	config TARGET_ROOTFS_JFFS2_NAND
 | |
| 		bool "jffs2 for NAND"
 | |
| 		default y if USES_JFFS2_NAND
 | |
| 		depends on USES_JFFS2_NAND
 | |
| 		help
 | |
| 		  Build a jffs2 root filesystem for NAND flash
 | |
| 
 | |
| 	config TARGET_ROOTFS_SQUASHFS
 | |
| 		bool "squashfs"
 | |
| 		default y if USES_SQUASHFS
 | |
| 		help
 | |
| 		  Build a squashfs-lzma root filesystem
 | |
| 
 | |
| 	config TARGET_ROOTFS_UBIFS
 | |
| 		bool "ubifs"
 | |
| 		default y if USES_UBIFS
 | |
| 		depends on 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
 | |
| 
 | |
| 	config TARGET_ROOTFS_INCLUDE_KERNEL
 | |
| 		bool "Include kernel in root filesystem"
 | |
| 		depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
 | |
| 		default n if USES_UBIFS
 | |
| 		help
 | |
| 		  Include the kernel image in the rootfs. Typically the image is placed
 | |
| 		  below /boot.
 | |
| 
 | |
| 	config TARGET_ROOTFS_INCLUDE_DTB
 | |
| 		bool "Include DTB in root filesystem"
 | |
| 		depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
 | |
| 		default n if USES_UBIFS
 | |
| 		help
 | |
| 		  Include the device tree blob file(s) in the rootfs. Typically the DTBs
 | |
| 		  are placed below /boot.
 | |
| 
 | |
| 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_FTRACE_SYSCALLS
 | |
| 		bool "Trace system calls"
 | |
| 		depends on KERNEL_FTRACE
 | |
| 		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
 | |
| 
 | |
| 	config KERNEL_KEXEC
 | |
| 		bool "Enable kexec support"
 | |
| 
 | |
| 	config USE_RFKILL
 | |
| 		bool "Enable rfkill support"
 | |
| 		default RFKILL_SUPPORT
 | |
| 
 | |
| 	#
 | |
| 	# 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_CGROUP_PERF
 | |
| 			bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
 | |
| 			default n
 | |
| 			select KERNEL_PERF_EVENTS
 | |
| 			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
 | |
| 
 | |
| 	config EXTRA_OPTIMIZATION
 | |
| 		string "Additional compiler options" if DEVEL
 | |
| 		default "-fno-caller-saves"
 | |
| 		help
 | |
| 		  Extra Target-independent optimizations to use when building for the target.
 | |
| 
 | |
| 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"
 | 
