Next: , Previous: Compilation, Up: Installing


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’.