source: debwrt/trunk/Config.in @ 1

Last change on this file since 1 was 1, checked in by amain, 13 years ago

Initial import of the build environment for DebWrt

File size: 21.4 KB
Line 
1# DebWrt - Debian on Embedded devices
2#
3# Copyright (C) 2010 Johan van Zoomeren <amain@debwrt.net>
4#
5# This program is free software: you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18config HAVE_DOT_CONFIG
19        bool
20        default y
21
22config HAS_SUBTARGETS
23        bool
24
25source config/target_arch.in
26
27mainmenu "DebWrt Configuration"
28
29choice
30        prompt "Target System"
31        default TARGET_ar71xx
32
33config TARGET_ar71xx
34                bool "Atheros AR71xx/AR7240/AR913x"
35                default y
36                select HAS_SUBTARGETS
37                select DEBWRT_TARGET_ARCH_MIPS
38                help
39                        Build firmware images for Atheros AR71xx/AR913x based boards.
40
41config TARGET_brcm47xx
42        bool "Broadcom BCM947xx/953xx"
43        default y
44        select HAS_SUBTARGETS
45                select DEBWRT_TARGET_ARCH_MIPSEL
46    help
47      Build firmware images for Broadcom based routers
48      (e.g. Netgear WGT634U, Asus WL-500gd)
49
50endchoice
51
52choice
53        prompt "Target Subsytem" if HAS_SUBTARGETS
54        default TARGET_ar71xx_UBNTRSPRO
55
56config TARGET_ar71xx_UBNTRS
57        bool "Ubiquiti RouterStation"
58        depends TARGET_ar71xx
59        help
60          Package set optimized for the Ubiquiti RouterStation.
61
62config TARGET_ar71xx_UBNTRSPRO
63        bool "Ubiquiti RouterStation Pro"
64        depends TARGET_ar71xx
65        help
66          Package set optimized for the Ubiquiti RouterStation Pro.
67
68config TARGET_brcm47xx_Broadcom-b43
69        bool "Broadcom BCM43xx WiFi (default)"
70        depends TARGET_brcm47xx
71        help
72          Package set compatible with hardware using Broadcom BCM43xx cards
73
74endchoice
75
76source "config/board.in"
77source "config/sub_board.in"
78source "config/image_name.in"
79
80choice
81        prompt "OpenWrt Revision"
82        default OPENWRT_REVISION_TRUNK
83
84config OPENWRT_REVISION_TRUNK
85        bool "trunk"
86
87config OPENWRT_REVISION_R18829
88        bool "r18829"
89
90endchoice
91
92source "config/openwrt_revision.in"
93
94choice
95        prompt "Kernel Version"
96        default DEBWRT_KERNEL_DEFAULT
97        help
98          Select the linux kernel version you want to use with DebWrt
99
100config DEBWRT_KERNEL_DEFAULT
101        bool
102        prompt "Default"
103
104config DEBWRT_KERNEL_2_6_32
105        bool
106        prompt "2.6.32" if OPENWRT_REVISION_TRUNK || OPENWRT_REVISION_R18829
107
108config DEBWRT_KERNEL_2_6_31
109        bool
110        prompt "2.6.31" if OPENWRT_REVISION_TRUNK || OPENWRT_REVISION_R18829
111
112config DEBWRT_KERNEL_2_6_30
113        bool
114        prompt "2.6.30" if OPENWRT_REVISION_TRUNK || OPENWRT_REVISION_R18829
115
116config DEBWRT_KERNEL_2_6_28
117        bool
118        prompt "2.6.28" if OPENWRT_REVISION_8_09
119
120endchoice
121
122source "config/kernel_version.in"
123
124
125menu "Kernel Configuration"
126
127# note: DMA Engine support
128# note: SDIO support
129#
130
131menu "General configuration"
132
133#CONFIG_MIPS_FPU_EMU=y
134config MIPS_FPU_EMU
135        bool "Enable kernel Floating Point emulation for MIPS"
136        default y
137        help
138          Build MIPS Floating Point emultaion into the kernel. Actually OpenWrt created a patch
139          to remove FPU code for MIPS from the kernel, to save a few bytes. However, Debian needs
140          the FPU to be enabled since glibc? does not have FPU code compiled in. When FPU is not
141          available no Debian compiled program will run. Init(which is the first process which is
142          started by the kernel will just freeze.
143
144config INOTIFY
145        bool "Inotify file change notification support"
146        default y
147        ---help---
148          udev in Debian SID won't boot if Inotify file change notification is not enabled in the
149          kernel.
150
151          Say Y here to enable inotify support.  Inotify is a file change
152          notification system and a replacement for dnotify.  Inotify fixes
153          numerous shortcomings in dnotify and introduces several new features
154          including multiple file events, one-shot support, and unmount
155          notification.
156
157          For more information, see <file:Documentation/filesystems/inotify.txt>
158
159          If unsure, say Y.
160
161config INOTIFY_USER
162        bool "Inotify support for userspace"
163        depends on INOTIFY
164        default y
165        ---help---
166          Say Y here to enable inotify support for userspace, including the
167          associated system calls.  Inotify allows monitoring of both files and
168          directories via a single open fd.  Events are read from the file
169          descriptor, which is also select()- and poll()-able.
170
171          For more information, see <file:Documentation/filesystems/inotify.txt>
172
173          If unsure, say Y.
174
175#CONFIG_BLK_DEV_LOOP=y
176config BLK_DEV_LOOP
177        bool "Loopback device support"
178        default y
179        help
180          Saying Y here will allow you to use a regular file as a block device. I can't live without
181          this feature ;-)
182
183endmenu
184
185menu "SCSI configuration"
186
187#CONFIG_SCSI=y
188config SCSI
189        tristate "SCSI device support"
190        default y
191        help
192          SCSI device support
193
194#CONFIG_SCSI_DMA=y
195config SCSI_DMA
196        bool
197        prompt "Enable DMA for SCSI" if SCSI
198        default y
199 
200#CONFIG_SCSI_PROC_FS=y
201config SCSI_PROC_FS
202        bool "legacy /proc/scsi/ support"
203        depends on SCSI
204        default y
205        help
206          This option enables support for the various files in
207          /proc/scsi. In Linux 2.6 this has been superseded by
208          files in sysfs but many legacy applications rely on this.
209
210#CONFIG_SCSI_WAIT_SCAN=m
211config SCSI_WAIT_SCAN
212        tristate "Wait for SCSI scan completion"
213        depends on SCSI
214        default n
215        help
216          The SCSI subsystem can probe for devices while the rest of the
217          system continues booting, and even probe devices on different
218          busses in parallel, leading to a significant speed-up.
219       
220          You can load the scsi_wait_scan module to ensure that all scans
221          have completed.
222 
223#CONFIG_BLK_DEV_SD=y
224config BLK_DEV_SD
225        tristate "SCSI disk support"
226        depends on SCSI
227        default y
228        help
229          If you want to use SCSI hard disks, Fibre Channel disks,
230          Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
231          USB storage or the SCSI or parallel port version of
232          the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
233          the Disk-HOWTO and the Multi-Disk-HOWTO, available from
234          <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
235          CD-ROMs.
236
237          To compile this driver as a module, choose M here and read
238          <file:Documentation/scsi/scsi.txt>.
239          The module will be called sd_mod.
240
241          Do not compile this driver as a module if your root file system
242          (the one containing the directory /) is located on a SCSI disk.
243          In this case, do not compile the driver for your SCSI host adapter
244          (below) as a module either.
245
246endmenu
247
248menu "USB configuration"
249
250#CONFIG_USB=y
251config USB
252        tristate "USB support"
253        default y
254        help
255          This option adds core support for Universal Serial Bus (USB).
256          You will also need drivers from the following menu to make use of it.
257
258config USB_DEBUG
259        bool "USB verbose debug messages"
260        default y
261        depends on USB
262        help
263          Say Y here if you want the USB core & hub drivers to produce a bunch
264          of debug messages to the system log. Select this if you are having a
265          problem with USB support and want to see more of what is going on.
266
267#CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
268config USB_ANNOUNCE_NEW_DEVICES
269        bool "USB announce new devices"
270        depends on USB
271        default y
272        help
273          Say Y here if you want the USB core to always announce the
274          idVendor, idProduct, Manufacturer, Product, and SerialNumber
275          strings for every new USB device to the syslog.  This option is
276          usually used by distro vendors to help with debugging and to
277          let users know what specific device was added to the machine
278          in what location.
279
280          If you do not want this kind of information sent to the system
281          log, or have any doubts about this, say N here.
282
283#CONFIG_USB_DEVICEFS=y
284config USB_DEVICEFS
285        bool "USB device filesystem"
286        depends on USB
287        default y
288        help
289          If you say Y here (and to "/proc file system support" in the "File
290          systems" section, above), you will get a file /proc/bus/usb/devices
291          which lists the devices currently connected to your USB bus or
292          busses, and for every connected device a file named
293          "/proc/bus/usb/xxx/yyy", where xxx is the bus number and yyy the
294          device number; the latter files can be used by user space programs
295          to talk directly to the device. These files are "virtual", meaning
296          they are generated on the fly and not stored on the hard drive.
297
298          You may need to mount the usbfs file system to see the files, use
299          mount -t usbfs none /proc/bus/usb
300
301          For the format of the various /proc/bus/usb/ files, please read
302          <file:Documentation/usb/proc_usb_info.txt>.
303
304          Usbfs files can't handle Access Control Lists (ACL), which are the
305          default way to grant access to USB devices for untrusted users of a
306          desktop system. The usbfs functionality is replaced by real
307          device-nodes managed by udev. These nodes live in /dev/bus/usb and
308          are used by libusb.
309 
310#CONFIG_USB_DEVICE_CLASS=y
311config USB_DEVICE_CLASS
312        bool "USB device class-devices (DEPRECATED)"
313        depends on USB
314        default y
315        ---help---
316          Userspace access to USB devices is granted by device-nodes exported
317          directly from the usbdev in sysfs. Old versions of the driver
318          core and udev needed additional class devices to export device nodes.
319
320          These additional devices are difficult to handle in userspace, if
321          information about USB interfaces must be available. One device
322          contains the device node, the other device contains the interface
323          data. Both devices are at the same level in sysfs (siblings) and one
324          can't access the other. The device node created directly by the
325          usb device is the parent device of the interface and therefore
326          easily accessible from the interface event.
327
328          This option provides backward compatibility for libusb device
329          nodes (lsusb) when usbfs is not used, and the following udev rule
330          doesn't exist:
331            SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
332            NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
333
334#CONFIG_USB_MON=y
335config USB_MON
336        tristate "USB Monitor"
337        depends on USB
338        default y if USB=y
339        default m if USB=m
340        help
341          If you select this option, a component which captures the USB traffic
342          between peripheral-specific drivers and HC drivers will be built.
343          For more information, see <file:Documentation/usb/usbmon.txt>.
344
345          If unsure, say Y (if allowed), otherwise M.
346 
347#CONFIG_USB_EHCI_HCD=y
348config USB_EHCI_HCD
349        tristate "EHCI HCD (USB 2.0) support"
350        depends on USB
351        default y
352        ---help---
353          The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
354          "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
355          If your USB host controller supports USB 2.0, you will likely want to
356          configure this Host Controller Driver.
357
358          EHCI controllers are packaged with "companion" host controllers (OHCI
359          or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
360          will connect to EHCI if the device is high speed, otherwise they
361          connect to a companion controller.  If you configure EHCI, you should
362          probably configure the OHCI (for NEC and some other vendors) USB Host
363          Controller Driver or UHCI (for Via motherboards) Host Controller
364          Driver too.
365
366          You may want to read <file:Documentation/usb/ehci.txt>.
367
368          To compile this driver as a module, choose M here: the
369          module will be called ehci-hcd.
370
371#CONFIG_USB_EHCI_AR71XX=y
372config USB_EHCI_AR71XX
373        bool "USB EHCI support for AR71xx"
374        depends on USB_EHCI_HCD
375        default y
376        help
377          Support for Atheros AR71xx built-in EHCI controller
378
379config USB_EHCI_ROOT_HUB_TT
380        bool "Root Hub Transaction Translators"
381        depends on USB_EHCI_HCD
382        default n
383        ---help---
384          Some EHCI chips have vendor-specific extensions to integrate
385          transaction translators, so that no OHCI or UHCI companion
386          controller is needed.  It's safe to say "y" even if your
387          controller doesn't support this feature.
388
389          This supports the EHCI implementation that's originally
390          from ARC, and has since changed hands a few times.
391 
392config USB_OHCI_HCD
393        tristate "OHCI HCD support"
394        depends on USB
395        default n if TARGET_brcm47xx
396        default y
397        ---help---
398          The Open Host Controller Interface (OHCI) is a standard for accessing
399          USB 1.1 host controller hardware.  It does more in hardware than Intel's
400          UHCI specification.  If your USB host controller follows the OHCI spec,
401          say Y.  On most non-x86 systems, and on x86 hardware that's not using a
402          USB controller from Intel or VIA, this is appropriate.  If your host
403          controller doesn't use PCI, this is probably appropriate.  For a PCI
404          based system where you're not sure, the "lspci -v" entry will list the
405          right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
406
407          To compile this driver as a module, choose M here: the
408          module will be called ohci-hcd.
409
410#CONFIG_USB_OHCI_AR71XX=y
411config USB_OHCI_AR71XX
412        bool "USB OHCI support for Atheros AR71xx"
413        depends on USB_OHCI_HCD
414        default y
415        help
416          Support for Atheros AR71xx built-in OHCI controller
417 
418#CONFIG_USB_STORAGE=y
419config USB_STORAGE
420        tristate "USB Mass Storage support"
421        depends on USB && SCSI
422        default y
423        ---help---
424          Say Y here if you want to connect USB mass storage devices to your
425          computer's USB port. This is the driver you need for USB
426          floppy drives, USB hard disks, USB tape drives, USB CD-ROMs,
427          USB flash devices, and memory sticks, along with
428          similar devices. This driver may also be used for some cameras
429          and card readers.
430
431          This option depends on 'SCSI' support being enabled, but you
432          probably also need 'SCSI device support: SCSI disk support'
433          (BLK_DEV_SD) for most USB storage devices.
434
435          To compile this driver as a module, choose M here: the
436          module will be called usb-storage.
437
438endmenu
439
440menu "Filesystem support"
441
442config EXT3_FS
443        tristate "Ext3 journalling file system support"
444        default y
445        select JBD
446        help
447          This is the journalling version of the Second extended file system
448          (often called ext3), the de facto standard Linux file system
449          (method to organize files on a storage device) for hard disks.
450
451          The journalling code included in this driver means you do not have
452          to run e2fsck (file system checker) on your file systems after a
453          crash.  The journal keeps track of any changes that were being made
454          at the time the system crashed, and can ensure that your file system
455          is consistent without the need for a lengthy check.
456
457          Other than adding the journal to the file system, the on-disk format
458          of ext3 is identical to ext2.  It is possible to freely switch
459          between using the ext3 driver and the ext2 driver, as long as the
460          file system has been cleanly unmounted, or e2fsck is run on the file
461          system.
462
463          To add a journal on an existing ext2 file system or change the
464          behavior of ext3 file systems, you can use the tune2fs utility ("man
465          tune2fs").  To modify attributes of files and directories on ext3
466          file systems, use chattr ("man chattr").  You need to be using
467          e2fsprogs version 1.20 or later in order to create ext3 journals
468          (available at <http://sourceforge.net/projects/e2fsprogs/>).
469
470          To compile this file system support as a module, choose M here: the
471          module will be called ext3.
472
473config EXT3_DEFAULTS_TO_ORDERED
474        bool "Default to 'data=ordered' in ext3 (legacy option)"
475        depends on EXT3_FS
476        help
477          If a filesystem does not explicitly specify a data ordering
478          mode, and the journal capability allowed it, ext3 used to
479          historically default to 'data=ordered'.
480
481          That was a rather unfortunate choice, because it leads to all
482          kinds of latency problems, and the 'data=writeback' mode is more
483          appropriate these days.
484
485          You should probably always answer 'n' here, and if you really
486          want to use 'data=ordered' mode, set it in the filesystem itself
487          with 'tune2fs -o journal_data_ordered'.
488
489          But if you really want to enable the legacy default, you can do
490          so by answering 'y' to this question.
491
492config EXT3_FS_XATTR
493        bool "Ext3 extended attributes"
494        depends on EXT3_FS
495        default y
496        help
497          Extended attributes are name:value pairs associated with inodes by
498          the kernel or by users (see the attr(5) manual page, or visit
499          <http://acl.bestbits.at/> for details).
500
501          If unsure, say N.
502
503          You need this for POSIX ACL support on ext3.
504
505config EXT3_FS_POSIX_ACL
506        bool "Ext3 POSIX Access Control Lists"
507        depends on EXT3_FS_XATTR
508        select FS_POSIX_ACL
509        help
510          Posix Access Control Lists (ACLs) support permissions for users and
511          groups beyond the owner/group/world scheme.
512
513          To learn more about Access Control Lists, visit the Posix ACLs for
514          Linux website <http://acl.bestbits.at/>.
515
516          If you don't know what Access Control Lists are, say N
517
518config EXT3_FS_SECURITY
519        bool "Ext3 Security Labels"
520        depends on EXT3_FS_XATTR
521        help
522          Security labels support alternative access control models
523          implemented by security modules like SELinux.  This option
524          enables an extended attribute handler for file security
525          labels in the ext3 filesystem.
526
527          If you are not using a security module that requires using
528          extended attributes for file security labels, say N.
529
530config FS_POSIX_ACL
531        bool
532        default y
533
534#CONFIG_JBD=y
535config JBD
536        tristate "JBD generic journalling layer"
537        help
538          This is a generic journalling layer for block devices.  It is
539          currently used by the ext3 file system, but it could also be
540          used to add journal support to other file systems or block
541          devices such as RAID or LVM.
542
543          If you are using the ext3 file system, you need to say Y here.
544          If you are not using ext3 then you will probably want to say N.
545
546          To compile this device as a module, choose M here: the module will be
547          called jbd.  If you are compiling ext3 into the kernel, you
548          cannot compile this code as a module.
549
550#CONFIG_FS_MBCACHE=y
551config FS_MBCACHE
552# Meta block cache for Extended Attributes (ext2/ext3/ext4)
553        tristate "Meta block cache for Extended Attributes (ext2/ext3/ext4)"
554        default y if EXT2_FS=y && EXT2_FS_XATTR
555        default y if EXT3_FS=y && EXT3_FS_XATTR
556        default y if EXT4_FS=y && EXT4_FS_XATTR
557        default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
558
559endmenu 
560 
561menu "OpenWrt Kernel Module Packages"
562
563menu "Wireless Kernel Modules"
564
565config PACKAGE_kmod-ath5k
566        bool "kmod-ath5k........................... Atheros 5xxx wireless cards support"
567        default y
568        help
569          This module adds support for wireless adapters based on
570          Atheros 5xxx chipset.
571          http://linuxwireless.org/en/users/Drivers/ath5k
572
573config PACKAGE_kmod-ath9k
574        bool "kmod-ath9k........................ Atheros 802.11n wireless cards support"
575        default y
576        help
577          This module adds support for wireless adapters based on
578          Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
579          http://linuxwireless.org/en/users/Drivers/ath9k
580
581config PACKAGE_kmod-madwifi
582        bool "kmod-madwifi........................ Driver for Atheros wireless chipsets"
583        default y
584    help
585     This package contains a driver for Atheros 802.11a/b/g chipsets.
586     http://madwifi-project.org/
587
588config PACKAGE_kmod-b43
589        bool "kmod-b43.................................. Broadcom 43xx wireless support"
590        default y
591    help
592      Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
593      http://linuxwireless.org/en/users/Drivers/b43
594
595config PACKAGE_kmod-b43legacy
596        bool "kmod-b43legacy..................... Broadcom 43xx-legacy wireless support"
597        default n
598    help
599      Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
600      http://linuxwireless.org/en/users/Drivers/b43
601endmenu
602 
603endmenu
604
605#CONFIG_CMDLINE="root=/dev/sda1 init=/sbin/init rootdelay=10 noinitrd console=ttyS0,115200"
606config CMDLINE
607        string "Default kernel command line"
608        default "root=/dev/sda1 init=/sbin/init rootdelay=15 noinitrd console=ttyS0,115200"
609        help
610          Override OpenWrt default kernel command line. Tell the kernel to boot from /dev/sda1,
611          an USB storage device. Rootdelay is specified, to give the USB storage/SCSI driver
612          to become ready, before the kernel tries to boot from it.
613
614endmenu
615       
616menu "Debian Root Filesystem Configuration"
617endmenu
618
619config OPENWRT_DOWNLOAD_DIR
620        string "Alternate OpenWrt download directory"
621        default "../../../dl"
622        help
623          When checking out and building multiple revisions of OpenWrt it comes in handy
624          to not download all required external sources over and over again, but save them
625          in one directory. If this directory exists, during checkout, a symlink will be
626          created to it from the buidl directory of the checked out revision. Be aware that
627          if you use a relative directory here, it must be relative to
628          "build_dir/openwrt-<board>-<revision>-<kernel>" and not to "."
Note: See TracBrowser for help on using the repository browser.