Subject: Re: mopd and byte order
To: Maciej W. Rozycki <macro@ds2.pg.gda.pl>
From: Blaz Zupan <blaz@inlimbo.org>
List: port-pmax
Date: 03/01/2002 21:24:36
>  I've been very successful with booting ELF images via MOP using my
> modified mopd.  Sources (the original mopd 2.5.3 ones from
> 'ftp://ftp.stacken.kth.se/pub/OS/NetBSD/mopd/') and patches are available
> at 'ftp://ftp.ds2.pg.gda.pl/pub/macro/mopd/'.  They were used to boot
> different Linux releases plenty of times on the DECstation successfully
> (firmware versions tested: KN03 V5.1b, KN03 V5.2b, KN05 V2.1k).  They seem

Hey, thanks for this!

Now it's time for me to give a status report. Had some trouble compiling the
patched mopd, the problem was with the makefiles, I needed to use gmake and
also had to fix the Makefiles to put -lelf last in the link line, otherwise it
wouldn't link on NetBSD/sparc (I worked without this on FreeBSD). When running
on FreeBSD, mopd didn't work, which was apparently due to a very old #ifdef
FreeBSD in put.c. On NetBSD, there was no package for libelf, so I had to
compile it by myself, which didn't work out of the box. The following patch
fixed the libelf compile on NetBSD:

--- configure.orig      Tue Dec 25 14:08:32 2001
+++ configure   Fri Mar  1 16:49:20 2002
@@ -1123,7 +1123,7 @@

 fi

-for ac_hdr in unistd.h fcntl.h elf.h sys/elf.h link.h sys/link.h
+for ac_hdr in unistd.h fcntl.h sys/elf.h link.h sys/link.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -3039,7 +3039,7 @@
 fi

     case "$host" in
-      *-linux*)
+      *-linux*|*-netbsd*)
        if test "$GCC" = yes; then



After finally struggling through the mopd compile (on NetBSD/sparc), it
finally worked and I was able to MOP netboot a NetBSD ELF kernel.
Unfortunatelly it hung at exactly the same place as the diskboot. So I'm
giving up on NetBSD.

Amazingly enough, the Linux kernel seems to boot fine and I'm working on a
Linux installation right now. The only reason I was not able to try Linux
before was, that I did not have a working mopd (remember, tftp does not work
on my prom). Thanks Maciej!

But as Linux is not the topic of this list, I'll shut up now.