Subject: Net booting
To: None <port-arm32@netbsd.org>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: port-arm32
Date: 12/09/2000 14:02:31
I've compiled up a kernel from the 1.5 sources with a few
tweaks:

EtherN patch
New bootloader patch to rpc_machdep.c
options NFS_BOOT_DHCP 
config	netbsd  root on ne0 type nfs
+ lots of commented out drivers

In addition, I've commented out the contents of inittodr() and
resettodr() in dev/todclock.c (the NC doesn't have an RTC).

With dhcpd 2.0pl15 the BOOTP requests cause dhcpd to give bad udp checksum
errors, so it doesn't reply. There is obviously something a little odd in
the BOOTP requests from the NetBSD kernel (possibly due to bugs in the
EtherN driver?). Commenting out the check in dhcpd allows progress. 

On an A7000 with EtherLan600, the root filesystem is mounted, but it then
hangs with "warning receiver ring buffer overrun". No BOOTP requests are
seen at all if an EtherN is installed.

On an NC, the interface is correctly configured by DHCP (it can be
pinged), but the root filesystem is not reported as being mounted and the
boot hangs. However, showmount -a demonstrates that it has been mounted. 

Might NFS problems be due to a likely 30-year time difference between the
client and server (the NC has no RTC and the NFS boot routines do call
inittodr())? Alternatively, perhaps there is a bug in the EtherN drivers
that is causing problems.

tcpdump shows repeated requests:

13:27:36.230981 xnc104.precedence.co.uk.3 > brio.precedence.co.uk.nfs: 112
  readdir fh 0,4/1931 8192 bytes @ 0
13:27:36.231136 brio.precedence.co.uk.nfs > xnc104.precedence.co.uk.3:
  reply ok 596 readdir

Any ideas?

-- 
Stephen Borrill