2.3 Configuration
See the following tables for the options can be passed to the
configure script as command line arguments to control what components
are built into the kernel, how certain things are configured and so on.
See the top-level INSTALL file for information about generic
configure options, like under which paths to install the package's
components. It also describes how to control the process by setting
environment variables.
The file i386/README-Drivers has some i386-specific information for
device drivers. You should only need to consult this file in case a device
driver is not working for you.
2.3.1 Table of configure switches not related to device drivers
--enable-kdb
- In-kernel debugger. This is only useful if you actually anticipate debugging
the kernel. It is not enabled by default because it adds considerably to the
unpageable memory footprint of the kernel. See Kernel Debugger.
--enable-pae
- PAE (Physical Address Extension) feature (‘ix86’-only),
which is available on modern ‘ix86’ processors; disabled by
default.
2.3.2 Turning device drivers on or off
Each device driver has an associated configure switch. The following table
indicates whether a device driver is enabled by default or not. It also gives
— if possible at all — the configure switches to use for disabling or
enabling device drivers, in case you're not satisfied with the default choices.
You can specify ‘--enable-device-drivers=WHICH’ (where WHICH on
‘ix86-at’ must be one of ‘default’, ‘qemu’, ‘none’) to
preset a certain subset of all available device drivers.
‘--enable-device-drivers’ is sugar for
‘--enable-device-drivers=default’ (and is the implicit default
nevertheless) and ‘--disable-device-drivers’ is short for
‘--enable-device-drivers=none’. ‘qemu’ will include only the set of
device drivers that is useful when using the resulting kernel binary to drive a
Hurd system in the QEMU system emulator. This is only useful for
reducing the kernel build time and the kernel image size.
2.3.3 What the configure switches do
Each configure switch has two effects. First, it defines a CPP
symbol that turns on or off the hooks that autoconfigure the device and add it
to the list of available devices. Second, it adds the source code for the
driver to a make variable so that the code for the driver is compiled and
linked into the kernel. Also follow this route to find the file(s) which are
implementing a certain device driver.
2.3.4 Table of configure switches related to device drivers
(‘%d’ in the following denotes a unit number, starting with ‘0’.)
--disable-kmsg
- Kernel message device ‘kmsg’.
--enable-lpr
- Parallel port device driver for the ‘lpr%d’ devices. On ‘ix86-at’
enabled by ‘default’.
--enable-floppy
- PC floppy disk controller device driver for the ‘fd%d’ devices. On
‘ix86-at’ enabled by ‘default’ and for ‘qemu’.
--enable-ide
- IDE controller device driver for the ‘hd%d’ and ‘hd%ds%d’ (disks and
their partitions) devices. On ‘ix86-at’ enabled by ‘default’ and for
‘qemu’.
The following options control drivers for various SCSI controller. SCSI
devices are named ‘sd%d’ and ‘sd%ds$d’ (disks and their partitions)
or ‘cd%d’ (CD ROMs).
--enable-advansys
- AdvanSys SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-buslogic
- BusLogic SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-flashpoint
- Only meaningful in conjunction with the above BusLogic SCSI controller device
driver. Enable the FlashPoint support.
--enable-u14-34f
- UltraStor 14F/34F SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-ultrastor
- UltraStor SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-aha152x
- Adaptec AHA-152x/2825 SCSI controller device driver. On ‘ix86-at’ enabled
by ‘default’.
--enable-aha1542
- Adaptec AHA-1542 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-aha1740
- Adaptec AHA-1740 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-aic7xxx
- Adaptec AIC7xxx SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-fdomain
- Future Domain 16xx SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-in2000
- Always IN 2000 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-g_NCR5380
- Generic NCR5380/53c400 SCSI controller device driver.
--enable-NCR53c406a
- NCR53c406a SCSI controller device driver.
--enable-pas16
- PAS16 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-seagate
- Seagate ST02 and Future Domain TMC-8xx SCSI controller device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-t128
- Trantor T128/T128F/T228 SCSI controller device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-53c78xx
- NCR53C7,8xx SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-eata_dma
- EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) SCSI controller
device driver.
--enable-eata_pio
- EATA-PIO (old DPT PM2001, PM2012A) SCSI controller device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-wd7000
- WD 7000 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-eata
- EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) SCSI controller
device driver. On ‘ix86-at’ enabled by ‘default’.
--enable-am53c974
- AM53/79C974 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-dtc
- DTC3180/3280 SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-ncr53c8xx
- NCR53C8XX, dc390w, dc390u, dc390f SCSI controller device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-tmscsim
- Tekram DC-390(T) SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-ppa
- IOMEGA Parallel Port ZIP drive device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-qlogicfas
- Qlogic FAS SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-qlogicisp
- Qlogic ISP SCSI controller device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-gdth
- GDT SCSI Disk Array controller device driver. On ‘ix86-at’ enabled by
‘default’.
The following options enable drivers for various ethernet cards. NIC devices
are usually named ‘eth%d’, except for the pocket adaptors.
--enable-ne
- NE2000/NE1000 ISA network card device driver. On ‘ix86-at’ enabled by
‘default’ and for ‘qemu’.
--enable-3c503
- 3Com 503 (Etherlink II) network card device driver. On ‘ix86-at’ enabled
by ‘default’.
--enable-3c509
- 3Com 509/579 (Etherlink III) network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-wd
- WD80X3 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-3c501
- 3COM 501/Etherlink I network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-smc-ultra
- SMC Ultra network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-smc-ultra32
- SMC Ultra 32 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-hp-plus
- HP PCLAN+ (27247B and 27252A) network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-hp
- HP PCLAN (27245 and other 27xxx series) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-3c59x
- 3Com 590/900 series (592/595/597/900/905) "Vortex/Boomerang" network card
device driver. On ‘ix86-at’ enabled by ‘default’.
--enable-seeq8005
- Seeq8005 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-hp100
- HP 10/100VG PCLAN (ISA, EISA, PCI) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-ac3200
- Ansel Communications EISA 3200 network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-e2100
- Cabletron E21xx network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-at1700
- AT1700 (Fujitsu 86965) network card device driver. On ‘ix86-at’ enabled
by ‘default’.
--enable-eth16i
- ICL EtherTeam 16i/32 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-znet
- Zenith Z-Note network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-eexpress
- EtherExpress 16 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-eepro
- EtherExpressPro network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-eepro100
- Intel EtherExpressPro PCI 10+/100B/100+ network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-depca
- DEPCA, DE10x, DE200, DE201, DE202, DE210, DE422 network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-ewrk3
- EtherWORKS 3 (DE203, DE204, DE205) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-de4x5
- DE425, DE434, DE435, DE450, DE500 network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-apricot
- Apricot XEN-II on board ethernet network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-wavelan
- AT&T WaveLAN & DEC RoamAbout DS network card device driver.
--enable-3c507
- 3Com 507 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-3c505
- 3Com 505/Etherlink II network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-de600
- D-Link DE-600 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-de620
- D-Link DE-620 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-sk_g16
- Schneider & Koch G16 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-ni52
- NI5210 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-ni65
- NI6510 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-atp
- AT-LAN-TEC/RealTek pocket adaptor network card device driver for the
‘atp%d’ devices.
--enable-lance
- AMD LANCE and PCnet (AT1500 and NE2100) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-tulip
- DECchip Tulip (dc21x4x) PCI network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-fmv18x
- FMV-181/182/183/184 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-3c515
- 3Com 515 ISA Fast EtherLink network card device driver. On ‘ix86-at’
enabled by ‘default’.
--enable-pcnet32
- AMD PCI PCnet32 (PCI bus NE2100 cards) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-ne2k-pci
- PCI NE2000 network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-yellowfin
- Packet Engines Yellowfin Gigabit-NIC network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-rtl8139
- RealTek 8129/8139 (not 8019/8029!) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-epic100
- SMC 83c170/175 EPIC/100 (EtherPower II) network card device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-tlan
- TI ThunderLAN network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-via-rhine
- VIA Rhine network card device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-hamachi
- Packet Engines "Hamachi" GNIC-2 Gigabit Ethernet device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-intel-gige
- Intel PCI Gigabit Ethernet device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-myson803
- Myson MTD803 Ethernet adapter series device driver. On ‘ix86-at’ enabled
by ‘default’.
--enable-natsemi
- National Semiconductor DP8381x series PCI Ethernet device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-ns820
- National Semiconductor DP8382x series PCI Ethernet device driver. On
‘ix86-at’ enabled by ‘default’.
--enable-starfire
- Adaptec Starfire network adapter device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-sundance
- Sundance ST201 "Alta" PCI Ethernet device driver. On ‘ix86-at’ enabled by
‘default’.
--enable-winbond-840
- Winbond W89c840 PCI Ethernet device driver. On ‘ix86-at’ enabled by
‘default’.
The following options either control device drivers for supported PCMCIA
bridges or control the overall behaviour of the GNU Mach PCMCIA core. To make
use of GNU Mach PCMCIA support you need to have the corresponding userland
applications (GNU Mach Card Services) installed.
--enable-i82365
- Device driver for the Intel 82365 and compatible PC Card controllers, and
Yenta-compatible PCI-to-CardBus controllers. On ‘ix86-at’ enabled by
‘default’.
--enable-pcmcia-isa
- ISA bus related bits in the GNU Mach PCMCIA core. Keeping it enabled is
generally a good idea, since it does not only have effect if your PC Card
bridge is attached to the ISA bus, but provides more (ISA) interrupts to the
Card Services for it to assign to the cards in turn. On ‘ix86-at’ enabled
by ‘default’.
The following options control device drivers for supported PCMCIA Ethernet
controllers. NIC devices are usually named ‘eth%d’.
--enable-3c574_cs
- PCMCIA ethernet driver for the 3Com 3c574 “RoadRunner”. On ‘ix86-at’
enabled by ‘default’.
--enable-3c589_cs
- Driver for the 3Com 3c589 PCMCIA card. On ‘ix86-at’ enabled by
‘default’.
--enable-axnet_cs
- Driver for the Asix AX88190-based PCMCIA cards. On ‘ix86-at’ enabled by
‘default’.
--enable-fmvj18x_cs
- Driver for PCMCIA cards with the fmvj18x chipset. On ‘ix86-at’ enabled by
‘default’.
--enable-nmclan_cs
- Driver for the New Media Ethernet LAN PCMCIA cards. On ‘ix86-at’ enabled
by ‘default’.
--enable-pcnet_cs
- Driver for NS8390-based PCMCIA cards. This driver supports the D-Link DE-650
and Linksys EthernetCard cards, the newer D-Link and Linksys combo cards,
Accton EN2212 cards, the RPTI EP400, and the PreMax PE-200 in non-shared-memory
mode, and the IBM Credit Card Adapter, the NE4100, the Thomas Conrad ethernet
card, and the Kingston KNE-PCM/x in shared-memory mode. It will also handle
the Socket EA card in either mode. On ‘ix86-at’ enabled by
‘default’.
--enable-smc91c92_cs
- Driver for SMC91c92-based PCMCIA cards. On ‘ix86-at’ enabled by
‘default’.
--enable-xirc2ps_cs
- Driver for Xircom CreditCard and Realport PCMCIA ethernet adapters. On
‘ix86-at’ enabled by ‘default’.
The following options control device drivers for supported PCMCIA Wireless LAN
network controllers. NIC devices are usually named ‘eth%d’.
Please mind, that you need to have some userland applications (the GNU Mach
Wireless Tools) installed, in order to make use of these devices.
--enable-orinoco_cs
- Driver for the Hermes or Prism 2 chipset based PCMCIA wireless adapters, with
Lucent/Agere, Intersil or Symbol firmware. This driver is suitable for PCMCIA
wireless adapters, such as the Lucent WavelanIEEE/Orinoco cards and their OEM
(Cabletron/EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and
others). It should also be usable on various Prism II based cards such as the
Linksys, D-Link and Farallon Skyline. It should also work on Symbol cards such
as the 3Com AirConnect and Ericsson WLAN. On ‘ix86-at’ enabled by
‘default’.