RTLinux-GPL EtherBoot Drivers project

Supported Drivers
Mailing List
Testing the drivers
Full drivers list

Development Page
The development page at SourceForge

RTLinux-gpl Home Page
Our web page at RTLinux-gpl here

Powered by:
SourceForge.net Logo
RTL-EtherBootD - The RTLinux-GPL Ethernet drivers project

WHAT IS RTL-EtherbootD ??

RTL-EtherBootD is an Open Source project which consists of porting the Ethernet card drivers provided in the Etherboot project to RTLinux.

Etherboot is an open source project that allows creating ROM images that can download code over an Ethernet network to be executed on an x86 computer (usually used to download a kernel image and a file system). The Etherboot code is stand-alone, meaning that it does not need Linux to be executed, and neither does the Ethernet drivers that Etherboot provides.

In this project we have ported the Ethernet drivers provided in Etherboot ,27 drivers supporting more than 200 NICs (Network Interface Controller), to RTLinux and we have modified them to provide a standard POSIX API (open, close, read, write and ioctl). Real-time tasks can use this API to send and receive packets through a network. No Linux process nor the Linux kernel will have knowledge of this drivers, only real-time tasks will be able to access them.

The Etherboot drivers are not interrupt-driven, so they can only be accessed by polling. The ported drivers create a dedicated periodic thread to poll the Ethernet card (the thread period can be configured by the user) in order to receive new packets if available. All this stuff is transparent to the user, this is only an implementation note.


The Etherboot project supports a lot of NICs (Network Interface Cards), unfortunately, we don't have a card of each model. We need help from the RTLinux community to test those drivers that we haven't been able to test. We provide the drivers, the files to test them and a HOW-TO test them. Any help is welcome.

RTL-EtherBootD is released under the GPL-2 license. Download it.

RTL-EtherBootD - Supported Drivers

We distinguish between "tested", "testing", "not assigned" and "in development" drivers (see the detailed list).

  • "Tested" drivers are tested and working drivers. "Tested" means that the driver is up and working. They are not named "stable" because once up and working we need to test them deeply.

  • "Testing" drivers are drivers assigned to a RTLinux user to test them (when tested and working the drivers will be assigned to the "tested" category).

  • "Not assigned" drivers are drivers ported to RTLinux but still not assigned to any user. Betatesters are requested to test these drivers.

  • "In development" drivers are drivers provided by the Etherboot project that still haven't been ported to RTLinux. This web page will be updated each time a driver of this category becomes upgraded to the "not assigned" category.

The "tested" drivers are:

  • 3Com 90x card series (3c90x)

  • Realtek 8139 card series (rtl8139)

The detailed list of the "tested", "testing", "not assigned" and "in development" drivers and what NICs they support can be checked here.

RTL-EtherBootD - Download archives

RTL-EtherbootD is still in development. The purpose of this beta release is to test the porting of the drivers in RTLinux machines.

RTL-EtherBootD 0.0.4 beta
RTL-EtherbootD 0.0.4 beta release
375 kb
RTL-EtherBootD 0.0.3 beta
RTL-EtherbootD 0.0.3 beta release
374 kb
RTL-EtherBootD 0.0.2 beta
RTL-EtherbootD 0.0.2 beta release
242 kb
RTL-EtherBootD 0.0.1 beta
RTL-EtherbootD 0.0.1 beta release
129 kb
RTL-EtherBootD - Mailing list

The RTL-EtherBootD devel mailing list at SourceForge:

RTL-EtherBootD - HowTo Test the drivers

The RTL-EtherbootD project has been developed with RTLinux-3.2-pre3 and the Linux kernel 2.4.21. Testing RTL-EtherbootD with other releases may cause errors. If so, please report them to racamlas_at_ono_dot_com.

Compiling the modules

In order to compile RTL-EtherbootD users must modify the fifth line of the Makefile to set the path to the rtl.mk file (included in the RTLinux sources directory). Once modified, save the changes and run "make" to compile the modules.

Testing the modules

Before inserting the modules you must be sure that there is no Linux driver using the Ethernet card. Linux drivers does not have to be removed, just turning down the interface will allow the RTLinux driver to work (ie: ifdown eth0 or ifconfig down eth0).

After compiling, the drivers are located in the modules directory. A module file named rtl_<driver_name>_drv.o is the porting of the <driver_name> Etherboot Driver to RTLinux.

In the examples directory there are three examples: read_example, ping and ping_debug. The read_example module tests the read call of the driver. The ping example runs an ICMP echo server that replies to ping calls, and the ping_debug example is the same example but with more debugging messages.

Before inserting the driver run "rtlinux start" and the "inst" script included in the parent directory (this script inserts a real-time Dynamic Memory Allocator module called TLSF).

At this moment, the RTLinux Ethernet driver can be inserted (see your card model in the full list of drivers). Next, insert the example module "ping_debug" (a parameter with the IP has to be passed to the module)and finally ping the RTLinux machine from other machine.

Even if the test works or fails please send a dmesg print to : racamlas_at_ono_dot_com and a copy to serpeal_at_upvnet_dot_upv_dot_es. We will also try to solve any problem you have when compiling or testing the drivers.


RTL-EtherbootD is under development, so testing the drivers included in this beta release may cause your system to crash. In order to prevent this, it is hardly recommended to insert the rtl_debug.o module (you must check it when compiling RTLinux-GPL). If your system crashes we can also debug your system if you send us by e-mail the last lines in /var/log/ksymoops/<last_log>.ksyms .

Last updated: $Date: 2004/06/02 14:00 $ (GMT+1)

Latest News
[02/06/04] New beta release 0.0.4b available
Some minor bugs fixed and make rules for each driver, go to download area.
[26/05/04] New beta release 0.0.3b available
All the chipsets supported by Etherboot project added, go to download area.
Archived news...

RTL-lwIP project
Etherboot project
RT-Portal UPV

Webmaster: racamlas_at_ono_dot_com (Rafael Campos)