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
documentation.
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
../handler first!)
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
re-construct it.
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
volume.
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!
Vince