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



I did not use the old Linux port from https://github.com/qu1j0t3/mopd, and instead used https://github.com/NetBSD/src/tree/trunk/usr.sbin/mopd, which is an official conversion of http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/mopd/ to git. It uses the same source as when building mopd on NetBSD, except it uses different files for interfacing with network devices (common/loop-linux2.c and common/pf-linux2.c) and disables ELF and a.out support by defining NOELF and NOAOUT. I made the NOELF and NOAOUT defines unnecessary by building with 3 NetBSD header files.

On 2020-10-27 2:19 a.m., Johnny Billquist wrote:
Why did you start from the Linux mopd?
The NetBSD mopd is a different thing than whatever you used under Linux.

I think you started from the totally wrong thing here.

   Johnny

On 2020-10-27 04:07, Boris Gjenero wrote:
My last message was about problems trying to netboot a MicroVAX II. One of the problems was the Linux port of mopd not understanding a.out files and serving them improperly. Back then I did something quick and dirty to get it to work. Afterwards I wanted to do something cleaner. Here it is:
https://github.com/dreamlayers/netbsd-mopd

It is based on the Linux port which is already in NetBSD CVS, but without ELF and a.out support. For ELF and a.out support, it is using the same strategy, building on Linux with header files from NetBSD. Though in this case it is based on current NetBSD code, and supports ELF, 4k page size a.out and old 1k page size a.out. It also supports a.out files with mid == 0, for Athena-4.3BSD, ULTRIX and possibly other operating systems.

After I got that working I took a look at how to netboot ULTRIX using this mopd. After a few additions, I've successfully netbooted ULTRIX 4.00 on KA630, KA650 and VAXstation 3100 m38. For more information on that see:
https://github.com/dreamlayers/netbsd-mopd/tree/dreamlayers/ultrix

Yes, that includes the KA630 I was having problems with. One of the problems was really silly: I had the back panel switch in the loopback position, which connects the CPU's console serial output to input. Though even with that fixed, the versions of NetBSD boot loader which output to QDSS don't allow input, either from QDSS or serial. Maybe the wrong firmware routine is being used for input?

Probably I now need to look at how to get some of this work included in NetBSD. At least the fixes to what's already there seem like a good idea. One issue is wrong pfInit() parameter, preventing mopd from working in Linux at all: https://github.com/dreamlayers/netbsd-mopd/commit/b94f02f307a3127c20581d8d40bce8ad0ba3b89e Also, it seems like mopd was never updated to 4k page size, which is however inconsequential with OMAGIC boot: https://github.com/dreamlayers/netbsd-mopd/commit/7b0f60bf5454f2742890f9815ebe56f965f6fe25

One last thing. Be careful about the NiCD batteries in VAXen. So far 3 out of 4 were leaking. It's not obvious, because the battery is covered by shrink wrap. The most obvious external sign is corrosion at the battery connector, maybe because the leaking liquid wicks or gets pushed along inside the insulation of the wires. After removing the battery from the holder, more leakage is found on the sides, where gaps in the shrink wrap were covered by the holder. My damage is confined to minor corrosion of the battery connector pins, but others have reported worse. If you need more motivation to take old batteries out of your VAXen, read https://sites.google.com/site/dalbydatormuseum/computers/digital-equipment-corporation/microvax2000




Home | Main Index | Thread Index | Old Index