I don’t think it is possible to do what Tim suggests. I think a KA ITS system uses RP03s, and you cannot mix disk types in ITS. You can, however, add more RP03s.
However, when you do this, you actually have to format the new pack with a salvager that knows about the additional drive, and you must rebuild ITS to expect more drives. I did write up an INFO topic on the subject — however, I wrote it up for the KLH10 simulator, not the pdp10-ka simulator. Here is the topic, with some notes, in read, as to the differences for pdp10-ka. I haven’t tested these with KA ITS though, so you may have to tweak them a bit.
This info topic is in the pdp-10/its repository under doc/info/tips.2.
I HIGHLY recommend you make a copy of your existing rp03.N files in case you mess something up. Then you can just repeat the process after restoring your old disks.
Please let me know if you find a mistake in these instructions. We should update the doc/info/tips.N file in the source tree if there are errors.
File: TIPS, Node: Adding an additional disk, Next: Build new version of SALV or NSALV, Up: TOP
* Menu:
* Build new version of SALV or NSALV::
* Build new version of ITS::
* Build new version of DSKDMP (optional)::
* Shut down ITS::
* Update emulator configuration for new disks::
* Boot SALV or NSALV::
* Format new disk pack::
* Copy user directories from first disk to new disk(s)::
* Create new bootable ITS::
* Boot new ITS::
File: TIPS, Node: Build new version of SALV or NSALV, Up: Adding an additional disk, Next: Build new version of ITS
1. Edit the file KSHACK;NSALV > or SYSTEM;SALV >. Use this for KA.
2. Update NDRIVE to specify the total number of drives desired.
For RP06 and RP07 drives, the number of drives equals the number of packs.
For a 1-pack system (default), NDRIVE==1. If you are adding a second drive, change this to NDRIVE==2.
3. Update NUNITS to specify the total number of pasks desired.
For RP06 and RP07 drives, the number of drives equals the number of packs.
For a 1-pack system (default), NUNITS==1. If you are adding a second pack, change this to NUNITS==2.
4. Update LASTPK to specify the 0-based number of the last pack
For a 1-pack system (default), LASTPK==0. If you are adding a second disk/pack, change this to LASTPK==1.
5. Back up active version of NSALV or SALV:
a. For NSALV:
:RENAME .;nsalv bin,nsalv obin
b. For SALV:
:RENAME .;salv bin,salv obin
5. Assemble a new NSALV or SALV:
a. For NSALV:
:MIDAS dsk0:.;_kshack;nsalv
b. For SALV:
:MIDAS dsk0:.;_system;salv
File: TIPS, Node: Build new version of ITS, Previous: Build new version of SALV or NSALV, Up: Adding an additional disk, Next: Build new version of DSKDMP (optional)
1. Edit the file SYSTEM; CONFIG >.
2. Update the value of NQS to reflect number of packs.
For a 1-pack system (default), NQS==1. If you are adding a second pack, change this to NQS==2.
3. Back up active ITS binary:
:RENAME .;its bin,oits bin
4. Assemble a new ITS:
:MIDAS dsk0:.;_system;its
File: TIPS, Node: Build new version of DSKDMP (optional), Previous: Build new version of ITS, Up: Adding an additional disk, Next: Shut down ITS
This step is optional, however recommended. It is quite possible that you may need to perform operations
from DSKDMP on the new drive. Your existing DSKDMP may only know about your current number of drives,
and therefore not be able to manipulate your new drive. If this is the case you should update DSKDMP
to know about the new drive and reassble it.
1. Edit the file SYSTEM; DSKDMP >.
2. Make sure that the value of NDSK is equal or greater than the total number of disks you have defined in ITS.
3. Back up active DSKDMP binary:
:RENAME .;dskdmp bin,dskdmp obin
3. Reassemble DSKDMP:
:MIDAS DSK0:.;_SYSTEM;DSKDMP
File: TIPS, Node: Shut down ITS, Previous: Build new version of DSKDMP (optional), Up: Adding an additional disk, Next: Update emulator configuration for new disks
1. Logout all users except on system console.
2. On system console, invoke LOCK to shut the system down
LOCK^K
5DOWN
y
^C
3. Wait until ITS has shut down.
File: TIPS, Node: Update emulator configuration for new disks, Previous: Shut down ITS, Up: Adding an additional disk, Next: Boot SALV or NSALV
This procedure is different for the various emulators used to boot ITS. For KLH10, update the dskdmp.ini file to
add a new line similar to this one:
devdef dskN rh0.N rp type=rp06 format=dbd9 path=rpN.dsk iodly=0
where the value N is replaced with the the disk number. For example, the default system contains a single line like this:
devdef dsk0 rh0.0 rp type=rp06 format=dbd9 path=rp0.dsk iodly=0
If you are adding a single new disk, the resulting lines should look like this:
devdef dsk0 rh0.0 rp type=rp06 format=dbd9 path=rp0.dsk iodly=0
devdef dsk1 rh0.1 rp type=rp06 format=dbd9 path=rp1.dsk iodly=0
For KA, you’ll add them following this pattern:
at dpa0 ./rp03.2
at dpa1 ./rp03.3
at dpa2 ./rp03.0
at dpa3 ./rp03.1
at dpa4 ./rp03.4
at dpa5 ./rp03.5
File: TIPS, Node: Boot SALV or NSALV, Previous: Update emulator configuration for new disks, Up: Adding an additional disk, Next: Format new disk pack
1. Boot the old (or new) version of DSKDMP.
2. Invoke NSALV or SALV.
a. For NSALV:
l$ddt
t$nsalv bin
b. For SALV:
l$ddt
t$salv bin
File: TIPS, Node: Format new disk pack, Previous: Boot SALV or NSALV, Up: Adding an additional disk, Next: Copy user directories from first disk to new disk(s)
1. Make sure you are in DDT with NSALV or SALV loaded.
2. Format the new pack:
MARK$G
Format pack on unit #1 (make sure you use the next unit number, not existing ones!!!!)
Are you sure you want to format pack on drive # 1 (Y or N) y
Pack no ?1 (use appropriate pack number)
Pack 1., Drive #1 is serial #2.
Begin formatting 815. cylinders....Hardware formatting complete.
Verify pack? (Y or N) n
Swapping Alloc? 3000
Pack #1. ID?DISK2 (don’t reuse an existing one)
DDT
3. Check the drive:
CHKR$G
Salvager 262
Active unit numbers? 01 (use 012345, or whatever is appropriate for your system — list all drives starting with 0 up to the Nth one)
Unit #1. ID is DISK2, Pack #1 (hardware says 0.)
Unit #0. ID is FOOBAR, Pack #0 (hardware says 58562.)
Use MFD from unit: 0
Directories out of phase.
Unit #0, Pack 0. Ascending dir number is 212
Unit #1, Pack 1. Ascending dir number is 0
Verify that the proper packs are mounted.
If you aren't sure, get help. If they are proper,
and one is just coming on-line after being off for
a while, you will have to UCOP to it.
Read all blocks of all files? (Y or N)
Get user dirs from unit: 0
Write out changes in MFD (y or N) y
DDT
File: TIPS, Node: Copy user directories from first disk to new disk(s), Previous: Format new disk pack, Up: Adding an additional disk, Next: Create new bootable ITS
Make sure are in DDT with NSALV or SALV loaded in memory.
Copy user directories from unit 0 to unit 1. (Replace with your new unit number)
UCOP$G
Copy directories
From unit #0
only unit #1. (Replace with your new unit number)
Copy from unit #0 onto unit #1, OK (Y or N) y
Note that no DDT prompt is provided at the end of UCOP. Just wait about 10 seconds. You can tell if you are back to DDT
by typing a DDT command. For example:
0/
That should display the contents of location 0.
File: TIPS, Node: Create new bootable ITS, Previous: Copy user directories from first disk to new disk(s), Up: Adding an additional disk
1. Make sure you are in DSKDMP. If you are at DDT, type:
$U
2. Load DDT and ITS into memory:
l$ddt
t$its bin
3. Reenter DSKDMP.
$U
4. Merge in NSALV or SALV
a. For NSALV:
m$nsalv bin
b. For SALV:
m$salv bin
5. Dump out its
d$nits
6. Start ITS
g$
7. If ITS doesn't start, reenter DSKDMP:
$U
8. And load and start the new ITS:
nits
$g
File: TIPS, Node: Boot new ITS, Previous: Create new bootable ITS, Up: Adding an additional disk
1. Make sure you are in DSKDMP. If you are at DDT, type:
$U
2. Load and run ITS.
nits