K12MIT on PDP-12
vincent.slyngstad at gmail.com
Fri Nov 26 19:48:23 CST 2021
On 11/25/2021 1:15 AM, Christian Corti via cctalk wrote:
> On Wed, 24 Nov 2021, Vincent Slyngstad wrote:
>> I haven't had much use for K12MIT -- the tools that come with the
>> latest SerialDisk can take apart and rebuild/modify bootable/server
>> images, so I just copy whatever to or the directory those tools are
>> using and rebuild the image (or re-explode the server image and copy
>> it out, to go the other way).
> I haven't understood the tools to build these disk images. There is no
> documentation IIRC. But I use SIMH and have a transfer disk image that I
> can mount with SerialDisk. There is one nuisance, though: SerialDisk
> won't see the updated image unless restarted. The advantage of SIMH is
> that I can "import" paper tape images (BIN or ASCII). That is something
> even PUTR can't accomplish.
It has become clear that my documentation is inadequate. (You aren't
the first to complain.)
As mentioned in the installer/README.md, the "sdsk" script is the fancy
"does it all" installer. It requires perl, a couple of other packages
as mentioned, and the tools from the "tools" directory.
As mentioned in the tools/README.md, the tools directory is a subset of
the "8tools", a suite of software forensics tools which are targeted at
the PDP-8. (Instructions in tools/README.md on where to get those.)
The 8tools do come with a "doc" sub-directory with a write-up of each tool.
The tools, with the exception of the cross-assembler (C source
provided), are perl scripts, and contain source code but not really any
pal is a cross-assembler, which will take PAL source and generate a
listing (.lst) and a binary (.bin). It's main use is to convert
Serialdisk source in ../handler to .bin files. (Do the "make" in
bin2bn converts .bin files to proper OS/8 format by padding them with
trailer bytes to a multiple of the OS/8 block size. The result can be
included with the files used to build OS/8 images.
bincmp is a comparison tool which will diff .bin (or .bn) files.
os8xplode takes a ".dsk" file and explodes it into directories
containing the individual files for each file-system found. It also
writes an ".xml" description of the OS/8 volume so that "mkdsk" can
mkdsk reads the .xml mentioned above, and the various individual files,
and reconstructs the specified OS/8 volume.
os8implode is a tools that scans the (probably modified) directories
associated with a disk volume, and writes a new .xml description
suitable for mkdsk. The magic "dot" files will be used to reconstruct
the system areas, and all files that match the OS/8 "6.2" naming
convention will be included in the new image.
installer/sdsk, then, rounds up the SerialDisk drivers from ../handler
for inclusion in the new volume, then runs os8implode and mkdsk to
construct a volume that has the .bn files for the drivers. Then it runs
SIMH (see "installer/runbuild" and "installer/pdp8.ini"). SIMH will
then be fed the commands to convert your OS/8 volume into a SerialDisk
runbuild is an expect script, which is why you need to install expect :-).
For this to work correctly, you need to install the packages mentioned
in the installer/README.md and add the tools directory to your path.
Then a simple ./sdsk should work. (You can edit sdsk to select another
image from ../disks.) Your new volume will have a name like
"diagpack2.new", and can be served with the server from ../server.
Hope that helps!
More information about the cctech