Seems like you're firmly in the footsteps of the creators now... :-)

Paul Riley

Mo: +86 186 8227 8332



On Thu, 1 Oct 2020 at 20:52, Noel Chiappa <jnc@mercury.lcs.mit.edu> wrote:
    > From: Paul Riley

    > So mounting Mini-Unix on a running V6 system I guess allows you to run
    > Mini-Unix user mode binaries stuff

Ah, no. They are all link-loaded to run at TOPSYS (060000), so won't run on
V6 native.

    > Or do you plan to recompile on a stable system?

Well, I need to find out what the problem is, first.


Still, notable progress: using my 'mount the Mini-Unix RK pack on a V6 system'
hack (which woked fine; the native V6 'icheck' and 'dcheck' work on that
pack), I was able to sucessfully compile a few tweaked system modules (to get
my usual line-editing chars, and turn off that irritating lower-case mode),
and then build an OS load which could sucessfully boot. So good progress
there. A couple of things I learned:

- MiniUnix tools use the 'new' archive format, so the V6 vanilla 'ar' doen't
grok MiniUnix archives (e.g. lib1/lib2). I have a 'nar', which I found on the
'Shoppa disks', which can deal with them. (We don't have source for it, but
I'll bet the MIT PWB1 system has that; I'll get to that eventuallly. There's also
an 'ar.c' on the MiniUnix disk; between the two, we'll be able to reconstitute
source for 'nar'.)

- Also, the vanilla V6 linker, 'ld', _also_ doesn't understand new archives;
so the shell file to build a new system, 'shld':

  ld -a -x low.o conf.o lib1 lib2

blows out because it doesn't grok the libraries. Also, the '-a' flag, which
says 'link starting at 0, not TOPSYS', doesn't exist in the V6 'ld'.

I got around all that by unpacking lib1 (using 'nar', above) - it only contains
two files - and then listing the files to link directly:

  ld -x low.o conf.o syso emulo dev/kl.o dev/devstart.o dev/rk.o

The vanilla V6 linker of course produces an output linked at 0 without
the -a flag.


At some point, I'll produce a 'MiniUnix ld' on vanilla V6, so I can build
MiniUnix versions of applications there; the first will be the shell, so I
don't have to keep typing 'chdir' instead of 'cd'! :-)

Then on to trying to find out why MiniUnix crashes whenever I try and do
anything significant.

       Noel