Ideally (as written in distrib.its), you'd like to have a file somewhere where you set your system name, IP address and other configuration data, and let ITS read it at startup. Unfortunately, that's not the way it works…
NOTE that all $ below are ESCAPEs!! Also, where it says XY, you should substitute your new system name.
NOTE that you should read distrib.its before you do any of this, so you know what you're doing! This is just summing up the stuff, filling in some details. If you're happy with one of the standard names (AI, ML, MC, MD, MX…) and don't plan on interacting with other ITS systems, it's much easier to forget the whole thing.
SYSHST;H3TEXT >
SYSTEM;CONFIG >
IFE MCOND MD,[ … ]
to IFE MCOND XY,[ … ]
, make changes inside
SYSTEM;TTYTYP >
MCONDX MD,{ … }
to MCONDX XY,{ … }
, no changes needed?
SYSNET;TELSER >
SYSEN2;MLDEV >
SYSEN1;PWORD >
mchtab
(don't forget to up mchcnt
)bltspc
, corresponding spec (copy from mdspec-mdspe
)devtab
(?)
SYSEN1;DDT >
(this is not mentioned in distrib.its)
mchtab
RFLNSC
nodflt
L;*LISP >
UDIRSET
, add your name
L;STRUCT >
MRA [ITS,AI,ML,MC,MD,MX
and add your name
SYSEN1;SENDER >
MX
, add similar code
SYSENG;LUSER >
TELSER
:midas .temp.;_sysnet;telser :copy .temp.;telser bin,sysbin;telser bin
DDT
:midas .temp.;_sysen1;ddt ddt$j $l .temp.;ddt bin purify$g :pdump sys;atsign ddt
PWORD/PANDA
:midas .temp.;_sysen1;pword (twice, answer no and yes) :copy .temp.;pword bin,sysbin; :copy .temp.;panda bin,sysbin;
Make links (if you haven't already done this):
:link sys;atsign pword,sysbin;pword bin :link sys;ts panda,sysbin;panda bin :link sys;atsign hactrn,sysbin;pword bin
ITS
:midas .temp.;_system;its (type in your new system name IN UPPERCASE) !!
Dump .temp.;its bin as described in distrib.its and restart with the new ITS.
Let programs repurify: run each of these once
:peek :name :probe :meter :prufd :sysmsg
and purify MIDAS:
midas$j $l sysbin;midas 458bin purify$g
Patch DUMP so it knows where it's running (you could also just recompile SYSENG;DUMP).
dump$j $l sysbin;dump bin setsc1+34//$1'XY$ (note double slash, insert your system name for XY here) :pdump sysbin;dump bin
First make a new LISP. LISP knows its shared image is in SYS; PURQIO >
.
:midas .temp.;_l;*lisp ^C (midas guesses ITS anyway) *lisp$j $l .temp.;*lisp bin $g purify $g :pdump sys;purqio >
Now re-create some LISP-based programs:
:lisp comlap;ccload
There are two approaches you can take.
In order to be able to build INQUIR from sources, you will need various dependent files that were not included in the public (PI) ITS distribution. These files include:
reader 28 | (Kent Pitman (KMP) provided this source) |
fake-s 28 | (found on the Internet) |
lsrrtn 31 | (found on the Internet) |
netrtn fasl | (found on the internet; FASL only; no source) |
You can find these files, in the collection of files found on the newinquire.tps tape image that can be downloaded here: http://swenson.org/newinquire.tps. You will need to load this tape onto your ITS system, which will result in these additional files being added/modified in your INQUIR; directory:
fake-s.28 fake-s.unfasl inquir.182 inquir.unfasl lsrrtn.fasl reader.28 reader.readme -read-.-this- fake-s.fasl inqbin.182 inquir.fasl lsrrtn.31 netrtn.fasl reader.fasl reader.unfasl
The PI distribution should have contained INQUIR 181 and this tape adds the file INQUIR 182. The difference between these two versions are:
In order to build INQUIR 182 from source, follow these steps:
:complr inquir; reader
:complr inquir; fake-s
:midas inquir;_inquir;lsrrtn
Update INQUIR; INQUIR 182 to add your ITS machine name. Write out your changed INQUIR as INQUIR >
:complr inquir;inquir
:lisp inquir;inquir (dump)
Verify that the link INQUIR; TS INQUIR points to the new INQUIR; INQBIN >. If it doesn't, update it so that it does.
Your INQUIR should now be updated with the new machine name.
The first patch (starting with “qai”) is to change the value of (STATUS SITE) which is used as default “network-address” field. The second line (starting with “udirse+7”) is to patch an immediate sixbit value of AI, so it's really important that you get the three spaces right.
inquir$j $l inquir;inqbin 181 $g .VALUE... qai/$$q/⟨LINEFEED⟩⟨TAB⟩$$q/" (should show $0"AI$) $0"XY$⟨ENTER⟩ udirse+7/$1' XY$$> (three spaces followed by your name, overwrite AI's entry) :pdump inquir;inqbin 182 :delete inquir;ts inquir :link inquir;ts inquir,inquir;inqbin 182
I hope other lisp-based programs are as easy…
IF you have users without homedirs, update INQUIR;DMUNCH >
with your local host tables (copy MD's entries), compile it as directed in the file, and force INQUPD to update the database (e.g. by changing something insignificant) in order for DIRS BIN
to be included in LSR1 1
.
If you write new programs, never use hardcoded data if you can avoid it at all. Read a config file, or construct data on-the-fly. To find the names of local ITSes, read .GETSYS ITSNMS. You can find silly examples in *LISP, which uses a hardcoded list of machine names in order to convert from sixbit to atom. Why not use the SIXATM routine to create the atom on-the-fly? (There may possibly be reasons, such as other MIDAS code using QMX as the known address of 'MX. I'll see when I try it.)