You can use Linux as a gateway between two Ethernet networks. In that case, you might have two Ethernet cards on your server. To eliminate problems at boot time, the Linux kernel doesn't detect multiple cards
automatically. If you happen to have two or more cards, you should specify the parameters of the cards in the lilo.conf
file for a monolithic kernel or in the conf.modules
file
for a modularized kernel. The following are problems you may encounter with your network cards.
Problem 1.
If the driver(s) of the card(s) is/are being used as a loadable module modularized kernel, in the case of PCI drivers, the module will typically detect all of the installed cards
automatically. For ISA cards, you need to supply the I/O
base address of the card so the module knows where to look. This information is stored in the file /etc/conf.modules
.
Example 8.1. Two ISA ethernet cards
Consider we have two ISA 3c509
cards, one at I/O
0x300
and one at I/O
0x320
.
For ISA cards, edit the conf.modules
file, vi /etc/conf.modules
and add:
alias eth0 3c509 alias eth1 3c509 options 3c509 io=0x300,0x320
This says that the 3c509
driver should be loaded for either eth0
or eth1
alias eth0
, eth1
and it should be loaded with
the options io=0x300,0x320
so that the drivers knows where to look for the cards. Note that 0x
is important, things like 300h
as commonly used in the DOS world wont work.
For PCI cards, you typically only need the alias lines to correlate the ethN
interfaces with the appropriate driver name, since the I/O
base of a PCI card can be safely
detected.
For PCI cards, edit the conf.modules
file vi /etc/conf.modules
and add:
alias eth0 3c509 alias eth1 3c509
Problem 2.
If the drivers(s) of the card(s) is/are compiled into the kernel -monolithic kernel, the PCI probes will find all related cards automatically. ISA cards
will also find all related cards automatically, but in some circumstance ISA cards still need to do the following. This information is stored in the file /etc/lilo.conf
. The method
is to pass boot-time arguments to the kernel, which is usually done by LILO
.
For ISA cards, edit the lilo.conf
file, vi /etc/lilo.conf
and add:
append=ether=0,0,eth1
First test your ISA cards without the boot-time arguments in the lilo.conf
file, and if this fails, use the boot-time arguments.
In this case eth0
and eth1
will be assigned in the order that the cards are found at boot. Since we have recompiled the kernel, we must use the
second method. If the drivers(s) is/are compiled into the kernel to install our second Ethernet card on the system. Remember that this is required only in some circumstance
for ISA cards, PCI cards will be found automatically.