A lot of it was me just learning how V6 works in general. Getting V6 to boot on a simulated 11/23 was pretty easy (I had some issues getting it to compile at first, but it worked after I got that sorted out). Adding the RL02 and RX02 drivers was a tiny bit more difficult. I would say that the most difficult part was writing a RX02 boot program, trying to fit that into 512 bytes with interleave code took a few days.

You were right about the source of the issue. I incorrectly assumed that the EIS flag was only set in header.lsx.s, but it is also set in param.h. The default param.h has the EIS symbol define commented out, while header.lsx.s has it uncommented. By uncommenting the define in param.h and recompiling decfd.c, it allows the kernel to be successfully linked. The current kernel that builds is too big to be used with a 16K kernel size, but I think I just need to recompile everything with the new param.h, and maybe adjust a few other parameters.

I will look into getting an EIS chip. I'm probably going to move up to the 20K kernel size regardless, as I need the extra memory for changes that I want to make to the kernel. I am betting that the "0: Missing temp file" thing is due to some sort of file I/O issue, so I'll read into the compiler source to see what is generating it.

On Mon, Jul 11, 2022 at 4:24 PM Noel Chiappa <jnc@mercury.lcs.mit.edu> wrote:
    > From: Gavin Tersteeg       

    > I spent a lot of time getting UNIX V6 working on my PDP-11/23 system.
    > It took a lot of tinkering with the kernel and drivers to make it work
    > in the way I wanted to

You must have made a lot of changes for it to take "a lot of tinkering".
Bringing V6 up on the /23 has been done several times, and when I did
it, it only took about 2 dozen lines of code in about 2 files. What all
did you wind up changing?


    > From my research, it seems like there were two different UNIX variants
    > that could run on a system like this. These variants were LSX and
    > MINI-UNIX. MINI-UNIX seems to require a decent mass-storage device like
    > a RK05 and some porting to work on an 11/03, while LSX is designed to
    > work on exactly the hardware specs that I have on hand.

Bringing up MINI-UNIX on the /03 has been done at least twice; once
historically (now lost, AFAIK), and again recently:

    http://ana-3.lcs.mit.edu/~jnc/tech/unix/Mini/Mini.html

I'm not sure what you're basing the "MINI-UNIX seems to require a decent
mass-storage device like a RK05" on - it should run as well on whatever
you're running LSX on as LSX does.

I haven't run LSX myself, but from what I've seen, the only significant
difference between the two is that LSX will run with less main memory than
MINI-UNIX (which really kind of needs 56KB; LSX you can probably get away
with 40KB).That was a significant issue when the LSI-11 was originally
released, but these days one has to really work to have a QBUS PDP-11 with
less than 56KB.


    > my EIS-less 11/03

EIS chips can be found on eBait for not much money (I just bought a couple
myself), and it's worth investing in one, so on can dispense with the
emulator, which takes real memory for which a better use can be found.

    > The first issue is that the C compiler will randomly spit out a "0:
    > Missing temp file" when attempting to compile something. This is
    > annoying, but circumventable by just running the same command over and
    > over until it works.

Schaeffer's Law (from Larry Niven): anything you don't understand
might be dangerous. I'd track down why this is happening.

        Noel