Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Mopd which works with ELF and a.out in Linux and can netboot ULTRIX



Den 2020-10-31 kl. 18:06, skrev David Brownlee:
On Sat, 31 Oct 2020 at 15:29, Maciej W. Rozycki <macro%linux-mips.org@localhost> wrote:
On Wed, 28 Oct 2020, David Brownlee wrote:

I've committed the pfInit and 1k/4k changes.
One quick question on the mid 0 change - should the N_BADMAG (ex) &&
N_BADMAG (ex_swap)) check be conditionalised on mid 0?
I don't think the N_BADMAG (ex) check should be conditional, because it
seems all a.out files should have magic numbers there, which are the
same across different operating systems. Anyways, if some foreign a.out
files used different magic numbers, mopd couldn't tell if the file is
OMAGIC or NMAGIC, which could cause problems. So it seems best to reject
such files.
Ah, yes, now I actually read the code, that makes more sense :)
  For the record: some 20 years ago I was in a need for a usable `mopd'
daemon under Linux, so I grabbed whatever sources were available, cleaned
some stuff up, added proper packet socket level (data link layer level)
multicast support (no need for allmulti or promiscuous operation), added
FDDI support, i.e. SNAP frame essentially (so that I could boot my
DECstations over DEFZA and DEFTA interfaces, which do support it), and
finally added ELF support so that I didn't have to go through hoops to
boot ELF images.

  I continue using this stuff to this day (most recently earlier this
month), although there are a couple shortcomings, most notably if an
interface `mopd' listens on goes down then the daemon dies and has to be
restarted (I guess a socket error isn't handled correctly; proper event
handling would have to be added for interfaces going down and up, so that
multicast group membership is correctly maintained over the interfaces
listened on, which is all by default).

  Regrettably I was unable to find any package maintainer or proper
upstream sources, so my patches were never submitted anywhere, but I
packaged them into the RPM format (one of the two major Linux package
formats) in the source and a couple of binary forms and published on my
FTP site, in addition to loose patches.  This stuff is still online, so if
anyone is interested, please feel free to have a look at:

<ftp://ftp.linux-mips.org/pub/linux/mips/people/macro/mopd/>

  I'll be happy to have this stuff upstreamed too even now after those 20
years if there's still something missing from whatever `mopd' sources are
considered the reference these days.
I think the canonical mopd was (and may still be) in NetBSD
http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/mopd/ but active
development directly intended to support Linux while not breaking
existing platforms is happening in dreamlayers' repo
https://github.com/dreamlayers/netbsd-mopd (which I hope to sync back
into NetBSD's version on an ongoing basis)

It would be very cool to merge back all of your patches which still apply :)

IIRC it was Mats O Jansson (moj@stacken) that wrote it from the beginning.  And see - he still has an informative web page available for it :-)

http://www.stacken.kth.se/~moj/mopd.html

-- Ragge


Home | Main Index | Thread Index | Old Index