Root/Config.in

1# Copyright (C) 2006-2012 OpenWrt.org
2#
3# This is free software, licensed under the GNU General Public License v2.
4# See /LICENSE for more information.
5#
6
7mainmenu "OpenWrt Configuration"
8
9config HAVE_DOT_CONFIG
10    bool
11    default y
12
13source "target/Config.in"
14
15menu "Target Images"
16
17    menuconfig TARGET_ROOTFS_INITRAMFS
18        bool "ramdisk"
19        default y if USES_INITRAMFS
20        help
21          Embed the rootfs into the kernel (initramfs)
22
23        choice
24            prompt "Compression"
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
29            help
30              Select ramdisk compression.
31
32            config TARGET_INITRAMFS_COMPRESSION_NONE
33                bool "none"
34
35            config TARGET_INITRAMFS_COMPRESSION_GZIP
36                bool "gzip"
37
38            config TARGET_INITRAMFS_COMPRESSION_BZIP2
39                bool "bzip2"
40
41            config TARGET_INITRAMFS_COMPRESSION_LZMA
42                bool "lzma"
43
44            config TARGET_INITRAMFS_COMPRESSION_LZO
45                bool "lzo"
46
47            config TARGET_INITRAMFS_COMPRESSION_XZ
48                bool "xz"
49        endchoice
50
51        config EXTERNAL_CPIO
52            string
53            prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
54            default ""
55            help
56              Kernel uses specified external cpio as INITRAMFS_SOURCE
57
58    comment "Root filesystem archives"
59
60    config TARGET_ROOTFS_CPIOGZ
61        bool "cpio.gz"
62        default y if USES_CPIOGZ
63        help
64          Build a compressed cpio archive of the the root filesystem
65
66    config TARGET_ROOTFS_TARGZ
67        bool "tar.gz"
68        default y if USES_TARGZ
69        help
70          Build a compressed tar archive of the the root filesystem
71
72    comment "Root filesystem images"
73
74    config TARGET_ROOTFS_EXT4FS
75        bool "ext4"
76        default y if USES_EXT4
77        depends !TARGET_ROOTFS_INITRAMFS
78        help
79          Ext4 file system with some free space for uml images
80
81    config TARGET_ROOTFS_ISO
82        bool "iso"
83        default n
84        depends on TARGET_x86_generic
85        depends !TARGET_ROOTFS_INITRAMFS
86        help
87          Create some bootable ISO image
88
89    config TARGET_ROOTFS_JFFS2
90        bool "jffs2"
91        default y if USES_JFFS2
92        depends !TARGET_ROOTFS_INITRAMFS
93        help
94          Build a jffs2 root filesystem
95
96    config TARGET_ROOTFS_SQUASHFS
97        bool "squashfs"
98        default y if USES_SQUASHFS
99        depends !TARGET_ROOTFS_INITRAMFS
100        help
101          Build a squashfs-lzma root filesystem
102
103    config TARGET_ROOTFS_UBIFS
104        bool "ubifs"
105        default y if USES_UBIFS
106        depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
107        help
108          Build a ubifs root filesystem
109
110    comment "Image Options"
111
112    source "target/linux/*/image/Config.in"
113
114    config TARGET_ROOTFS_PARTSIZE
115        int "Root filesystem partition size (in MB)"
116        depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
117        default 48
118        help
119            Allows you to change the root filesystem partition size
120
121    config TARGET_ROOTFS_MAXINODE
122        int "Maximum number of inodes in root filesystem"
123        depends TARGET_ROOTFS_EXT4FS
124        default 6000
125        help
126            Allows you to change the maximum number of inodes in the root filesystem
127
128endmenu
129
130menu "Global build settings"
131
132    config ALL
133        bool "Select all packages by default"
134        default n
135
136    comment "General build options"
137
138    config DISPLAY_SUPPORT
139        bool "Show packages that require graphics support (local or remote)"
140        default n
141
142    config BUILD_PATENTED
143        default y
144        bool "Compile with support for patented functionality"
145        help
146          When this option is disabled, software which provides patented functionality will not be built.
147          In case software provides optional support for patented functionality,
148          this optional support will get disabled for this package.
149
150    config BUILD_NLS
151        default n
152        bool "Compile with full language support"
153        help
154          When this option is enabled, packages are built with the full versions of iconv and GNU gettext
155          instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support.
156
157    config BUILD_STATIC_TOOLS
158        default n
159        bool "Attempt to link host utilities statically"
160        help
161          Linking host utilities like sed or firmware-utils statically increases the portability of the
162          generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions.
163
164    config SHADOW_PASSWORDS
165        bool
166        prompt "Enable shadow password support"
167        default y
168        help
169          Enable shadow password support.
170
171    config CLEAN_IPKG
172        bool
173        prompt "Remove ipkg/opkg status data files in final images"
174        default n
175        help
176            This removes all ipkg/opkg status data files from the target directory before building the root fs
177
178    config COLLECT_KERNEL_DEBUG
179        bool
180        prompt "Collect kernel debug information"
181        select KERNEL_DEBUG_INFO
182        default n
183        help
184            This collects debugging symbols from the kernel and all compiled modules.
185            Useful for release builds, so that kernel issues can be debugged offline later.
186
187    comment "Kernel build options"
188
189    config KERNEL_DEBUG_FS
190        bool "Compile the kernel with Debug FileSystem enabled"
191        default y
192        help
193          debugfs is a virtual file system that kernel developers use to put
194          debugging files into. Enable this option to be able to read and
195          write to these files.
196
197    config KERNEL_PERF_EVENTS
198        bool
199        default n
200
201    config KERNEL_PROFILING
202        bool "Compile the kernel with profiling enabled"
203        default n
204        select KERNEL_PERF_EVENTS
205        help
206          Enable the extended profiling support mechanisms used by profilers such
207          as OProfile.
208
209    config KERNEL_KALLSYMS
210        bool "Compile the kernel with symbol table information"
211        default n
212        help
213          This will give you more information in stack traces from kernel oopses
214
215    config KERNEL_FTRACE
216        bool "Compile the kernel with tracing support"
217        default n
218
219    config KERNEL_ENABLE_DEFAULT_TRACERS
220        bool "Trace process context switches and events"
221        depends on KERNEL_FTRACE
222        default n
223
224    config KERNEL_DEBUG_KERNEL
225        bool
226        default n
227
228    config KERNEL_DEBUG_INFO
229        bool "Compile the kernel with debug information"
230        default n
231        select KERNEL_DEBUG_KERNEL
232        help
233          This will compile your kernel and modules with debug information.
234
235    config KERNEL_DEBUG_LL_UART_NONE
236        bool
237        default n
238        depends on arm
239
240    config KERNEL_DEBUG_LL
241        bool
242        default n
243        depends on arm
244        select KERNEL_DEBUG_LL_UART_NONE
245        help
246          ARM low level debugging
247
248    config KERNEL_EARLY_PRINTK
249        bool "Compile the kernel with early printk"
250        default n
251        depends on arm
252        select KERNEL_DEBUG_KERNEL
253        select KERNEL_DEBUG_LL if arm
254        help
255          Compile the kernel with early printk support.
256          This is only useful for debugging purposes to send messages
257          over the serial console in early boot.
258          Enable this to debug early boot problems.
259
260    config KERNEL_AIO
261        bool "Compile the kernel with asynchronous IO support"
262        default n
263
264    config KERNEL_MAGIC_SYSRQ
265        bool "Compile the kernel with SysRq support"
266        default y
267
268    config KERNEL_ELF_CORE
269        bool "Enable process core dump support"
270        default y
271
272    config KERNEL_PROVE_LOCKING
273        bool "Enable kernel lock checking"
274        select KERNEL_DEBUG_KERNEL
275        default n
276
277    config KERNEL_PRINTK_TIME
278        bool "Enable printk timestamps"
279        default y
280
281    #
282    # CGROUP support symbols
283    #
284
285    config KERNEL_FREEZER
286        bool
287        default y if KERNEL_CGROUP_FREEZER
288        depends KERNEL_CGROUPS
289
290    config KERNEL_CGROUP_FREEZER
291        bool
292        depends KERNEL_CGROUPS
293
294    config KERNEL_CGROUP_DEVICE
295        bool
296        depends KERNEL_CGROUPS
297
298    config KERNEL_CPUSETS
299        bool
300        default y if KERNEL_CGROUP_CPUACCT
301        depends KERNEL_CGROUPS
302
303    config KERNEL_PROC_PID_CPUSET
304        bool
305        default y if KERNEL_CGROUP_CPUACCT
306        depends KERNEL_CGROUPS
307
308    config KERNEL_CGROUP_CPUACCT
309        bool
310        depends KERNEL_CGROUPS
311
312    config KERNEL_RESOURCE_COUNTERS
313        bool
314        default y if KERNEL_CGROUP_MEM_RES_CTLR
315        depends KERNEL_CGROUPS
316
317    config KERNEL_CGROUP_MEM_RES_CTLR
318        bool
319        depends KERNEL_CGROUPS
320
321    config KERNEL_CGROUP_MEM_RES_CTLR_SWAP
322        bool
323        depends KERNEL_CGROUPS
324
325    config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
326        bool
327        depends KERNEL_CGROUPS
328
329    config KERNEL_CGROUP_MEM_RES_CTLR_KMEM
330        bool
331        depends KERNEL_CGROUPS
332
333    config KERNEL_CGROUP_PERF
334        bool
335        depends KERNEL_CGROUPS
336
337    config KERNEL_CFS_BANDWIDTH
338        bool
339        default y if KERNEL_FAIR_GROUP_SCHED
340        depends KERNEL_CGROUP_SCHED
341
342    config KERNEL_FAIR_GROUP_SCHED
343        bool
344        default y if KERNEL_CGROUP_SCHED
345        depends KERNEL_CGROUP_SCHED
346
347    config KERNEL_RT_GROUP_SCHED
348        bool
349        default y if KERNEL_CGROUP_SCHED
350        depends KERNEL_CGROUP_SCHED
351
352    config KERNEL_CGROUP_SCHED
353        bool
354        depends KERNEL_CGROUPS
355
356    config KERNEL_NET_CLS_CGROUP
357        bool
358        depends KERNEL_CGROUPS
359
360    config KERNEL_NETPRIO_CGROUP
361        bool
362        depends KERNEL_CGROUPS
363
364    config KERNEL_BLK_CGROUP
365        bool
366        depends KERNEL_CGROUPS
367
368    config KERNEL_DEBUG_BLK_CGROUP
369        bool
370        default n if KERNEL_CGROUPS
371        depends KERNEL_CGROUPS
372
373    config KERNEL_CGROUPS
374        bool "Enable kernel cgroups"
375        default n
376        select KERNEL_CGROUP_FREEZER
377        select KERNEL_CGROUP_DEVICE
378        select KERNEL_CGROUP_CPUACCT
379        select KERNEL_CGROUP_MEM_RES_CTLR
380        select KERNEL_CGROUP_MEM_RES_CTLR_SWAP
381        select KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
382        select KERNEL_CGROUP_MEM_RES_CTLR_KMEM
383        select KERNEL_CGROUP_PERF
384        select KERNEL_CGROUP_SCHED
385        select KERNEL_NET_CLS_CGROUP
386        select KERNEL_NETPRIO_CGROUP
387        select KERNEL_BLK_CGROUP
388
389    #
390    # Namespace support symbols
391    #
392
393    config KERNEL_UTS_NS
394        bool
395        depends KERNEL_NAMESPACES
396
397    config KERNEL_IPC_NS
398        bool
399        depends KERNEL_NAMESPACES
400
401    config KERNEL_USER_NS
402        bool
403        depends KERNEL_NAMESPACES
404
405    config KERNEL_PID_NS
406        bool
407        depends KERNEL_NAMESPACES
408
409    config KERNEL_NET_NS
410        bool
411        depends KERNEL_NAMESPACES
412
413    config KERNEL_DEVPTS_MULTIPLE_INSTANCES
414        bool
415        depends KERNEL_NAMESPACES
416
417    config KERNEL_NAMESPACES
418        bool "Enable kernel namespaces"
419        default n
420        select KERNEL_UTS_NS
421        select KERNEL_IPC_NS
422        select KERNEL_USER_NS
423        select KERNEL_PID_NS
424        select KERNEL_NET_NS
425        select KERNEL_DEVPTS_MULTIPLE_INSTANCES
426
427
428    comment "Package build options"
429
430    config DEBUG
431        bool
432        prompt "Compile packages with debugging info"
433        default n
434        help
435          Adds -g3 to the CFLAGS
436
437    config IPV6
438        bool
439        prompt "Enable IPv6 support in packages"
440        default y
441        help
442          Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
443
444    config PKG_BUILD_PARALLEL
445        bool
446        prompt "Compile certain packages parallelized"
447        default y
448        help
449          This adds a -jX option to certain packages that are known to
450          behave well for parallel build. By default the package make processes
451          use the main jobserver, in which case this option only takes effect
452          when you add -jX to the make command.
453
454          If you are unsure, select N.
455
456    config PKG_BUILD_USE_JOBSERVER
457        bool
458        prompt "Use top-level make jobserver for packages"
459        depends on PKG_BUILD_PARALLEL
460        default y
461        help
462          This passes the main make process jobserver fds to package builds,
463          enabling full parallelization across different packages
464
465          Note that disabling this may overcommit CPU resources depending on the
466          -j level of the main make process, the number of package
467          submake jobs selected below and the number of actual CPUs present.
468          Example: If the main make is passed a -j4 and the submake -j
469          is also set to 4, we may end up with 16 parallel make processes
470          in the worst case.
471
472
473    config PKG_BUILD_JOBS
474        int
475        prompt "Number of package submake jobs (2-512)"
476        range 2 512
477        default 2
478        depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
479        help
480          The number of jobs (-jX) to pass to packages submake.
481
482    config PKG_DEFAULT_PARALLEL
483        bool
484        prompt "Parallelize the default package build rule (May break build)"
485        depends on PKG_BUILD_PARALLEL
486        depends on BROKEN
487        default n
488        help
489          Always set the default package build rules to parallel build.
490
491          WARNING: This may break build or kill your cat, as it builds
492          packages with multiple jobs that are probably not tested in
493          a parallel build environment.
494
495          Only say Y, if you don't mind fixing broken packages.
496          Before reporting build bugs, set this to N and re-run the build.
497
498    config TOOLCHAIN_PARALLEL
499        bool
500        prompt "Parallelize the toolchain build (May break build)"
501        depends on PKG_BUILD_PARALLEL
502        depends on BROKEN
503        default n
504        help
505          Build the toolchain with parallel make jobs.
506          This speeds up the toolchain build on SMP machines, but may
507          break the build for certain toolchain versions.
508
509          If you say Y, toolchain build might break.
510          Before reporting build bugs, set this to N and re-run the build.
511
512    comment "Stripping options"
513
514    choice
515        prompt "Binary stripping method"
516        default USE_STRIP if EXTERNAL_TOOLCHAIN
517        default USE_STRIP if USE_GLIBC || USE_EGLIBC
518        default USE_SSTRIP
519        help
520          Select the binary stripping method you wish to use.
521
522        config NO_STRIP
523            bool "none"
524            help
525              This will install unstripped binaries (useful for native compiling/debugging)
526
527        config USE_STRIP
528            bool "strip"
529            help
530              This will install binaries stripped using strip from binutils
531
532
533        config USE_SSTRIP
534            bool "sstrip"
535            depends !DEBUG
536            depends !USE_GLIBC
537            depends !USE_EGLIBC
538            help
539              This will install binaries stripped using sstrip
540    endchoice
541
542    config STRIP_ARGS
543        string
544        prompt "Strip arguments"
545        depends USE_STRIP
546        default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
547        default "--strip-all"
548        help
549          Specifies arguments passed to the strip command when stripping binaries
550
551    config STRIP_KERNEL_EXPORTS
552        bool "Strip unnecessary exports from the kernel image"
553        help
554          Reduces kernel size by stripping unused kernel exports from the kernel image
555          Note that this might make the kernel incompatible with any kernel modules that
556          were not selected at the time the kernel image was created
557
558    config USE_MKLIBS
559        bool "Strip unnecessary functions from libraries"
560        help
561          Reduces libraries to only those functions that are necessary for using all
562          selected packages (including those selected as <M>)
563          Note that this will make the system libraries incompatible with most of the packages
564          that are not selected during the build process
565
566    choice
567        prompt "Preferred standard C++ library"
568        default USE_LIBSTDCXX if USE_EGLIBC
569        default USE_UCLIBCXX
570        help
571          Select the preferred standard C++ library for all packages that support this.
572
573        config USE_UCLIBCXX
574            bool "uClibc++"
575
576        config USE_LIBSTDCXX
577            bool "libstdc++"
578
579    endchoice
580
581endmenu
582
583menuconfig DEVEL
584    bool "Advanced configuration options (for developers)"
585    default n
586
587    config BROKEN
588        bool "Show broken platforms / packages" if DEVEL
589        default n
590
591    config DOWNLOAD_FOLDER
592        string "Download folder" if DEVEL
593        default ""
594
595    config LOCALMIRROR
596        string "Local mirror for source packages" if DEVEL
597        default ""
598
599    config AUTOREBUILD
600        bool "Automatic rebuild of packages" if DEVEL
601        default y
602        help
603          Automatically rebuild packages when their files change
604
605    config BUILD_SUFFIX
606        string "Build suffix to append to the BUILD_DIR variable" if DEVEL
607        default ""
608        help
609          Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
610
611    config TARGET_ROOTFS_DIR
612        string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
613        default ""
614        help
615          Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
616          Use this option to re-define the location of the target root file system directory.
617
618    config CCACHE
619        bool "Use ccache" if DEVEL
620        default n
621        help
622          Compiler cache; see http://ccache.samba.org/
623
624    config EXTERNAL_KERNEL_TREE
625        string "Use external kernel tree" if DEVEL
626        default ""
627
628    config KERNEL_GIT_CLONE_URI
629        string "Enter git repository to clone" if DEVEL
630        default ""
631        help
632          Enter the full git repository path i.e.:
633          git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
634          This will create a git clone of the kernel in your build
635          directory.
636
637    config KERNEL_GIT_LOCAL_REPOSITORY
638        string "Enter path to local reference repository" if DEVEL
639        default ""
640        help
641          Enter a full pathname to a local reference git repository.
642          In this instance, the --refererence option of git clone will
643          be used thus creating a quick local clone of your repo.
644
645    config BUILD_LOG
646        bool "Enable log files during build process" if DEVEL
647        help
648          If enabled log files will be written to the ./log directory
649
650    config SRC_TREE_OVERRIDE
651        bool "Enable package source tree override" if DEVEL
652        help
653          If enabled, you can force a package to use a git tree as source
654          code instead of the normal tarball. Create a symlink 'git-src'
655          in the package directory, pointing to the .git tree that you want
656          to pull the source code from
657
658menuconfig TARGET_OPTIONS
659    bool "Target Options" if DEVEL
660
661    config TARGET_OPTIMIZATION
662        string "Target Optimizations" if TARGET_OPTIONS
663        default DEFAULT_TARGET_OPTIMIZATION
664        help
665          Optimizations to use when building for the target host.
666
667    config SOFT_FLOAT
668        bool "Use software floating point by default" if TARGET_OPTIONS
669        default y
670        depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
671        help
672          If your target CPU does not have a Floating Point Unit (FPU) or a
673          kernel FPU emulator, but you still wish to support floating point
674          functions, then everything will need to be compiled with soft floating
675          point support (-msoft-float).
676
677          Most people will answer N.
678
679source "toolchain/Config.in"
680
681source "target/imagebuilder/Config.in"
682source "target/sdk/Config.in"
683source "target/toolchain/Config.in"
684
685source "tmp/.config-package.in"
686

Archive Download this file



interactive