| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| setup [2016-01-04 12:33] – [To do] victor | setup [2024-08-30 10:08] (current) – [Trivia] victor |
|---|
| ====== Some notes on setting up an ITS system ====== | ====== Some notes on setting up an ITS system ====== |
| These are some brief notes on setting up an ITS system based on [[http://klh10.trailing-edge.com/|klh10]] and the [[https://archive.org/details/KLH10-PI-ITS|PI]] (Public ITS) distribution. I work on it **very occasionally**, but it may help some people along the way. | <note> |
| | 2021: The stuff below is old (but most of it probably still applies). You should use the [[https://github.com/PDP-10/its|Github repository]] as a primary source of code and information. |
| | </note> |
| |
| | These are some brief notes on setting up an ITS system based on [[http://klh10.trailing-edge.com/|klh10]] and the [[https://archive.org/details/KLH10-PI-ITS|PI]] (Public ITS) distribution. |
| | |
| | <note> |
| | These pages were initially written by [[http://victor.se/bjorn|Björn Victor]] (so that's who most references to "I" or "me" indicate). |
| | I work on it **very occasionally**, but it may help some people along the way. |
| No, I'm not an ITS wizard, just an old TOPS-20 hacker. Any comments, corrections, or suggestions for improvements are **very welcome!** | No, I'm not an ITS wizard, just an old TOPS-20 hacker. Any comments, corrections, or suggestions for improvements are **very welcome!** |
| | </note> |
| |
| Keep a copy of .INFO.;DDTORD > within arms reach at any point (or read it [[http://victor.se/bjorn/its/ddtord.html|here]]). Read {{ksits.txt|.../doc/ksits.txt}} (but see below) and {{distrib.its.txt|.../run/ksits/pubits/doc/distrib.its}} carefully. The [[http://dspace.mit.edu/handle/1721.1/6165|ITS Reference Manual]] is also worth reading, at some point. | Keep a copy of .INFO.;DDTORD > within arms reach at any point (or read it [[http://victor.se/bjorn/its/ddtord.html|here]]). Read {{ksits.txt|.../doc/ksits.txt}} (but see below) and {{distrib.its.txt|.../run/ksits/pubits/doc/distrib.its}} carefully. The [[http://dspace.mit.edu/handle/1721.1/6165|ITS Reference Manual]] is also worth reading, at some point. |
| - **Run MD instead of PI.** Instead of using PI, as suggested in .../doc/ksits.txt, use **MD**. I.e., use klh10-md.ini instead of klh10-pi.ini. \\ Using PI gives a system that runs, but many many programs don't know the PI machine, so you'll typically get ''.VALUE 0'' breakpoints when running INQUIR, LISP etc. MD is more "well-known" (except to COMPLR), so you'll get a system which is easier to use. After getting everything running, you may want to consider [[rename|renaming your system]] to something more unique. | - **Run MD instead of PI.** Instead of using PI, as suggested in .../doc/ksits.txt, use **MD**. I.e., use klh10-md.ini instead of klh10-pi.ini. \\ Using PI gives a system that runs, but many many programs don't know the PI machine, so you'll typically get ''.VALUE 0'' breakpoints when running INQUIR, LISP etc. MD is more "well-known" (except to COMPLR), so you'll get a system which is easier to use. After getting everything running, you may want to consider [[rename|renaming your system]] to something more unique. |
| - **Get networking up.** Since the console gets random typeouts from the system (it is intended as a paper console logging what's happening to the system), it's a good idea to use the system over Telnet or Supdup. | - **Get networking up.** Since the console gets random typeouts from the system (it is intended as a paper console logging what's happening to the system), it's a good idea to use the system over Telnet or Supdup. |
| * If you run Linux, you may be interested in a patch to support the tun/tap device in Linux (e.g the [[http://home.comcast.net/~mmcm/klh10/tuntap.patch|patch by MMcM]]); at least this gives you local access, which is all you dare before you get PWORD/PANDA running. **Note** that this is not included in klh10-2.0h (the Panda version, see above). | * If you run Linux, you may be interested in a patch to support the tun/tap device in Linux (e.g the [[https://gist.github.com/MMcM/c2f99cc7656af6c15aac#file-tuntap-patch|patch by MMcM]]); at least this gives you local access, which is all you dare before you get PWORD/PANDA running. **Note** that this is not included in klh10-2.0h (the Panda version, see above). |
| * You can try [[http://victor.se/bjorn/its/raspi-ksits-iptables.txt|my iptables script]] to set up restricted external access (and forwarding of the Supdup port from the host to ITS). No guarantees it'll work in your setup. (See also my [[raspi|notes for Raspberry pi setup]].) | * You can try [[http://victor.se/bjorn/its/raspi-ksits-iptables.txt|my iptables script]] to set up restricted external access (and forwarding of the Supdup port from the host to ITS). No guarantees it'll work in your setup. (See also my [[raspi|notes for Raspberry pi setup]].) |
| * You may also be interested in my [[http://victor.se/bjorn/its/supdup.tar.gz|patched Supdup client for Linux]]. | * You may also be interested in my [[http://victor.se/bjorn/its/supdup.tar.gz|patched Supdup client for Linux]]. |
| * If you want to use features like the SAIL character set, <key>Ctrl-8</key> etc, you may want to try a [[supdup|Supdup client in Java]]. | |
| |
| ===== Minor caveats ===== | ===== Minor caveats ===== |
| * **Check** that ''DEVICE;JOBDEV DIRMD'' exists and is a link to ''DEVICE;ATSIGN DIRDEV'', otherwise Dired in Emacs won't work (unless you do ''0m.vDIRED use DIR device$'' in your emacs init file). To create the link, use the '':LINK'' command. | * **Check** that ''DEVICE;JOBDEV DIRMD'' exists and is a link to ''DEVICE;ATSIGN DIRDEV'', otherwise Dired in Emacs won't work (unless you do ''0m.vDIRED use DIR device$'' in your emacs init file). To create the link, use the '':LINK'' command. |
| * Putting ''223fs Help Char$'' in your Emacs init file may help, since the default help char is <key>Top-H</key>, and you probably don't have a <key>Top</key> key on your keyboard... (223 is <key>^_</key> (which you have to type twice, by the way, see Info node (ITSTTY)A/5.)) | * Putting ''223fs Help Char$'' in your Emacs init file may help, since the default help char is <key>Top-H</key>, and you probably don't have a <key>Top</key> key on your keyboard... (223 is <key>^_</key> (which you have to type twice, by the way, see Info node (ITSTTY)A/5.)) |
| * **INQUIR will still not work.** If you get the following error <code>MD*:inquir | * **Set up mail aliases.** It's probably a good idea to edit ''.MAIL.;NAMES >'', basically replacing KLH with your own uname, and replacing @NX with @MD and *NX with *MD |
| | * **Greetings.** |
| | - The file ''SYS;NET MAIL'' is printed when people connect from the network. Unfortunately this output is erased when Supdup clears the screen immediately after. |
| | - Maybe ''SYS;SYSTEM MAIL'' is a better place for greetings, since it's printed after the version/fair share message. (The file ''SYS;LOCAL MAIL'' is shown to non-network/dialup connections.) |
| | - The standard contents of ''SYS;NET MAIL'' points at ''HACK;PI NEWS'', which you'll like to update. |
| | * **INQUIR will still not work if you started from a PI image.** If you get the following error <code>MD*:inquir |
| INQUIR.181 | INQUIR.181 |
| ;162798. CAN'T CREATE A HUNK OF THIS SIZE | ;162798. CAN'T CREATE A HUNK OF THIS SIZE |
| - ''quit'' (when done) | - ''quit'' (when done) |
| - You now have a fresh ''LISP'' directory, and ''INQUIR'' will work again. | - You now have a fresh ''LISP'' directory, and ''INQUIR'' will work again. |
| * **Set up mail aliases.** It's probably a good idea to edit ''.MAIL.;NAMES >'', basically replacing KLH with your own uname, and replacing @NX with @MD and *NX with *MD | |
| * **Greetings.** | |
| - The file ''SYS;NET MAIL'' is printed when people connect from the network. Unfortunately this output is erased when Supdup clears the screen immediately after. | |
| - Maybe ''SYS;SYSTEM MAIL'' is a better place for greetings, since it's printed after the version/fair share message. (The file ''SYS;LOCAL MAIL'' is shown to non-network/dialup connections.) | |
| - The standard contents of ''SYS;NET MAIL'' points at ''HACK;PI NEWS'', which you'll like to update. | |
| |
| |
| In addition to setting up mailing lists, you'll need to set up COMSAT (the mailer demon) properly. | In addition to setting up mailing lists, you'll need to set up COMSAT (the mailer demon) properly. |
| |
| - As mentioned in {{distrib.its.txt|distrib.its}, you need to set BUGHST, DOMGAT and TCPGAT. BUGHST is most likely the local IP address (192.168.0.203 for MD), the others are most likely your klh10 gwaddr (192.168.0.200 for MD). | - As mentioned in {{distrib.its.txt|distrib.its}}, you need to set BUGHST, DOMGAT and TCPGAT. BUGHST is most likely the local IP address (192.168.0.203 for MD), the others are most likely your klh10 gwaddr (192.168.0.200 for MD). |
| - Put your IP addresses in the appropriate locations of .MAIL.;COMSAT BIN, set DEBUG/ 0 and XVERS/ 0, and start at PURIFY. | - Put your IP addresses in the appropriate locations of .MAIL.;COMSAT BIN, set DEBUG/ 0 and XVERS/ 0, and start at PURIFY. |
| - To type in an address like 192.168.12.203, say <code> | - To type in an address like 192.168.12.203, say <code> |
| - To see which tape number to use (if you are disciplined about tape use), issue the ''TAPES'' command, specifying ''TTY:'' as the LIST DEV(ice). | - To see which tape number to use (if you are disciplined about tape use), issue the ''TAPES'' command, specifying ''TTY:'' as the LIST DEV(ice). |
| - | - |
| - **Full backup:** give DUMP the command ''DUMP FULL LINKS'', followed by ''ICHECK'' to check tape contents and set dumped bit on checked files. | - **Full backup:** give DUMP the command ''DUMP FULL LINKS'', followed by ''REWIND'', and ''ICHECK'' to check tape contents and set dumped bit on checked files. |
| - **Incremental backup:** ''DUMP INCREM LINKS'' (checks and sets bits) | - **Incremental backup:** ''DUMP INCREM LINKS'' (checks and sets bits) |
| - Backup done: ''QUIT'' | - Backup done: ''QUIT'' |
| |
| |
| ===== My contributions ===== | ===== Contributions ===== |
| |
| |
| * Patch for klh10 to support the Linux tun device (see [[http://home.comcast.net/~mmcm/klh10/tuntap.patch|MMcM's version]]). | * Patch for klh10 to support the Linux tun device (see [[https://gist.github.com/MMcM/c2f99cc7656af6c15aac#file-tuntap-patch|MMcM's version]]). |
| * An iptables script to set up restricted external access. No guarantees it'll work in your setup. (See my [[raspi|notes for Raspberry pi setup]] for the most recent version.) | * An iptables script to set up restricted external access. No guarantees it'll work in your setup. (See my [[raspi|notes for Raspberry pi setup]] for the most recent version.) |
| * [[http://victor.se/bjorn/its/supdup.tar.gz|Supdup client for Linux]] | * [[http://victor.se/bjorn/its/supdup.tar.gz|Supdup client for Linux]] |
| * A [[supdup|Supdup client in Java]] | * A [[supdup|Supdup client in Java]] |
| | * Notes on [[rename|renaming your ITS]] (but don't try this the first thing you do!) |
| * A working [[ch11|CH11 device]] for tunneling CHAOS over UDP | * A working [[ch11|CH11 device]] for tunneling CHAOS over UDP |
| * Patches to enable [[chaos-dns|Chaos class support in BIND]] (the standard DNS server). Work on DNS support in ITS is in progress. | * Patches to enable [[chaos-dns|Chaos class support in BIND]] (the standard DNS server). For DNS support in ITS, see below. |
| * A [[http://up.update.uu.se/httpd|web server in Maclisp]] (yes, I like MIDAS, but it's easier in Lisp, really ;-). | * A [[http://up.update.uu.se/httpd|web server in Maclisp]] (yes, I like MIDAS, but it's easier in Lisp, really ;-). |
| * I wrote my first TECO hack in something like 15 years, to apply patches in the form of SRCCOM output to the original source. The library is called [[http://victor.se/bjorn/its/spatch.tps|SPATCH]] (for Srccom PATCH, of course). See [[spatch|some usage notes]]. | * I wrote my first TECO hack in something like 15 years, to apply patches in the form of SRCCOM output to the original source. The library is called [[http://victor.se/bjorn/its/spatch.tps|SPATCH]] (for Srccom PATCH, of course). See [[spatch|some usage notes]]. |
| If you know how to do these things, please let me know: | If you know how to do these things, please let me know: |
| |
| - Get all the sources missing from the PI distribution (and from Alan's archive) So far, I'm looking in particular for TURNIP;READER, SPACY;NETRTN and SPACY;LSRRTN (this is actually **done** now, by EJS!). It seems some EMACS sources are missing too (e.g. PURIFY). (The sources of :DATE aren't among PI, AI or MC sources, but Paul Svensson has them.) | - DONE through the [[https://github.com/PDP-10/its|Github repo]]: Get all the sources missing from the PI distribution (and from Alan's archive). It seems some EMACS sources are missing too (e.g. PURIFY). (The sources of :DATE aren't among PI, AI or MC sources, but Paul Svensson has them.) |
| - The "Fair share" is very wrong. The "host" device (idling the kn10 process in the null job) seems to be the root of this. There is very little idle/lost time on an ITS system under klh10 with the host device+patch. If this is disabled, the fair share and idle time works better. See also [[http://up.update.uu.se/idleup|notes here]]. | - The "Fair share" is very wrong. The "host" device (idling the kn10 process in the null job) seems to be the root of this. There is very little idle/lost time on an ITS system under klh10 with the host device+patch. If this is disabled, the fair share and idle time works better. See also [[http://up.update.uu.se/idleup|notes here]]. |
| |
| ===== Trivia ===== | ===== Trivia ===== |
| In the movie [[http://www.imdb.com/title/tt0244244/|Swordfish]] (Jackman, Travolta, Berry), the hacker played by Jackman connects to an ITS system in the basement of Caltech to retrieve his worm. In [[http://www.imsdb.com/scripts/Swordfish.html|the script]], the ITS machine is at MIT, which is surprisingly well written by the author, Skip Woods. Would anyone know how he would know about ITS? Would anyone have a guess why the machine was moved to Caltech in the movie? | In the movie [[http://www.imdb.com/title/tt0244244/|Swordfish]] (Jackman, Travolta, Berry), the hacker played by Jackman connects to an ITS system in the basement of Caltech to retrieve his worm (scene starting [[https://youtu.be/0a21sS5yuTA?feature=shared&t=3112|at 51:52 in the movie]]). In [[http://www.imsdb.com/scripts/Swordfish.html|the script]] (scene 72ff), the ITS machine is at MIT, which is surprisingly well written by the author, Skip Woods. Would anyone know how he would know about ITS? Would anyone have a guess why the machine was moved to Caltech in the movie? |
| |