diff --git a/mvs/entries/tk5-setup.md b/mvs/entries/tk5-setup.md index 8251577..1f7084e 100644 --- a/mvs/entries/tk5-setup.md +++ b/mvs/entries/tk5-setup.md @@ -73,7 +73,6 @@ drwxr-xr-x 2 root root 4096 Jul 29 22:25 log -rwxr-xr-x 1 root root 1489 May 30 2023 mvs_osx drwxr-xr-x 16 root root 4096 Jul 29 22:25 Packages drwxr-xr-x 2 root root 4096 Jul 29 22:25 pch -drwxr-xr-x 2 gmgauthier gmgauthier 4096 Aug 3 17:45 printouts drwxr-xr-x 2 root root 4096 Jul 29 22:25 prt drwxr-xr-x 2 root root 4096 May 24 2013 rdr drwxr-xr-x 3 root root 4096 Aug 4 13:56 scripts @@ -83,6 +82,8 @@ drwxr-xr-x 2 root root 4096 Jul 31 21:19 tape drwxr-xr-x 2 root root 4096 Jul 29 22:25 unattended +**NOTE:** The entire `mvs-tk5` directory structure should now be owned by `root:root`. Since we're going to run the image as root, this is what we want. + ### Configuring Turnkey We'll now need to make a few minor configuration changes to be able to run our system locally. `cd` into the "conf" directory: @@ -162,15 +163,17 @@ Below the basic configuration values, you'll find the "DASD" virtual volume conf 0299 3390 dasd/tk5002.299 -ALL of these volumes are absolutely necessary for a full system. But the most important volumes are the ones suffixed `RES`, `CAT`, and the `PAGE` and `SPOOL` volumes. +ALL of these volumes are absolutely necessary for a full system. But the most important volumes are the ones suffixed `RES`, `CAT`, and `DLB`, and the `PAGE` and `SPOOL` volumes. The `RES` Volume stands for "System Resident", and just means all the datasets that need to be loaded directly into memory for system execution. This of this as the conceptual equivalent of a bootstrap directory of a PC. The `CAT` Volume stands for "System Catalog", and contains an indexed list of all the datasets available on your MVS system. Without this, you would have no way to access data on the system. Think of it as the conceptual equivalent of a VTOC on a PC disk drive. +Of special note, is the `DLB` volume (just after the `RES` and `CAT`). The `DLB` volume is conceptually, what linux users would understand as the "distribution disk". This volume contains all the necessary MVS OS distribution files need to run the system. + The `PAGE` volumes are conceptually similar to Swap partitions on a linux machine, and the `SPOOL` volume is actually kind of unique to MVS. It's a place where all program output is queued for distribution to an output device like a printer. -The remaining disk volumes are data disk volumes for storing source code, binary executables, and other forms of data necessary for application programs. +The remaining disk volumes are data disk volumes for storing source code, binary executables, TSO user session data, and other forms of data necessary for application programs. The next batch of lines in the configuration file, are for peripheral devices attached to the mainframe: @@ -231,6 +234,8 @@ root@tk5-sysa:~/mvs-tk5/conf# cd .. root@tk5-sysa:~/mvs-tk5# +Finally, there are two additional permissions mods that are needed. We can do these commands from the base directory. First, the mvs runner itself: `chmod +x ./mvs`. Then the directory where the hercules emulator is found: `chmod -R +x ./hercules`. Once that is done, we can proceed to the + ### Running The Turnkey MVS Instance @@ -296,13 +301,12 @@ HHC01603I * TK4- update by Juergen Winkelmann juergen.winkelmann@pebble-bea HHC01603I * TK5 update by Rob Prins prin0096@gmail.com HHC01603I * see SYS2.JCLLIB(CREDITS) for complete credits HHC01603I * -HHC02264I Script 4: file scripts/tk5.rc processing ended -HHC00013I '/' input entered for console 0:0009: "d r,l" -d r,l -/23.13.27 IEE111I NO OUTSTANDING REQUESTS -herc =====> +HHC02264I Script 4: file scripts/tk5.rc processing ended +herc =====> __________ +If you do not see the TK5 kitty-cat banner, your system has not finished starting yet. If this does not show up for a while, then there may be problems. You'll need to copy out the console log to a text file, to troubleshoot. But if you DO see the kitty-cat, then you're good to go. + At this point, most of you will be wondering: "Okay. What now?". Well, now you operate your system. That's what. There is a distinction that needs to be made here. It's not like how we "use" microcomputers today. Back in the day, there was an "operator", and there was a "user". The user was the administrator, the programmer, or the accountant, who just used various programs available to him on his terminal device. The Operator, however, sat all day long at this console, monitoring system resources, responding to system prompts, mounting tapes, running utility jobs, printing output, and occasionally "IPLing" the system (what we now call 'rebooting'). The following will provide a few simple examples of how you can use the master console to manage your system. For more in-depth details, I will provide links at the bottom to ACTUAL IBM Documentation, that is very similar to what I used when I was being tutored on-the-job, back in 1988. @@ -347,9 +351,9 @@ I'm not going to go over the entire output. For that, you'll have to refer to th 2. The first column of the table is the name of each "task" running. 3. `CMD1` and `BSPPILOT` are like "TSR" programs. They're long-running scripts that bootstrap the system, and listen for shutdown commands. On a NORMAL MVS system, these will NOT be present. They appear on our Turnkey, because all the manual work of bootstrapping, and shutting down, has been cooked up for us, so we don't have to do it OLD-SKOOL like a real console operator would have to back in the day. 4. The first 'system' entry is called `JES2`. That is your Job Entry System. It will ALWAYS be the very first task on a normal MVS system, because it controls the submission of ALL other work on the system. -5. `NET` is the task that provides MVS networking capabilities. This includes both SNA and TCPIP architectures. +5. `NET` is the task that provides MVS networking capabilities. It's normally called by it's product acronym "VTAM", which stands for "Virtual Telecommunications Access Method". This includes support for both SNA and TCPIP architectures nowadays. But back in the day, it was SNA only. 6. I've forgotten what `TP` is, but `MF1` is the "Monitoring Facility". This task keeps track of all the the run statistics of both your base system, and of your "metered" jobs. Technically, you don't need to run this on the Turnkey system, since there's no real need to monitor run statistics, which would normally have been parsed up and sent in batches to IBM, and your accounting department. IBM would get the base statistics for the system. Your accounting department would figure up a cost for each department that matched it's usage of the system, and that cost would be billed to clients. -7. `TSO` is shorthand for "Time Sharing Option". TSO is essentially a "virtualization" environment that facilitates multi-tasking across many terminal sessions. The way it works, it gives the human users the "impression" of being on an interactive system, like PC DOS. Behind the curtains it doesn't really work that way, though. Suffice to say, this is where you will do most of your work, only not from the console, but from a terminal emulator. +7. `TSO` is shorthand for "Time Sharing Option". TSO is essentially a task that manages multi-tasked user session "virtual environments" across many terminal sessions. The way it works, is that it gives the human users the "impression" of being on an interactive system, like PC DOS. Behind the curtains it's a bit more complicated than that. Suffice to say, this is where you will do most of your work, only not from the console, but from a terminal emulator. 8. `SNASOL` is shorthand for "System Network Architecture Solicitor". In short, it is a task that does nothing more than listen for terminals trying to connect to the system throught `NET`, intercept those connections, and present the terminal display with a logon splash screen, and user entry fields. 9. I can't remember what `JRP` is. @@ -429,10 +433,96 @@ If you'll recall back at the beginning of the configuration section, there was o CNSLPORT ${CNSLPORT:=3270} ``` -This sets the IP PORT for terminal logins to 3270 (matching the model number, of course). So, if you want to connect with a 3270 emulator to your instance, you'd use the following IP address in your connection settings: `{your.ip.add.ress}:3270`. +This sets the IP PORT for terminal logins to 3270 (matching the model number, of course). So, if you want to connect with a 3270 emulator to your instance, you'd use the following IP address in your connection settings: `{your.ip.add.ress}:3270`. For example: + +
+~$ c3270 192.168.68.105:3270`
+
Once connected, you should see something like this: -![](https://gmgauthier.us-east-1.linodeobjects.com/img/turnkey-3270.png) -More to come... +
+Terminal   CUU0C0                                                 Date  21.01.25
+                                                                  Time  22:03:20
+                                                                                
+                           TTTTTTTTTTTT   KKKK  KKKKK    555555555555           
+                           TT   TT   TT    KK    KK      55                     
+                           TT   TT   TT    KK   KK       55       Update 3      
+                                TT         KK  KK        55                     
+        |l      _,,,---,,_      TT         KK KK         55                     
+ ZZZzz /,'.-'`'    -.  ;-;;,    TT         KKKK          55555555555            
+      |,4-  ) )-,_. ,( (  ''-'  TT         KKKKK                   55           
+     '---''(_/--'  `-')_)       TT         KK  KK                  55           
+                                TT         KK   KK                 55           
+       The MVS 3.8j             TT         KK    KK                55           
+     Tur(n)key System           TT         KK     KK               55           
+                              TTTTTT      KKKK     KKK   55555555555            
+                                                                                
+      TK3  created by Volker Bandke      volker@bandke.org                      
+      TK4- update by Juergen Winkelmann  juergen.winkelmann@pebble-beach.ch     
+      TK5  update by Rob Prins           prin0096@gmail.com                     
+           see SYS2.JCLLIB(CREDITS) for complete credits                        
+                        MVS 3.8j Level 8505                                     
+                                                                                
+Logon ===>                                                                      
+                                                            RUNNING  TK5        
+
+This is your SNASOL terminal splash screen. Note the "Logon" prompt at the bottom. I will provide separate instructions for how to create your own TSO users. But for now, you should use the default "RAKF Authorized" user (this is basically the equivalent of a "root" user in MVS). + +The userid is `herc01`: + +
+Logon ===> herc01  [PRESS ENTER]
+
+ +The password, which will be prompted on the next screen, is `CUL8TR` (ALL CAPS). + +
+ ENTER CURRENT PASSWORD FOR HERC01-
+______ [PRESS ENTER]
+
+ +NOTE: Password key presses will be hidden. Once you're logged in, you'll be greeted with interstitial banners letting you know you're in, with various system messages. Just hit ENTER when you see the `***`'s, until you reach the main menu: + +
+ HERC01 LOGON IN PROGRESS AT 22:32:47 ON JANUARY 21, 2025  
+ NO BROADCAST MESSAGES                    
+ +----------------------------------------------------------------------------+  
+ !                                                                            ! 
+ !                     Welcome to the TSO system on SYSA                      !  
+ !                     =================================                      !  
+ !                                                                            ! 
+ +----------------------------------------------------------------------------+  
+ *** 
+
+ +### The ISPF Main Menu + +And, at long last, you are now logged on to MVS as a real user, ready to start doing some work. This is the "ISPF Primary Option Menu". "ISPF" is the IBM acronym for "Interactive System Productivity Facility". Technically, it's not "actually" ISPF, as ISPF is still a licensed product from IBM, but a number of old Mainframe elmers have written their own open-source replacements for much of the identical functionality and released it for free, for the MVS 3.8j platform. This is what it looks like: + +
+                            ISPF primary option menu                            
+ Option  ===>                                                                   
+                                                            USERID   : HERC01   
+    0  ISPF PARMS    Specify terminal and user parms        TIME     : 22:42    
+    1  BROWSE        Display source data using Review       TERMINAL : 3278     
+    2  EDIT          Change source data using Revedit       PF KEYS  : 0012     
+    R  RPF           Browse, EDIT, Reset, PDS with RPF      PANEL    : ISP@PRIM 
+    3  UTILITIES     Perform utility functions              SCREEN   : 1        
+    4  FOREGROUND    Invoke language processors             LANGUAGE : ENGLISH  
+    5  BATCH         Submit job for language processing     APPL ID  : ISP      
+    6  COMMAND       Enter TSO command or CLIST             RELEASE  : V2.2.000 
+    7  DIALOG TEST   Perform dialog testing                 PRIM     : YES      
+    C  CHANGES       Summary of changes for this release    SYSTEMID : SYSA     
+    M  TSOAPPLS      Productivity tools and handy apps      PROC     : ISPLOGON 
+    T  TUTORIAL      Display information about ISPF                             
+    T1 TK5           Summary of changes made in TK5                             
+    X  EXIT          Terminate ISPF using log and list defaults                 
+                                                                                
+ Enter END command to terminate ISPF.
+
+ +There's quite a lot going on, on this page. Much of which will need to be discussed in subsequent posts (or perhaps video explainers). But for now, what we're interested in, is using this facility to complete the next stage of system customization. Namely, the CBT "compilers" tape needs to be applied to the system, to give you all the goodies like BASIC/360, PL/360, and even an ALGOL implementation. + +More To Come...