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