MR12.6f

From Multics Wiki
Jump to: navigation, search

MR12.6f is currently in Beta. It is not yet released.

Upgrading an Existing MR12.6e to MR12.6f

There are two ways to upgrade an existing MR12.6e system to MR12.6f. The first is by far the simplest way -- by using the MR12.6e_to_MR12.6f_upgrade.ini emulator script. The second, which more closely mimics the historical way site administrators would upgrade a real hardware-based Multics system, uses a trivial emulator boot script that simply boots the Multics system tape and lets the operator enter all the commands manually. These two procedures are described below.

Upgrading Using the MR12.6e_to_MR12.6f_upgrade.ini Emulator Script

This process assumes you have a directory populated with an existing, runnable MR12.6e Multics system. The system should be shut down before you start.

  • Make a backup of your whole MR12.6e directory (or at least your *.dsk files)
  • In the directory with your existing system, add the following files from the MR12.6f distribution:
    • All 13 MR12.6f tapes (see Release Artifacts)
    • The MR12.6e_to_MR12.6f_upgrade.ini emulator script
    • The MR12.6f_boot.ini emulator script
  • Make sure your directory contains:
    • The Devices.txt file
    • All *.dsk files required to boot your system
  • If you have other logical volumes besides the root logical volume (RLV) in your MR12.6e system, update the MR12.6e_to_MR12.6f_upgrade.ini script to add each of these logical volumes. The script, as provided, only attaches the root.dsk (RLV) disk as disk0. If you have other disks, add additional lines of the form "attach diskN xxx.dsk" where N is an integer from 1 to 16 and where xxx is the name of the disk file containing your logical volume image.
  • Make sure you have a recent copy of the dps8 emulator on your path or in your Multics directory.
  • Change directories to your Multics directory.
  • Run "dps8 MR12.6e_to_MR12.6f_upgrade.ini” (if dps8 isn't on your path, but in your Multics directory, you can use "./dps8 MR12.6e_to_MR12.6f_upgrade.ini" (Linux or macOS) or ".\dsp8 MR12.6e_to_MR12.6f_upgrade.ini" (Windows). Otherwise, reference the emulator executable by relative or absolute path.
  • Wait about 20 minutes (more if your system is slow).
  • Note that loading the tape 12.6fLDD_STANDARD_2 tapes a very long time (due to its containing all the small include segments). Be patient.

When the script exits, you should have a bootable MR12.6f system in your current directory.

Boot your system by running the emulator with MR12.6f_boot.ini as the script parameter (e.g. "dps8 MR12.6f_boot.ini"). If you have more logical volumes than the root logical volume (RLV) be sure to update the MR12.6f_boot.ini script to include disk attachments for those other logical volumes.

Upgrading By Hand Using a Minimal Emulator Script

If you want to follow the instructions in the System Installation Bulletin (SIB) and perform an upgrade of a MR12.6e system the way site administrators would have done so in years past, you can following the instructions here.

This process assumes you have a directory populated with an existing, runnable MR12.6e Multics system. The system should be shut down before you start.

  • Make a backup of your whole MR12.6e directory (or at least your *.dsk files)
  • In the directory with your existing system, add the following files from the MR12.6f distribution:
    • All 13 MR12.6f tapes (see Release Artifacts)
    • The following (minimal) emulator script saved as "boot.ini":
attach -r tape0 12.6fMULTICS.tap
attach disk0 root.dsk
clrautoinput
autoinput \z
set opcon config=attn_hack=1
boot iom0 
  • Make sure your directory contains:
    • The Devices.txt file
    • All *.dsk files required to boot your system
  • If you have other logical volumes besides the root logical volume (RLV) in your MR12.6e system, update the boo.ini script to add each of these logical volumes. The above script only attaches the root.dsk (RLV) disk as disk0. If you have other disks, add additional lines of the form "attach diskN xxx.dsk" where N is an integer from 1 to 16 and where xxx is the name of the disk file containing your logical volume image.
  • Make sure you have a recent copy of the dps8 emulator on your path or in your Multics directory.
  • Change directories to your Multics directory.
  • Follow the instructions in Section 4 of the MR12.6f System Installation Bulletin (SIB), however, you can skip Step 1 (which has you deleting the unbundled directories while booted using your existing system). This is not necessary. Start with Step 2.
  • When you are asked to boot your system, run "dps8 boot.ini” (if dps8 isn't on your path, but in your Multics directory, you can use "./dps8 boot.ini" (Linux or macOS) or ".\dsp8 boot.ini" (Windows). Otherwise, reference the emulator executable by relative or absolute path.
  • Follow all the steps in Section 4.
  • Note that loading the tape 12.6fLDD_STANDARD_2 tapes a very long time (due to its containing all the small include segments). Be patient.
  • At the end of the instructions in Section 4, you will be left with a running MR12.6f system.

When you shut your system down, you can boot it again using the same minimal boot.ini (but be prepared to manually enter all the pre-bce and bce commands required to bring your system up). Alternatively, boot your system by running the emulator with MR12.6f_boot.ini as the script parameter (e.g. "dps8 MR12.6f_boot.ini"). If you have more logical volumes than the root logical volume (RLV) be sure to update the MR12.6f_boot.ini script to include disk attachments for those other logical volumes.

Installing MR12.6f as a New System (QuickStart)

If you just want to bring up a brand new MR12.6f to play with it, use the QuickStart. Here are instructions for using it:

  • Download and unzip the QuickStart, found here: MR12.6f QuickStart
  • Build yourself an emulator for your platform (the HEAD of the master branch of the https://git.code.sf.net/p/dps8m/code Git repo is recommended).
  • Drop the "dps8" executable into your QuickStart folder
  • Run "./dps8 MR12.6f_boot.ini" (Linux or macOS) or ".\dps8 MR12.6f_boot.ini" (Windows)
  • Once booted, use another terminal window to telnet to Multics ("telnet localhost 6180" on Linux and macOS; for Windows use putty or equivalent)

Cold Booting a New MR12.6f System from Scratch

You have three options if you'd like to create a fresh MR12.6f Multics system. You can use the QuickStart (see previous section), or you can perform a Multics cold boot yourself. There are two ways to perform the cold boot. The first, and easiest option, is to use the Script to cold boot MR12.6f. The second, is to manually install Multics using the instructions in the MR12.6f System Installation Bulletin. This second option is what site administrators would have done back in the days of Multics hardware-based implementations. It provides an near-authentic experience and allows maximum customization. Because all commands must be entered manually, it is more error prone, time consuming, and most likely frustrating. It is presented here because it more closely matches historical cold boots.

Cold Booting a New MR12.6f System Using the MR12.6f_coldboot.ini Emulator Script

  • Create an new directory
  • In this directory, add the following files from the MR12.6f distribution:
    • All 13 MR12.6f tapes (see Release Artifacts)
    • The following (minimal) emulator script saved as "boot.ini":
attach -r tape0 12.6fMULTICS.tap
attach disk0 root.dsk
clrautoinput
autoinput \z
set opcon config=attn_hack=1
boot iom0 
    • The MR12.6e_to_MR12.6f_coldboot.ini emulator script
    • The MR12.6f_boot.ini emulator script
    • Devices.txt
  • Make sure you have a recent copy of the dps8 emulator on your path or in your Multics directory.
  • Change directories to your Multics directory.
  • Run "dps8 MR12.6e_to_MR12.6f_coldboot.ini” (if dps8 isn't on your path, but in your Multics directory, you can use "./dps8 MR12.6e_to_MR12.6f_coldboot.ini" (Linux or macOS) or ".\dsp8 MR12.6e_to_MR12.6f_coldboot.ini" (Windows). Otherwise, reference the emulator executable by relative or absolute path.
  • Note that loading the tape 12.6fLDD_STANDARD_2 tapes a very long time (due to its containing all the small include segments). Be patient.

When the script exits, you should have a bootable MR12.6f system in your current directory.

Boot your system by running the emulator with MR12.6f_boot.ini as the script parameter (e.g. "dps8 MR12.6f_boot.ini"). If you have more logical volumes than the root logical volume (RLV) be sure to update the MR12.6f_boot.ini script to include disk attachments for those other logical volumes.

Cold Booting a New MR12.6f System Manually

If you want to follow the instructions in the System Installation Bulletin (SIB) and perform an cold boot of a MR12.6f system the way site administrators would have done so in years past, you can following the instructions here.

  • Create an new directory
  • In this directory, add the following files from the MR12.6f distribution:
    • All 12 MR12.6f tapes (see Release Artifacts)
    • The following (minimal) emulator script saved as "boot.ini":
attach -r tape0 12.6fMULTICS.tap
attach disk0 root.dsk
clrautoinput
autoinput \z
set opcon config=attn_hack=1
boot iom0 
  • Make sure you have a recent copy of the dps8 emulator on your path or in your Multics directory.
  • Change directories to your Multics directory.
  • Follow the instructions in Section 5 of the MR12.6f System Installation Bulletin (SIB).
  • When you are asked to boot your system, run "dps8 boot.ini” (if dps8 isn't on your path, but in your Multics directory, you can use "./dps8 boot.ini" (Linux or macOS) or ".\dsp8 boot.ini" (Windows). Otherwise, reference the emulator executable by relative or absolute path.
  • Follow all the steps in Section 5.
  • Note that loading the tape 12.6fLDD_STANDARD_2 tapes a very long time (due to its containing all the small include segments). Be patient.
  • At the end of the instructions in Section 5, you will be left with a running MR12.6f system.

When you shut your system down, you can boot it again using the same minimal boot.ini (but be prepared to manually enter all the pre-bce and bce commands required to bring your system up). Alternatively, boot your system by running the emulator with MR12.6f_boot.ini as the script parameter (e.g. "dps8 MR12.6f_boot.ini"). If you have more logical volumes than the root logical volume (RLV) be sure to update the MR12.6f_boot.ini script to include disk attachments for those other logical volumes.

Release Artifacts

Here are some links to relevant MR12.6f artifacts:

  • Single ZIP file with MR12.6f Release Tapes, SRB, SIB, system book, and emulator INI files:

Most Important New Features of MR12.6f

input_history

A new input_history_ I/O module was added to bound_video_ that allows recall and execution of previous input lines, as well as searching for prior input lines. The Multics video system provides functions for editing input lines as they are typed. It uses Emacs-like key bindings to edit input lines. However, it provides no mechanism for saving previous input lines, recalling those lines, and reexecuting them. The new input history functionality does just that. See input_history.info and input_history_.info for details.

call

A new call command invokes a subroutine with arguments given in a command line. It uses the declared entrypoint calling sequence to convert each command argument to a corresponding subroutine parameter's data type; invokes the subroutine; then displays any output values.

library_pathname

The library_pathname (lpn) command/active function was updated to return all matching pathnames when invoked as an active function. This command/AF was also updated to accept the -container control argument.

cv_ptr_

The cv_ptr_ subroutine was updated to handle pointers to hardcore segments.

pointer_info

The pointer_info (pin) command was added to provide a command-line interface to the interpret_ptr_ subroutine.

New Terminal Types

Added the VT102_132C_50L and VT102_132C_78L terminal types.

Command Line History and Editing in Video System

One of the most useful features of MR12.6f, courtesy of Gary Dixon, is the new input_history (ih) command. This command, intended to be used with the video system, allows you to recall previously entered commands and input, search for previous input, and edit input using Emacs-like keybindings. For detailed documentation, while logged in, use the "help input_history" command.

To help you get started, perform the following steps:

  • make sure you set your terminal type to an entry that supports the video system (see below)
  • start the video system with "wdc invoke"
  • start input_history with "ih attach"

Now, type a few commands at the command processor. Then, use Control-P to recall your previous input, and Control-N to move toward more recent input. Use Control-R to search backward in your input history for a string (to find a previous command).

Use Control-A to go to the beginning of a line, and Control-E to go the end of the line. Control-F moves forward a character and Control-B moves backward. Control-D deletes forward a character, and Escape-D deletes forward a word. Escape-F moves forward a word, and Escape-B moves backward a word. There are lots of other key bindings for editing lines -- see the input_history (ih) help file as well as the video system help ("help video_editing.gi").

Video System and Terminal Types

In order to use the video system (and input_history), you need to set your terminal type to a terminal type that supports the video system. There are several types that due, for example, VT102, VT102_132C, and other. MR12.6f adds two new terminal types to the system terminal type tape, but if you upgrade your system from a previous release, you won't be able to use these new entries unless you either replace your TTF.ttf in >udd>sa>a and convert and install it (cv_ttf TTF ; install TTF.ttt). Alternately, you can merge in the new entries into your existing TTF.ttf (and convert and install it).

The two new entries added are VT102_132C_50L and VT102_132C_78L. These terminal type definitions are very similar to the VT102_132C terminal type definition, but specify 50 and 78 lines, respectively. The VT102_132C terminal type, in contrast, only supports 25 (actually 24) lines, which is quite small by today's standards.