Subject: Booting from the network
To: None <port-sparc@NetBSD.ORG>
From: Jack Culpepper <jack@muddcs.cs.hmc.edu>
List: port-sparc
Date: 06/27/1996 02:14:06
Hi all!
Well, I'm really starting to love my IPC, which is now running X. However,
now I'm fiddling with serving a kernel to a diskless SLC, and am running into
some strange (at least to me) problems. I've got tftp and bootp all setup
on 'larry', my netbsd machine, and tftp works when I manually invoke it (that
is, using 'tftp') from both larry and 'moe', an IPC running Solaris 2.5.
I've been using snoop on moe to get a little closer to the problem. Here is
some output:
(anine and armstrong are the same SLC; anine is the name that RARPs from my
netbsd machine, and armstrong is the name that RARPs from a Solaris server on
another network.)
jack@moe # snoop
Using device /dev/le (promiscuous mode)
anine.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Read "86AD2B50.SUN4C" (octet)
anine.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Read "86AD2B50.SUN4C" (octet)
anine.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Read "86AD2B50.SUN4C" (octet)
anine.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Read "86AD2B50.SUN4C" (octet)
moe.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Read "86AD2B50.SUN4C" (netascii)
larry.oslab.cs.hmc.edu -> moe.oslab.cs.hmc.edu TFTP Data block 1 (512 bytes)
moe.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Ack block 1
larry.oslab.cs.hmc.edu -> moe.oslab.cs.hmc.edu TFTP Data block 2 (512 bytes)
moe.oslab.cs.hmc.edu -> larry.oslab.cs.hmc.edu TFTP Ack block 2
larry.oslab.cs.hmc.edu -> moe.oslab.cs.hmc.edu TFTP Data block 3 (512 bytes)
The first bit is me booting the SLC from the network. It RARPs to anine,
then asks larry for "86AD2B50.SUN4C", which exists in the /tftpboot dir.
larry doesn't respond. Then I do a 'tftp larry' on moe, and ask for the
same file. larry serves it! I think the (octet) and (netascii) on the end
is the key to the answer, but I'll be damned if I can get to it from here.
Here's some output of me booting the same SLC on another subnet:
jack@muddcs # snoop host armstrong
Using device /dev/le (promiscuous mode)
armstrong.cs.hmc.edu -> muddcs.cs.hmc.edu TFTP Read "86AD2A50.SUN4C" (octet)
muddcs.cs.hmc.edu -> armstrong.cs.hmc.edu TFTP Data block 1 (512 bytes)
armstrong.cs.hmc.edu -> muddcs.cs.hmc.edu TFTP Ack block 1
muddcs.cs.hmc.edu -> armstrong.cs.hmc.edu TFTP Data block 2 (512 bytes)
armstrong.cs.hmc.edu -> muddcs.cs.hmc.edu TFTP Ack block 2
muddcs.cs.hmc.edu -> armstrong.cs.hmc.edu TFTP Data block 3 (512 bytes)
armstrong.cs.hmc.edu -> muddcs.cs.hmc.edu TFTP Ack block 3
muddcs.cs.hmc.edu -> armstrong.cs.hmc.edu TFTP Data block 4 (512 bytes)
The SLC RARPs to 'armstrong' via muddcs, then asks muddcs for "86AD2A50.SUN4C"
(I don't know why it asks for a different bootfile). Muddcs (which is running
Solaris 2.4) serves it.
Why will NetBSD's tftp not serve requests for bootfiles in "octet"? Has
anyone successfully booted a Sun over the network from a NetBSD machine?
Thanks for reading!
Jack