Next Previous Contents

1. Introduction

Etherboot is a package for creating ROM images that can download code over the network to be executed on an x86 computer. Etherboot requires the PC architecture, it does not work for other Linux platforms such as Alphas or Suns. Typically the computer is diskless and the code is Linux or FreeBSD, but these are not the only possibilities. The code uses the bootp, tftp and NFS Internet Protocols.

Etherboot is Open Source. Please support it by joining the Open Source community and sharing. See the Etherboot home page for some ways you can help Etherboot.

Disclaimer: Etherboot comes with NO warranties of any kind. It is hoped that it will be useful to you, and NO responsibility is accepted for any outcome of using it. Etherboot also comes with NO support, although you can get helpful advice from the Netboot mailing list referred to on the Etherboot home page, and from the Internet in general.

1.1 What hardware is supported?

The following is the current NIC configuration file as of 2000-03-14.

Even if your NIC does not appear in the list, it may still be supported if the chip is one of those supported. Many OEMs use chips from foundries. An exhaustive list of brand names is impossible. The best strategy is to read the number on the LAN controller chip on the board.


# This is the config file for creating Makefile rules for Etherboot ROMs
#
# To make a ROM for a supported NIC add a line of the form
#
# ROM           Driver-name     PCI-IDs
#
# ROM is the desired output name for both .rom and .lzrom images.
# Driver name is the driver it uses (can be omitted if the same as ROM).
# PCI IDs are the PCI vendor and device IDs of the PCI NIC
#   (leave blank for ISA NICs).
#
# Then do: make clean, make Roms and make
#
# Send additions to this file to <ken.yap@acm.org>
#
# 3Com503, aka Etherlink II, also /16 model
3c503
# 3Com507
3c507
# 3c509, ISA/EISA
3c509
# 3c529 == MCA 3c509
3c529
# 3c590
3c590           3c595           0x10b7,0x5900
# 3c595
3c595           3c595           0x10b7,0x5950
#3c595          3c595           0x10b7,0x5951
#3c595          3c595           0x10b7,0x5952
# 3C90x cards device IDs
# Original 90x revisions:
#   0x9000 : 10 Base TPO
#   0x9001 : 10/100 T4
#   0x9050 : 10/100 TPO
#   0x9051 : 10 Base Combo
# Newer 90xB revisions:
#   0x9004 : 10 Base TPO
#   0x9005 : 10 Base Combo
#   0x9006 : 10 Base TP and Base2
#   0x900A : 10 Base FL
#   0x9055 : 10/100 TPO
#   0x9056 : 10/100 T4
#   0x905A : 10 Base FX
# Newer 90xC revision:
#   0x9200 : 10/100 TPO (3C905C-TXM)
3c905-tpo       3c90x           0x10b7,0x9000
3c905-t4        3c90x           0x10b7,0x9001
3c905-tpo100    3c90x           0x10b7,0x9050
3c905-combo     3c90x           0x10b7,0x9051
3c905b-tpo      3c90x           0x10b7,0x9004
3c905b-combo    3c90x           0x10b7,0x9005
3c905b-tpb2     3c90x           0x10b7,0x9006
3c905b-fl       3c90x           0x10b7,0x900a
3c905b-tpo100   3c90x           0x10b7,0x9055
3c905b-t4       3c90x           0x10b7,0x9056
3c905b-fx       3c90x           0x10b7,0x905a
3c905c-tpo      3c90x           0x10b7,0x9200
# Crystal Semiconductor CS89x0
cs89x0
# Intel Etherexpress Pro/100
eepro100        eepro100        0x8086,0x1229
# SMC 83c170 EPIC/100
epic100         epic100         0x10b8,0x0005
exos205
# Lance PCI PCNet/32
lancepci        lancepci        0x1022,0x2000
# Linksys LNE100TX and other NICs using this Tulip clone chip
lc82c115        tulip           0x11ad,0xc115
# Netgear FA310TX and other NICs using this Tulip clone chip
lc82c168        tulip           0x11ad,0x0002
# Tulip clones based on the Macronix 987x5
mx987x5         tulip           0x10d9,0x0553
# NE1000/2000 and clones (ISA)
ne
# Novell NE2100 (Lance based, also works on NE1500)
ne2100
# NE2000 PCI clone (RTL8029)
nepci           nepci           0x10ec,0x8029
# Winbond 86C940
winbond940      nepci           0x1050,0x0940
# Compex RL2000
compexrl2000    nepci           0x11f6,0x1401
# KTI ET32P2
ktiet32p2       nepci           0x8e2e,0x3000
# NetVin 5000SC
nv5000sc        nepci           0x4a14,0x5000
# Racal-Interlan NI5210
ni5210
# Racal-Interlan NI6510
ni6510
# Base driver for Tulip clones
tulip           tulip           0x1011,0x0002
# Tulip-Fast
tulipfast       tulip           0x1011,0x0009
# Tulip+
tulip+          tulip           0x1011,0x0014
# Tulip 21142
tulip21142      tulip           0x1011,0x0019
# Realtek 8029 (NE2000 PCI clone)
rtl8029         nepci           0x10ec,0x8029
# Realtek 8139
rtl8139         rtl8139         0x10ec,0x8139
# SMC1211 (uses Realtek 8139 but with different IDs)
smc1211         rtl8139         0x1112,0x1211
# Schneider and Koch G16
sk_g16
# SMC9000
smc9000
# Tiara, Fujitsu Lancard
tiara
# Old base driver for Tulip clones
otulip          otulip          0x1011,0x0002
# Rhine-I, e.g. D-Link DFE-530TX
dlink-530tx     via-rhine       0x1106,0x3043
# Rhine-II
via-rhine       via-rhine       0x1106,0x6100
# WD8003/8013, SMC8216/8416
wd

All Etherboot drivers are autoprobing, which means they attempt to detect the hardware addresses at which the card is installed. It's fairly easy to write a driver if you know C and are familiar with Ethernet hardware interfacing. Please contact me for more information if you are interested in doing so.

1.2 Availability of this document

This document and related documents are also kept online at the Etherboot Home Page. This will in general have the latest distributions and documentation.

The contents of this document are copyright Ken Yap and Markus Gutschke. However permission is granted to copy and reproduce this document in full or in part provided this document is identified as the source.

For a talk/tutorial type introduction to what Etherboot does and how to set it up, see my SLUG talk. You may wish to review this before reading further.

An older version of this README, which is now out of date, can be accessed via this link.

1.3 Getting help

There is a mailing list for all netbooting related issues. To subscribe follow the instructions on the Etherboot home page.

With the major exception of the following section, and the section on Writing an Etherboot Driver, most of the information on diskless booting is not specific to Etherboot but can be used for the Netboot package also.


Next Previous Contents