Subject: netbooting from a floppy disk bootblock.
To: None <port-i386@netbsd.org>
From: Simon Burge <simonb@netbsd.org>
List: port-i386
Date: 04/27/1999 16:37:27
Folks,

I'm may be trying to do something really silly here, so tell me if I
am and I'll just hide in the corner.  I admit to knowing very little
about PC hardware, especially anything that has more than just a few
ISA slots.

I'm trying to build a bootblock that I can throw on a floppy that
will netboot a kernel.  The PC has a 3c905b:

	simonpc:~ 2> dmesg | grep ex0
	ex0 at pci0 dev 16 function 0: 3Com 3c905B-TX 10/100 Ethernet
	ex0: interrupting at irq 11
	ex0: MAC address 00:10:5a:63:65:4f
	exphy0 at ex0 phy 24: 3Com internal media interface

In src/arch/i386/stand/netboot, I've got USE_NETIF=3c90xb.  Then I do
roughly the following:

	rm obj.i386/*
	make -k
	rm obj.i386/netboot.sym
	make netboot.sym
	/usr/mdec/installboot -v obj.i386/netboot.sym /dev/rfd0a

This seems to produce somethat that at least starts, but locks up
pretty quickly.  A bit of fudging finds that it's locking up between
the
	delay(1000);
and the
	ex_waitcmd();
in ex_reset() in stand/lib/netif/3c90xb.c .

Am I doing something that's completely wrong and has no chance of ever
working?  Is the standalone 3x905b driver known to work or not work in
a standalone program?


As an aside, do modern PC's (a IBM 300GL in this case) have hidden
reset buttons anywhere?  It's got one of those fancy soft-touch (but
mechanical) power switches, but nothing else I can find.  I've tried
various incantations while pushing, prodding and holding the switch,
but all it does is turn the power off :-)

Simon.