I have written and released an SiS900 driver for Etherboot.
It is available as a patch to Etherboot version 4.7.20 on
http://www.thinguin.org/
and (for those who require more instant gratification :-) on demand at
http://rom-o-matic.net/
I have tested this driver with an SiS900 based Asante 10/100 card, and
have also booted a ThinkNIC (http://www.thinknic.com) computer with it.
"One... Two... You know what to do..." ;-)
Enjoy,
Marty
P.S.
The Etherboot Project is always looking for new developers and users and
technical writers and fans and... (you get the idea :-)
So, here's a little something to help get you going if you want to become
involved. I wrote this driver also to help people to get started writing
Etherboot drivers. Writing drivers is a little like poetry.
You have to be economical with your code, much like a poet is with words;
It has been said that poetry is more work per word than other kinds of
writing; I think drivers are somewhat like that, but when you get it
right, you are having an intimate conversation with the hardware, and the
satisfaction of knowing that somewhere someone is using your code,
possibly burned into a ROM, and loading an OS, and you helped them.
The rom-o-matic is doing over 800 roms a week now. I haven't looked too
closely at exactly what people are generating, but I'm only counting
ROMs, not hits to the site. It's nice to know that people are using this
resource. When I get a moment I'd like to release the PHP code for the
rom-o-matic so others can make sites that provide free services via the
web. "It's nice to share".
And so another hack goes in the books. I'm still more than a little high
from doing the Etherboot booth at LinuxWorld Expo (there's stuff on
http://thinguin.org/ about it if you're interested), and we're hoping to
do a couple more shows before the end of the year. It should be fun.
That's about it. Just wanted to let you know that there are real people
behind this project, and we do it because we believe in the technology,
and because it's neat, and of course because we enjoy the community.
Come hack with us.
Here's a file I included with this latest driver:
-----------
How I added the SIS900 card to Etherboot
Author: Marty Connor (mdc@thinguin.org)
Date: 25 February 2001
Description:
This file is intended to help people who want to write an Etherboot
driver or port another driver to Etherboot. It is a starting point.
Perhaps someday I may write a more detailed description of writing an
Etherboot driver. This text should help get people started, and
studying sis900.[ch] should help show the basic structure and
techniques involved in writing and Etherboot driver.
***********************************************************************
0. Back up all the files I need to modify:
cd etherboot-4.7.20/src
cp Makefile Makefile.orig
cp config.c config.c.orig
cp pci.h pci.h.orig
cp NIC NIC.orig
cp cards.h cards.h.orig
1. Edit src/Makefile to add SIS900FLAGS to defines
SIS900FLAGS= -DINCLUDE_SIS900
2. edit src/pci.h to add PCI signatures for card
#define PCI_VENDOR_ID_SIS 0x1039
#define PCI_DEVICE_ID_SIS900 0x0900
#define PCI_DEVICE_ID_SIS7016 0x7016
3. Edit src/config.c to add the card to the card probe list
#if defined(INCLUDE_NS8390) || defined(INCLUDE_EEPRO100) ||
defined(INCLUDE_LANCE) || defined(INCLUDE_EPIC100) ||
defined(INCLUDE_TULIP) || defined(INCLUDE_OTULIP) ||
defined(INCLUDE_3C90X) || defined(INCLUDE_3C595) ||
defined(INCLUDE_RTL8139) || defined(INCLUDE_VIA_RHINE) ||
defined(INCLUDE_SIS900) || defined(INCLUDE_W89C840)
... and ...
#ifdef INCLUDE_SIS900
{ PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS900,
"SIS900", 0, 0, 0, 0},
{ PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS7016,
"SIS7016", 0, 0, 0, 0},
#endif
... and ...
#ifdef INCLUDE_SIS900
{ "SIS900", sis900_probe, pci_ioaddrs },
#endif
4. Edit NIC to add sis900 and sis7016 to NIC list
# SIS 900 and SIS 7016
sis900 sis900 0x1039,0x0900
sis7016 sis900 0x1039,0x7016
5. Edit cards.h to add sis900 probe routine declaration
#ifdef INCLUDE_SIS900
extern struct nic *sis900_probe(struct nic *, unsigned short *
PCI_ARG(struct pci_device *));
#endif
***********************************************************************
At this point, you can begin creating your driver source file. See
the "Writing an Etherboot Driver" section of the Etherboot
documentation for some hints. See the skel.c file for a starting
point. If there is a Linux driver for the card, you may be able to
use that. Copy and learn from existing Etherboot drivers (this is GPL
/ Open Source software!).
Join the etherboot-developers and etherboot-users mailing lists
(information is on etherboot.sourceforge.net) for information and
assistance. We invite more developers to help improve Etherboot.
Visit the http://etherboot.sourceforge.net, http://thinguin.org,
http://rom-o-matic.net, and http://ltsp.org sites for information and
assistance.
Enjoy.
---
Try: http://rom-o-matic.net/ to make Etherboot images instantly.
Name: Martin D. Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA
Voice: (617) 491-6935, Fax: (617) 491-7046
Email: mdc@thinguin.org
Web: http://www.thinguin.org/
===========================================================================
This Mail was sent to netboot mailing list by:
Marty Connor <mdc@thinguin.org>
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.