source: branches/contrib/config/kernel_config.in @ 507

Last change on this file since 507 was 507, checked in by ehem, 7 years ago

IDE support should almost certainly default to off, not on for 99.44% of
routers. Only enable AR71XX USB support on AR7XX devices.

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