This page describes how to install a new Multics system on your machine. If you already have Multics running, and wish to upgrade it, see Upgrading Your Multics System.
Multics emulation runs on a variety of operating systems which host the emulator: Linux, macOS, Windows, and Raspian (Raspberry Pi), etc.
On the host platform, you install the DPS8M emulator. See Emulator Page for details on how and where to install the emulator.
You also create a directory, called the Multics host directory, in which the Multics disk image, Multics boot tape, and other configuration and emulator scripts reside. Each Multics host directory contains all the files describing one emulated Multics system. While you can run multiple Multics systems on your host machine, each Multics system must reside in a separate Multics host directory, and you must configure the DPS8M emulator to ensure that each Multics system’s FNP emulator listens on a different TCP port. When creating an instance of a Multics system, it is best to start with an empty directory and only put those assets in the directory that are required to support running that instance of Multics. If you use the QuickStart and unzip the ZIP file in which the QuickStart is stored, you will automatically get a new directory created, which will become your Multics host directory. Feel free to move this anywhere on your host system. If you perform a manual cold boot, start with an empty directory as your Multics host directory.
The instructions that follow describe setup for a single emulated Multics system.
Installing Multics on Your Host Machine
There are two ways of installing a new Multics system on your host machine. The first, and by far the easiest, is to use the "Multics QuickStart". The second way is to manually perform the cold boot process yourself. The QuickStart provides an already cold-booted Multics system disk image that is ready to run. The disk image of the Root Logical Volume (RLV) is one which is identical to what you would get if you manually cold booted Multics. In fact, the way the QuickStart RLV is created is by following the lengthier cold boot process and then exiting the emulator just afterwards, thus saving the state of the system before logging in any interactive users or making other changes to the system.
Getting started using the Multics QuickStart is described below. To cold boot Multics yourself, see Cold Booting Multics.
Using the Multics QuickStart
Before using the QuickStart, you must already have the DPS8M emulator. If you do not, see Installing the DPS8M emulator. Make sure that the emulator executable is on your path, and can be started successfully by typing "dps8" at a terminal shell prompt. Doing so should give you output similar to this (the first line, beginning with "$" is your input to the shell):
$ dps8 DPS8/M emulator (git 3ed49bd4) Production build DPS8M system session id is 45421 Please register your system at https://ringzero.wikidot.com/wiki:register or create the file 'serial.txt' containing the line 'sn: 0'. FNP telnet server port set to 6180 DPS8M simulator V4.0-0 Beta git commit id: c420925a sim>
Exit the emulator by typing "quit" followed by the Return or Enter key.
Download the latest version of the Multics QuickStart from MR12.6f QuickStart. This is a ZIP file. Make sure you have the necessary tools on your system to unzip a ZIP file, and then unzip the contents of this ZIP file. The resulting directory will be your Multics host directory. Feel free to move it anywhere you wish. As of this writing, the name of the directory you get when unzipped the QuickStart ZIP file is "QuickStart_MR12.6f". The contents of this directory should contain the following files:
|12.6fMULTICS.tap||Multics boot tape|
|root.dsk||Multics Root Logical Volume (RLV) disk image|
|MR12.6f_boot.ini||Emulator script to boot Multics using the Multics boot tape and RLV disk image|
|Devices.txt||A required configuration file with communications channels defined|
|README.txt||A short description of the contents of the QuickStart|
|site_setup.sh||A (bash) shell script for personalizing your Multics installation (not required).|
|configure.ini||Sample output created by site_setup.sh|
You should be able to start the QuickStart Multics system by making sure your working directory is your Multics host directory, and by typing (at a terminal shell):
You should rewarded with output that looks like this:
DPS8/M emulator (git 3ed49bd4) Production build DPS8M system session id is 45421 Please register your system at https://ringzero.wikidot.com/wiki:register or create the file 'serial.txt' containing the line 'sn: 0'. FNP telnet server port set to 6180 DPS8M simulator V4.0-0 Beta git commit id: c420925a TAPE: unit is read only CONSOLE: ALERT bootload_0: Booting system MR12.6f generated 01/09/17 1119.1 pst Mon. 1738.7 announce_chwm: 428. pages used of 512. in wired environment. 1738.7 announce_chwm: 706. words used of 1024. in int_unpaged_page_tables. find_rpv_subsystem: Enter RPV data: M-> [auto-input] rpv a11 ipc 3381 0a 1738.7 load_mst: 946. out of 1048. pages used in disk mst area. bce (early) 1738.8: M-> [auto-input] bce Multics Y2K. System was last shudown/ESD at: Saturday, April 1, 2017 20:37:12 pst Current system time is: Sunday, April 2, 2017 9:38:51 pst. Is this correct? M-> [auto-input] yes The current time is more than the supplied boot_delta hours beyond the unmounted time recorded in the RPV label. Is this correct? M-> [auto-input] yes The current time I'm using is more than 12 hours after the last shutdown time recorded in the RPV label. Are you sure this is correct? M-> [auto-input] yes bce (boot) 0938.8: M-> [auto-input] boot star Multics MR12.6f - 04/02/17 0939.1 pst Sun 0939.1 Loading FNP d, >user_dir_dir>SysAdmin>a>mcs.7.6c>site_mcs 7.6c Received BOOTLOAD command... listening to 6180 0939.1 FNP d loaded successfully scavenge_vol: No volumes found Ready 0939 as as_init_: Multics MR12.6f; Answering Service 17.0 0939 as LOGIN IO.SysDaemon dmn cord (create) 0939 as LOGIN Backup.SysDaemon dmn bk (create) 0939 as LOGIN IO.SysDaemon dmn prta (create) 0939 as LOGIN Utility.SysDaemon dmn ut (create) 0939 as LOGIN Volume_Dumper.Daemon dmn vinc (create) fnpuv_open_slave 3.31 listening on port 6131 0939 as as_mcs_mpx_: Load signalled for FNP d. M-> CONSOLE: RELEASED 0939 cord Enter command: coordinator, driver, or logout: --> cord 0939 prta Enter command: coordinator, driver, or logout: --> prta 0939 bk 0939 ut copy_dump: Attempt to re-copy an invalid dump. 0939 bk r 09:39 0.314 38 0939 bk --> bk 0939 vinc 0939 vinc r 09:39 0.315 25 0939 vinc --> vinc 0939 as sc_admin_command_: Utility.SysDaemon.z: delete_old_pdds 0939 ut send_admin_command: Execution started ... 0939 ut completed. 0939 ut monitor_quota: The requested action was not performed. 0939 ut The quota of >dumps is 0, a record limit needs to be specified. 0939 ut 0939 ut Records Left % VTOCEs Left % PB/PD LV Name 0939 ut 0939 ut 166172 100046 60 42218 34130 81 pb root 0939 ut 0939 ut r 09:39 1.931 499 0939 ut --> ut 0939.3 RCP: Attached tapa_00 for Utility.SysDaemon.z 0939.3 RCP: Detached tapa_00 from Utility.SysDaemon.z 0939.3 RCP: Attached rdra for Utility.SysDaemon.z 0939.3 RCP: Detached rdra from Utility.SysDaemon.z 0939.3 RCP: Attached puna for Utility.SysDaemon.z 0939.3 RCP: Detached puna from Utility.SysDaemon.z 0939.3 RCP: Attached prta for Utility.SysDaemon.z 0939.3 RCP: Detached prta from Utility.SysDaemon.z
Your Multics system is up and running. The terminal shell in which you started the emulator and Multics is now the operator console. In order to get the attention of the operator console, type the Esc key. It prompts you with "M-> ". See the Multics documentation  and, in particular, the manual GB61 (Multics Operator's Guide) for complete documentation of the operator interface. There is also online documentation. At the "M-> " prompt, you may use the "help", "?", "list_requests", and "list_help" commands.
Logging Into Your New Multics System
The emulator should be listing on TCP port 6180 and if you connect to that port using telnet, you should be able to login.
If your operating system doesn't come with a telnet client, find out how to install one and then invoke, from a terminal shell, the following:
telnet localhost 6180
Expect to see output similar to this:
$ telnet localhost 6180 Trying ::1... telnet: connect to address ::1: Connection refused Trying fe80::1... telnet: connect to address fe80::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. HSLA Port (d.h000,d.h001,d.h002,d.h003,d.h004,d.h005,d.h006,d.h007,d.h008,d.h009,d.h010,d.h011,d.h012,d.h013,d.h014,d.h015,d.h016,d.h017,d.h018,d.h019, d.h020,d.h021,d.h022,d.h023,d.h024,d.h025,d.h026,d.h027,d.h028,d.h029)?
The emulator is prompting you to choose a communications channel. To pick the first available one, simply hit the Enter (or Return) key. Expect to see similar output:
Attached to line d.h000 Multics MR12.6f: Installation and location (Channel d.h000) Load = 5.0 out of 90.0 units: users = 5, 04/02/17 0943.1 pst Sun
Now you are ready to login. The only interactive account that you can use as this point is that of associated with a userid of Repair. You can login to either the SysAdmin or SysDaemon project, but we recommend that you login to the default SysAdmin project. The initial password for Repair is "repair" and you will have to change it on first login.
To login as Repair.SysAdmin and specify that you wish to change the password, type the following:
login Repair -cpw
You will be prompted for the default password. Type "repair" followed by Enter (or Return).
You will be prompted for a new password twice. Choose a new password for this.
Your session should look like this:
$ telnet localhost 6180 Trying ::1... telnet: connect to address ::1: Connection refused Trying fe80::1... telnet: connect to address fe80::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. HSLA Port (d.h000,d.h001,d.h002,d.h003,d.h004,d.h005,d.h006,d.h007,d.h008,d.h009,d.h010,d.h011,d.h012,d.h013,d.h014,d.h015,d.h016,d.h017,d.h018,d.h019,d.h020,d.h021,d.h022,d.h023,d.h024,d.h025,d.h026,d.h027,d.h028,d.h029)? Attached to line d.h000 Multics MR12.6f: Installation and location (Channel d.h000) Load = 5.0 out of 90.0 units: users = 5, 04/02/17 0947.4 pst Sun login Repair -cpw Password: New Password: New Password Again: Password changed. You are protected from preemption. Repair.SysAdmin logged in 04/02/17 0948.2 pst Sun from ASCII terminal "none". New messages in message_of_the_day: Welcome to the Multics System. print_motd: Created >user_dir_dir>SysAdmin>Repair>Repair.value. r 09:48 0.324 33
You are now logged in as Repair.SysAdmin. That last piece of output is the default Multics "ready" prompt. You can now enter regular or administrative Multics commands. For more information on how to proceed, see Using Multics
Shutting Down Your Multics System
Shutting down your Multics system before shutting down your host computer is very important. If you don't, the Multics file system will be left in an inconsistent state. In order to shut down your system, follow the instructions here: Shutting Down Multics.
Registering Your Multics System
To register your Multics system, you may visit Register Your Multics System. Doing so allows others to see that you have installed Multics and advertises as little or as much information about your system as you wish. Doing so also gives you a Multics serial number. You can update the serial.txt file (or create one if none exists) in your Multics host directory so that it contains the Multics serial number you are assigned during registration. While this is an optional step, real Multics hardware systems had serial numbers, and the "rsw" machine instruction returns this serial as the "processor ID". So you, too, can influence the "rsw" instruction by returning your very own assigned Multics hardware serial number.