Subject: RE: Diskless systems
To: None <port-i386@netbsd.org>
From: Mark Randelhoff <MarkR@cat.co.za>
List: port-i386
Date: 09/09/1999 17:22:32
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------ =_NextPart_001_01BEFAD7.2569ECA0
Content-Type: text/plain

Hi
>>Do you have any documentation what the boot ROM is attempting to do?
>>(Perhaps it loads the file like a normal boot sector and jumps
>>to it. Then one could be able to build an intermediate-stage boot
>>loader which pulls in the real kernel.)
>>There is also some boot ROM code at sys/i386/stand/netboot.
>>It works with a 3c905b, I guess it would need only minor
>>tweaking to recognize a 905c.

> The Makefile in stand/netboot must be changed to produce
> something useful. You'll probably need a larger ROM_SIZE,
> and if it is still to large you can kick out compression
> support (SA_USE_CREAD).

I would really appreciate a bit of direction....

I have stopped trying to get my 3c905c-tx working in favour of a 3c905b.
This is the first time I have tried getting a boot rom to work and I 
figured it was worth repeating the exercise on a proven working example
first.
Also, I have had *absolutely* no support for the 3com people in getting
more 
information about the mechanism of the 905c loader.

I managed without too much difficulty to get netboot and genprom to
produce a 
file of about 50K and a rom of 64K (512 kbit rom). I then programmed a
(28pin) 
27C512 with what I presumed was the binary format and seated it in the
32 pin 
socket of 3c905B. I assume something is working because I dont get a
boot error
problem from the BIOS (looking for a bootable disk) and the display
remains blank,
other than the initial bios boot stuff (no disk/floppy; ram size;
parallel ports etc). 
If I place the rom the other end of the socket bios complains about a
lack of bootable 
disk. Is this correct? Looking through the binary rom code there are
some text messages
so I would expect some user interaction in the boot process.

The activity light on the adapter does not flicker at all although the 
10M link light is on permanently.

On my boot server, I compiled the ramdisk code under
/usr/src/distrib/i386/floppies/ramdisk
and produced a /dev/vnd0a with the following properties:
blocks = 1375, used = 1047, avail=328, capacity=76%, iused=262, free=24,
%iused=91 and mounted /mnt.
The kernel reports "vnd0 no disk label".

I then installboot
/usr/mdec/installboot -v netboot.sym /dev/rvnd0a
and the call returns the following:

netboot.sym: entry point 0x12000
proto bootblock size 42496
room for 10 file systems blocks at 0x580
renamed /mnt/boot->/mnt/boot.bak
Will load 68 blocks
dblk:2304,num 8
....
...
dblk:2300, num 4
BSD partition starts at sect 0.

I have attached a directory listing of the contents of the root of /mnt
boot directory below.

I have previously set up a bootp & tftp server for a bootrom supplied
for the 3c905c with the
3com bootrom; this is still installed and pointing to the tftpboot
directory. Is this still necessary
and if so should it point to /mnt?

Where do I go from now? The documentation is fairly lean for a newbie? I
would 
really appreciate any advice.

Kind regards
Mark


=========================================

total 993
-rw-r--r--   1 root  wheel    2493 Sep  8 22:21 .profile
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 bin
-r--r--r--   1 root  wheel   34816 Sep  8 22:27 boot
drwxr-xr-x   2 root  wheel    3584 Sep  8 22:21 dev
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 dist
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 etc
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 kern
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 mnt
drwxr-xr-x   2 root  wheel     512 Sep  8 22:21 mnt2
drwxr-xr-x   2 root  wheel    1024 Sep  8 22:21 sbin
-rwxr-xr-x  50 root  wheel  966656 Sep  8 22:21 sysinst
drwxrwxrwt   2 root  wheel     512 Sep  8 22:21 tmp
drwxr-xr-x   6 root  wheel     512 Sep  8 22:21 usr

------ =_NextPart_001_01BEFAD7.2569ECA0
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DUS-ASCII">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.1960.3">
<TITLE>RE: Diskless systems </TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Hi</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;Do you have any documentation what the boot =
ROM is attempting to do?</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;(Perhaps it loads the file like a normal =
boot sector and jumps</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;to it. Then one could be able to build an =
intermediate-stage boot</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;loader which pulls in the real =
kernel.)</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;There is also some boot ROM code at =
sys/i386/stand/netboot.</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;It works with a 3c905b, I guess it would =
need only minor</FONT>
<BR><FONT SIZE=3D2>&gt;&gt;tweaking to recognize a 905c.</FONT>
</P>

<P><FONT SIZE=3D2>&gt; The Makefile in stand/netboot must be changed to =
produce</FONT>
<BR><FONT SIZE=3D2>&gt; something useful. You'll probably need a larger =
ROM_SIZE,</FONT>
<BR><FONT SIZE=3D2>&gt; and if it is still to large you can kick out =
compression</FONT>
<BR><FONT SIZE=3D2>&gt; support (SA_USE_CREAD).</FONT>
</P>

<P><FONT SIZE=3D2>I would really appreciate a bit of =
direction....</FONT>
</P>

<P><FONT SIZE=3D2>I have stopped trying to get my 3c905c-tx working in =
favour of a 3c905b.</FONT>
<BR><FONT SIZE=3D2>This is the first time I have tried getting a boot =
rom to work and I </FONT>
<BR><FONT SIZE=3D2>figured it was worth repeating the exercise on a =
proven working example first.</FONT>
<BR><FONT SIZE=3D2>Also, I have had *absolutely* no support for the =
3com people in getting more </FONT>
<BR><FONT SIZE=3D2>information about the mechanism of the 905c =
loader.</FONT>
</P>

<P><FONT SIZE=3D2>I managed without too much difficulty to get netboot =
and genprom to produce a </FONT>
<BR><FONT SIZE=3D2>file of about 50K and a rom of 64K (512 kbit rom). I =
then programmed a (28pin) </FONT>
<BR><FONT SIZE=3D2>27C512 with what I presumed was the binary format =
and seated it in the 32 pin </FONT>
<BR><FONT SIZE=3D2>socket of 3c905B. I assume something is working =
because I dont get a boot error</FONT>
<BR><FONT SIZE=3D2>problem from the BIOS (looking for a bootable disk) =
and the display remains blank,</FONT>
<BR><FONT SIZE=3D2>other than the initial bios boot stuff (no =
disk/floppy; ram size; parallel ports etc). </FONT>
<BR><FONT SIZE=3D2>If I place the rom the other end of the socket bios =
complains about a lack of bootable </FONT>
<BR><FONT SIZE=3D2>disk. Is this correct? Looking through the binary =
rom code there are some text messages</FONT>
<BR><FONT SIZE=3D2>so I would expect some user interaction in the boot =
process.</FONT>
</P>

<P><FONT SIZE=3D2>The activity light on the adapter does not flicker at =
all although the </FONT>
<BR><FONT SIZE=3D2>10M link light is on permanently.</FONT>
</P>

<P><FONT SIZE=3D2>On my boot server, I compiled the ramdisk code under =
/usr/src/distrib/i386/floppies/ramdisk</FONT>
<BR><FONT SIZE=3D2>and produced a /dev/vnd0a with the following =
properties:</FONT>
<BR><FONT SIZE=3D2>blocks =3D 1375, used =3D 1047, avail=3D328, =
capacity=3D76%, iused=3D262, free=3D24, %iused=3D91 and mounted =
/mnt.</FONT>
<BR><FONT SIZE=3D2>The kernel reports &quot;vnd0 no disk =
label&quot;.</FONT>
</P>

<P><FONT SIZE=3D2>I then installboot</FONT>
<BR><FONT SIZE=3D2>/usr/mdec/installboot -v netboot.sym =
/dev/rvnd0a</FONT>
<BR><FONT SIZE=3D2>and the call returns the following:</FONT>
</P>

<P><FONT SIZE=3D2>netboot.sym: entry point 0x12000</FONT>
<BR><FONT SIZE=3D2>proto bootblock size 42496</FONT>
<BR><FONT SIZE=3D2>room for 10 file systems blocks at 0x580</FONT>
<BR><FONT SIZE=3D2>renamed /mnt/boot-&gt;/mnt/boot.bak</FONT>
<BR><FONT SIZE=3D2>Will load 68 blocks</FONT>
<BR><FONT SIZE=3D2>dblk:2304,num 8</FONT>
<BR><FONT SIZE=3D2>....</FONT>
<BR><FONT SIZE=3D2>...</FONT>
<BR><FONT SIZE=3D2>dblk:2300, num 4</FONT>
<BR><FONT SIZE=3D2>BSD partition starts at sect 0.</FONT>
</P>

<P><FONT SIZE=3D2>I have attached a directory listing of the contents =
of the root of /mnt boot directory below.</FONT>
</P>

<P><FONT SIZE=3D2>I have previously set up a bootp &amp; tftp server =
for a bootrom supplied for the 3c905c with the</FONT>
<BR><FONT SIZE=3D2>3com bootrom; this is still installed and pointing =
to the tftpboot directory. Is this still necessary</FONT>
<BR><FONT SIZE=3D2>and if so should it point to /mnt?</FONT>
</P>

<P><FONT SIZE=3D2>Where do I go from now? The documentation is fairly =
lean for a newbie? I would </FONT>
<BR><FONT SIZE=3D2>really appreciate any advice.</FONT>
</P>

<P><FONT SIZE=3D2>Kind regards</FONT>
<BR><FONT SIZE=3D2>Mark</FONT>
</P>
<BR>

<P><FONT =
SIZE=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT>
</P>

<P><FONT SIZE=3D2>total 993</FONT>
<BR><FONT SIZE=3D2>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp; 2493 Sep&nbsp; 8 22:21 .profile</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 bin</FONT>
<BR><FONT SIZE=3D2>-r--r--r--&nbsp;&nbsp; 1 root&nbsp; =
wheel&nbsp;&nbsp; 34816 Sep&nbsp; 8 22:27 boot</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp; 3584 Sep&nbsp; 8 22:21 dev</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 dist</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 etc</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 kern</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 mnt</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 mnt2</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp; 1024 Sep&nbsp; 8 22:21 sbin</FONT>
<BR><FONT SIZE=3D2>-rwxr-xr-x&nbsp; 50 root&nbsp; wheel&nbsp; 966656 =
Sep&nbsp; 8 22:21 sysinst</FONT>
<BR><FONT SIZE=3D2>drwxrwxrwt&nbsp;&nbsp; 2 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 tmp</FONT>
<BR><FONT SIZE=3D2>drwxr-xr-x&nbsp;&nbsp; 6 root&nbsp; =
wheel&nbsp;&nbsp;&nbsp;&nbsp; 512 Sep&nbsp; 8 22:21 usr</FONT>
</P>

</BODY>
</HTML>
------ =_NextPart_001_01BEFAD7.2569ECA0--