1 # Copyright (C) 2006-2009 OpenWrt.org
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
7 mainmenu "OpenWrt Configuration"
13 source "target/Config.in"
17 menuconfig TARGET_ROOTFS_INITRAMFS
19 default y if USES_INITRAMFS
21 Embed the rootfs into the kernel (initramfs)
25 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
26 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
27 default TARGET_INITRAMFS_COMPRESSION_NONE
28 depends TARGET_ROOTFS_INITRAMFS
31 Select ramdisk compression.
33 config TARGET_INITRAMFS_COMPRESSION_NONE
36 config TARGET_INITRAMFS_COMPRESSION_GZIP
39 config TARGET_INITRAMFS_COMPRESSION_BZIP2
42 config TARGET_INITRAMFS_COMPRESSION_LZMA
45 config TARGET_INITRAMFS_COMPRESSION_LZO
49 comment "Root filesystem archives"
51 config TARGET_ROOTFS_CPIOGZ
53 default y if USES_CPIOGZ
55 Build a compressed cpio archive of the the root filesystem
57 config TARGET_ROOTFS_TARGZ
59 default y if USES_TARGZ
61 Build a compressed tar archive of the the root filesystem
63 comment "Root filesystem images"
65 config TARGET_ROOTFS_EXT2FS
67 default y if USES_EXT2
68 depends !TARGET_ROOTFS_INITRAMFS
70 Ext2 file system with some free space for uml images
72 config TARGET_ROOTFS_ISO
75 depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
77 Create some bootable ISO image
79 config TARGET_ROOTFS_JFFS2
81 default y if USES_JFFS2
82 depends !TARGET_ROOTFS_INITRAMFS
84 Build a jffs2 root filesystem
86 config TARGET_ROOTFS_SQUASHFS
88 default y if USES_SQUASHFS
89 depends !TARGET_ROOTFS_INITRAMFS
91 Build a squashfs-lzma root filesystem
93 config TARGET_ROOTFS_UBIFS
95 default y if USES_UBIFS
96 depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
98 Build a ubifs root filesystem
100 comment "Image Options"
102 source "target/linux/*/image/Config.in"
104 config TARGET_ROOTFS_PARTSIZE
105 int "Root filesystem partition size (in MB)"
106 depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT2FS || TARGET_rb532
109 Allows you to change the root filesystem partition size
111 config TARGET_ROOTFS_MAXINODE
112 int "Maximum number of inodes in root filesystem"
113 depends TARGET_ROOTFS_EXT2FS
116 Allows you to change the maximum number of inodes in the root filesystem
120 menu "Global build settings"
123 bool "Select all packages by default"
126 comment "General build options"
128 config DISPLAY_SUPPORT
129 bool "Show packages that require graphics support (local or remote)"
132 config BUILD_PATENTED
134 bool "Compile with support for patented functionality"
136 When this option is disabled, software which provides patented functionality will not be built.
137 In case software provides optional support for patented functionality,
138 this optional support will get disabled for this package.
142 prompt "Enable large file (files > 2 GB) support"
145 Enable large file (files > 2 GB) support.
147 config SHADOW_PASSWORDS
149 prompt "Enable shadow password support"
152 Enable shadow password support.
156 prompt "Remove ipkg/opkg status data files in final images"
159 This removes all ipkg/opkg status data files from the target directory before building the root fs
161 config COLLECT_KERNEL_DEBUG
163 prompt "Collect kernel debug information"
164 select KERNEL_DEBUG_INFO
167 This collects debugging symbols from the kernel and all compiled modules.
168 Useful for release builds, so that kernel issues can be debugged offline later.
170 comment "Kernel build options"
172 config KERNEL_DEBUG_FS
173 bool "Compile the kernel with Debug FileSystem enabled"
176 debugfs is a virtual file system that kernel developers use to put
177 debugging files into. Enable this option to be able to read and
178 write to these files.
180 config KERNEL_PROFILING
181 bool "Compile the kernel with profiling enabled"
184 Enable the extended profiling support mechanisms used by profilers such
187 config KERNEL_KALLSYMS
188 bool "Compile the kernel with symbol table information"
191 This will give you more information in stack traces from kernel oopses
193 config KERNEL_DEBUG_KERNEL
197 config KERNEL_DEBUG_INFO
198 bool "Compile the kernel with debug information"
200 select KERNEL_DEBUG_KERNEL
202 This will compile your kernel and modules with debug information.
204 config KERNEL_DEBUG_LL
209 ARM low level debugging
211 config KERNEL_EARLY_PRINTK
212 bool "Compile the kernel with early printk"
215 select KERNEL_DEBUG_KERNEL
216 select KERNEL_DEBUG_LL if arm
218 Compile the kernel with early printk support.
219 This is only useful for debugging purposes to send messages
220 over the serial console in early boot.
221 Enable this to debug early boot problems.
223 comment "Package build options"
227 prompt "Compile packages with debugging info"
230 Adds -g3 to the CFLAGS
234 prompt "Enable IPv6 support in packages"
237 Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
239 config PKG_BUILD_PARALLEL
241 prompt "Compile certain packages parallelized"
244 This adds a -jX option to certain packages that are known to
245 behave well for parallel build.
247 Note that this may overcommit CPU resources depending on the
248 -j level of the main make process, the number of package
249 submake jobs selected below and the number of actual CPUs present.
250 Example: If the main make is passed a -j4 and the submake -j
251 is also set to 4, we may end up with 16 parallel make processes
254 You get maximum build performance, if you set the package build
255 jobs to the number of CPUs (cores) available and also start the main
256 make process with -jX, where X is the number of CPUs (cores).
257 However, make sure you have enough RAM available for
258 NR_CPUS to the power of two (NR_CPUS^2) make jobs.
260 If you are unsure, select N.
262 config PKG_BUILD_JOBS
264 prompt "Number of package submake jobs (2-512)"
267 depends on PKG_BUILD_PARALLEL
269 The number of jobs (-jX) to pass to packages submake.
271 config PKG_DEFAULT_PARALLEL
273 prompt "Parallelize the default package build rule (May break build)"
274 depends on PKG_BUILD_PARALLEL
277 Always set the default package build rules to parallel build.
279 WARNING: This may break build or kill your cat, as it builds
280 packages with multiple jobs that are probably not tested in
281 a parallel build environment.
283 Only say Y, if you don't mind fixing broken packages.
284 Before reporting build bugs, set this to N and re-run the build.
286 config TOOLCHAIN_PARALLEL
288 prompt "Parallelize the toolchain build (May break build)"
289 depends on PKG_BUILD_PARALLEL
292 Build the toolchain with parallel make jobs.
293 This speeds up the toolchain build on SMP machines, but may
294 break the build for certain toolchain versions.
296 If you say Y, toolchain build might break.
297 Before reporting build bugs, set this to N and re-run the build.
299 comment "Stripping options"
302 prompt "Binary stripping method"
303 default USE_STRIP if EXTERNAL_TOOLCHAIN
304 default USE_STRIP if USE_GLIBC || USE_EGLIBC
307 Select the binary stripping method you wish to use.
312 This will install unstripped binaries (useful for native compiling/debugging)
317 This will install binaries stripped using strip from binutils
326 This will install binaries stripped using sstrip
331 prompt "Strip arguments"
333 default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
334 default "--strip-all"
336 Specifies arguments passed to the strip command when stripping binaries
338 config STRIP_KERNEL_EXPORTS
339 bool "Strip unnecessary exports from the kernel image"
341 Reduces kernel size by stripping unused kernel exports from the kernel image
342 Note that this might make the kernel incompatible with any kernel modules that
343 were not selected at the time the kernel image was created
346 bool "Strip unnecessary functions from libraries"
348 Reduces libraries to only those functions that are necessary for using all
349 selected packages (including those selected as <M>)
350 Note that this will make the system libraries incompatible with most of the packages
351 that are not selected during the build process
356 bool "Advanced configuration options (for developers)"
360 bool "Show broken platforms / packages" if DEVEL
363 config DOWNLOAD_FOLDER
364 string "Download folder" if DEVEL
368 string "Local mirror for source packages" if DEVEL
372 bool "Automatic rebuild of packages" if DEVEL
375 Automatically rebuild packages when their files change
378 string "Build suffix to append to the BUILD_DIR variable" if DEVEL
381 Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
383 config TARGET_ROOTFS_DIR
384 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
387 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
388 Use this option to re-define the location of the target root file system directory.
391 bool "Use ccache" if DEVEL
394 Compiler cache; see http://ccache.samba.org/
396 config EXTERNAL_KERNEL_TREE
397 string "Use external kernel tree" if DEVEL
400 config KERNEL_GIT_CLONE_URI
401 string "Enter git repository to clone" if DEVEL
404 Enter the full git repository path i.e.:
405 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
406 This will create a git clone of the kernel in your build
409 config KERNEL_GIT_LOCAL_REPOSITORY
410 string "Enter path to local reference repository" if DEVEL
413 Enter a full pathname to a local reference git repository.
414 In this instance, the --refererence option of git clone will
415 be used thus creating a quick local clone of your repo.
417 menuconfig TARGET_OPTIONS
418 bool "Target Options" if DEVEL
420 config TARGET_OPTIMIZATION
421 string "Target Optimizations" if TARGET_OPTIONS
422 default DEFAULT_TARGET_OPTIMIZATION
424 Optimizations to use when building for the target host.
427 bool "Use software floating point by default" if TARGET_OPTIONS
429 depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
431 If your target CPU does not have a Floating Point Unit (FPU) or a
432 kernel FPU emulator, but you still wish to support floating point
433 functions, then everything will need to be compiled with soft floating
434 point support (-msoft-float).
436 Most people will answer N.
438 source "toolchain/Config.in"
440 source "target/imagebuilder/Config.in"
441 source "target/sdk/Config.in"
442 source "target/toolchain/Config.in"
444 source "tmp/.config-package.in"