Date: Thu, 15 Jan 1998 15:11:39 +0100 (CET) From: Jacob Bohn Lorensen <jacob@jblhome.ping.dk> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: bin/5497: Rbootd cannot boot my hp9000s340 (patch included) Message-ID: <199801151411.PAA01450@pippin.jblhome.ping.dk>
next in thread | raw e-mail | index | archive | help
>Number: 5497
>Category: bin
>Synopsis: Rbootd cannot boot my hp9000s340
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jan 15 06:20:03 PST 1998
>Last-Modified:
>Originator: Jacob Bohn Lorensen
>Organization:
>Release: FreeBSD 3.0-CURRENT i386
>Environment:
CTM src-cur.3207
>Description:
When I try to setup rbootd to download OpenBSD's bootblock
(or any other bootblock, I guess) to a hp9000s340 machine I
have, all I see is and endless conversation like
Hp340: Who is my boot host?
FreeBSD: Your boot host is <pippin>! (my machine name)
Hp340: Who is my boot host?
FreeBSD: Your boot host is <pippin>
...
>How-To-Repeat:
Put a hp340 machine on your network. Put OpenBSD's SYS_UBOOT
into /usr/mdec/rbootd. Start /usr/libexec/rbootd -a -d. Turn on
the hp340 and watch the debugging output.
>Fix:
Here is a simple patch, inspired by looking at OpenBSD's rbootd.
It seems that a FreeBSD-specific bpf-hack is no longer necessary.
At least, with this change I can boot the hp340 machine.
pippin% cd /usr/src/libexec/rbootd/
pippin% cvs diff -u
cvs diff: Diffing .
Index: rmpproto.c
===================================================================
RCS file: /local/CVS/src/libexec/rbootd/rmpproto.c,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 rmpproto.c
--- rmpproto.c 1998/01/04 12:02:36 1.1.1.1
+++ rmpproto.c 1998/01/15 13:44:04
@@ -575,12 +575,7 @@
*/
memmove((char *)&rconn->rmp.hp_hdr.daddr[0],
(char *)&rconn->rmp.hp_hdr.saddr[0], RMP_ADDRLEN);
-#ifdef __FreeBSD__
- /* BPF (incorrectly) wants this in host order. */
- rconn->rmp.hp_hdr.len = rconn->rmplen - sizeof(struct hp_hdr);
-#else
rconn->rmp.hp_hdr.len = htons(rconn->rmplen - sizeof(struct hp_hdr));
-#endif
/*
* Reverse 802.2/HP Extended Source & Destination Access Pts.
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801151411.PAA01450>
