NOTICE
I am continually working to improve the approach for virtual machines. Check the most recent post to have an idea on how things are changing. Also, please, leave a comment when you find something that need to be improved.
Introduction
ULTRIX-11 was the version of ULTRIX for DEC PDP-11 based computers. The PDP-11 line has few models with different CPUs, internal communication bus, etc. These instructions were made for a PDP-11/83 guest.
Host
- Windows
- Vendor: Generic
- CPU: 1 x Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz 3.79 GHz
- RAM: 128GB
- OS: Windows 10 64-bits
- Linux
- Vendor: Apple Inc. MacPro6,1/Mac-F60DEB81FF30ACF6, BIOS 430.140.2.0.0 04/18/2022
- CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
- RAM: 64GB
- OS: Linux Fedora 37 Workstation
Guest
- DEC PDP-11/83
- CPU:11/83, NOCIS, autoconfiguration enabled, idle disabled, 4088KB
- Memory: 4MB
- OS: DEC ULTRIX-11 3.1
Virtualization
- SimH 4.1 (from GitHub)
Pending
- Additional disk controllers
- Network
- Enable guest network support [DONE]
- Link simulator network device to host network device [DONE]
- Set-up guest OS to use network device
- Instructions for *BSD
References
Notes
- None at this time
Steps
- bold text is user input from the keyboard
- red text are control characters typed by the user
- blue text is automatic input from SimH input processing
- fuchsia text are automatic control characters input from SimH input processing
-
Preparation
-
Windows 10 + cygwin
- Install Cygwin with b2zip (or 7z), uudecode, wget
-
macOS
- Install brew
-
Install additional tools. uudecode is installed with macOS already.
brew install wget p7zip
-
Linux
-
Install additional tools. uudecode is installed with Linux already.
sudo dnf install -y wget p7zip
-
Install additional tools. uudecode is installed with Linux already.
- FOR ALL OSes: Create all the start-up scripts as per the section at the bottom of this page.
-
Windows 10 + cygwin
-
Execute the guest initialization script. This script will download SimH and build the necessary simulator
./simh_ultrix-3.1_pdp-11.sh
Click here to see a run example👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators $ ./simh_ultrix-3.1_pdp-11.sh (./simh_ultrix-3.1_pdp-11.sh) (/cygdrive/m/Emulators/simh_pdp-11.sh) Guest OS: ultrix-3.1 (/cygdrive/m/Emulators/simh.sh) Guest Hardware: pdp-11; Guest OS: ultrix-3.1 (/cygdrive/m/Emulators/CreateGuestDirectory.sh) Virtualization: SimH; Guest Hardware: pdp-11; Guest OS: ultrix-3.1 POST git-upload-pack (155 bytes) POST git-upload-pack (958 bytes) remote: Enumerating objects: 15, done. remote: Counting objects: 100% (15/15), done. remote: Compressing objects: 100% (11/11), done. remote: Total 15 (delta 4), reused 13 (delta 4), pack-reused 0 Unpacking objects: 100% (15/15), 68.76 KiB | 964.00 KiB/s, done. From https://github.com/open-simh/simh 869dc0fe..b0f69eea master -> origin/master = [up to date] Alpha-CPU -> origin/Alpha-CPU = [up to date] AsyncTmxr -> origin/AsyncTmxr = [up to date] AutoConfigure -> origin/AutoConfigure = [up to date] Bryan-HP-Current -> origin/Bryan-HP-Current = [up to date] BufferedConsole -> origin/BufferedConsole = [up to date] ControlFlow -> origin/ControlFlow = [up to date] Extra-VAXen -> origin/Extra-VAXen = [up to date] FastAsynchIO -> origin/FastAsynchIO = [up to date] HP2100Extensions -> origin/HP2100Extensions = [up to date] KDP -> origin/KDP = [up to date] SerialMux -> origin/SerialMux = [up to date] Supnik-Current -> origin/Supnik-Current = [up to date] VAX-11-BootBlock-Fixup -> origin/VAX-11-BootBlock-Fixup = [up to date] simtools -> origin/simtools = [up to date] v3.9-0-rc1 -> origin/v3.9-0-rc1 = [up to date] vms-pcap -> origin/vms-pcap ===> Compiling and testing the simulator for 'pdp-11' lib paths are: /usr/lib ../windows-build/winpcap/WpdPack/Lib /lib/ /usr/lib/ include paths are: /usr/lib/gcc/x86_64-pc-cygwin/11/include /usr/include /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../lib/../include/w32api ../windows-build/winpcap/WpdPack/Include using libm: /usr/lib/libm.a using librt: /usr/lib/librt.a using libpthread: /usr/lib/libpthread.a /usr/include/pthread.h using semaphore: /usr/include/semaphore.h using libdl: /usr/lib/libdl.a /usr/include/dlfcn.h using libedit: /usr/include/editline/readline.h using mman: /usr/include/sys/mman.h using libSDL2: /usr/include/SDL2/SDL.h *** No SDL ttf support available. BESM-6 video panel disabled. *** *** Info *** Install the development components of libSDL2-ttf packaged by your *** Info *** operating system distribution and rebuild your simulator to *** Info *** enable this extra functionality. *** Warning *** *** Warning *** pdp11 Simulator is being built WITHOUT *** Warning *** libpcap networking support *** Warning *** *** Warning *** To build simulator(s) with libpcap networking support you *** Warning *** should read 0readme_ethernet.txt and follow the instructions *** Warning *** regarding the needed libpcap development components for your *** Warning *** cygwin platform *** Warning *** *** Warning *** *** Warning *** pdp11 Simulator is being built WITHOUT LAN networking support *** Warning *** *** Warning *** To build simulator(s) with networking support you should read *** Warning *** 0readme_ethernet.txt and follow the instructions regarding the *** Warning *** needed libpcap components for your cygwin platform *** Warning *** *** *** pdp11 Simulator being built with: *** - compiler optimizations and no debugging support. GCC Version: 11.3.0. *** - WITHOUT Local LAN networking support. *** - Local LAN packet transports: NAT(SLiRP) *** - video capabilities provided by libSDL2 (Simple Directmedia Layer). *** - Per simulator tests will be run. *** *** git commit id is 4e159a04ed6291509b685dc06f620389b3373cce. *** git commit time is 2023-01-04T13:22:12-0700. *** make: Nothing to be done for 'pdp11'. PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 sim> exit Goodbye ===> Test run for the simulator link inside the guest base directory PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 sim> exit Goodbye total 4 drwxrwxrwx+ 1 afberendsen None 0 Mar 31 01:02 ./ drwxrwxrwx+ 1 afberendsen None 0 Mar 31 01:02 ../ lrwxrwxrwx 1 afberendsen None 35 Mar 31 01:02 pdp11-4.1 -> ../../mirror/simh-4.1/BIN/pdp11.exe* Execute the line below to change to your guest base directory cd '/cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1' ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators $ cd '/cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1' ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ ls -l total 0 lrwxrwxrwx 1 afberendsen None 35 Mar 31 01:02 pdp11-4.1 -> ../../mirror/simh-4.1/BIN/pdp11.exe ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $
-
Create a file named sys00b0.ini. This SimH Initialization file will be used to set-up the initial installation environment.
set cpu 11/83 set cpu 4m set tto 7b set tti 7b ; RQ controller is enabled by default ; SimH supports largers disks than RD54, but Ultrix does not... set rq0 rd54 set rq1 rd54 set rq2 rd54 set rq3 rd54 att rq0 sys00b0_rd54.dsk att rq1 sys00b1_rd54.dsk att rq2 sys00b2_rd54.dsk att rq3 sys00b3_rd54.dsk ; RL controller is enabled by default ; RQB, RQC, RQD, RK, HK, and TM controllers are disabled by default set tq tk50 att -r tq0 ultrix-11-3.1-bootape.tap ; disable stuff set cr dis set lpt dis set rl dis set rp dis set rx dis set ry dis set ts dis set tq1 dis set tq2 dis set tq3 dis ;attach xq eth3 <-- requires tap show cpu ;The nex two lines should be commented out after ULTRIX-11 is successfully installed. ;expect "#" send "\x04"; continue ;b rq0
Click here to see extra comments abour controllers and disks
; Name Usage Disk Drives Supported Supported by SimH? ; ---- ----- --------------------- ------------------ ; rh11 Unibus RM02, RP04/5/6, ML11 No ; rh70 11/70 Massbus RM02/3/5, RP04/5/6, ML11 No ; rp11 Unibus RP02/3 Yes ; rk611 Unibus RK06/7 Yes ; rk711 Unibus RK06/7 Yes ; rl11 Unibus RL01/2 No ; rlv11 Q bus RL01/2 (* specify rl11) No ; rlv12 Q22 bus RL01/2 (* specify rl11) Yes ; rx211 Unibus RX02 No ; rxv21 Q bus RX02 (* specify rx211) No ; rk11 Unibus RK05 No - No RK05 support ; uda50 Unibus RA60, RA80, RA81 No ; kda50 Q22 bus RA60, RA80, RA81 No ; rqdx1 Q22 bus RX50, RX33, RD31-32, RD51-54 No ; rqdx2 Q22 bus RX50, RX33, RD31-32, RD51-54 No ; rqdx3 Q22 bus RX50, RX33, RD31-32, RD51-54 Yes - PDP-11/73 & PDP-11/83 ; rux1 Unibus RX50 No ; klesi Unibus/Q22 bus RC25 No ; ; The following SimH controllers are available ; RK (BR5) : support 8 disks from RK0 to RK7 ; RL (BR5) : support 4 disks from RL0 to RL3 ; RL11/RL01/RL02 Cartridge Disk ; HK (BR5) : support 8 disks from HK0 to HK7 ; RK611/RK06/RK07 Cartridge Disk ; RP (RHA) : support 8 disks from RP0 to RP7 ; RP04/05/06/07, RM02/03/05/80 Disk Pack Drives ; RQ (BR5, RQDX3) : support 4 disks from RQ0 to RQ3 ; RQB (BR5, RQDX3) : support 4 disks from RQB0 to RQB3 ; RQC (BR5, RQDX3) : support 4 disks from RQC0 to RQC3 ; RQD (BR5, RQDX3) : support 4 disks from RQD0 to RQD3 ; RX (BR5) : support 2 floppy disks from RX0 to RX1 ; TM (BR5) : support 8 tapes from TM0 to TM7 ; TM03/TE16/TU45/TU77 Magnetic Tapes ; TS : TS11 Magnetic Tape ; TQ (TK50) : TUK50 TMSCP Disk Controller ; support 4 tape units from TQ0 to TQ3 ; ; Disk Size Controller ULTRIX 3.1 ; ---- ------ ---------- ---------- ; RA60 196MB RQ* Y ; RA70 268MB RQ* N ; RA71 668MB RQ* N ; RA72 954MB RQ* N ; RA73 1915MB RQ* N ; RA80 116MB RQ* Y ; RA81 436MB RQ* Y ; RA82 595MB RQ* N ; RA90 1161MB RQ* N ; RA92 1437MB RQ* N ; RC25 52MB RQ* N ; RD31 21MB RQ* Y ; RD32 41MB RQ* Y ; RD51 11MB RQ* Y ; RD52 30MB RQ* Y ; RD53 68MB RQ* N ; RD54 152MB RQ* Y <-- Best option ; RF30 144MB RQ* N ; RF31 364MB RQ* N ; RF35 382MB RQ* N ; RF71 955MB RQ* N ; RF72 1909MB RQ* N ; RF73 ? RQ* N ; RK06 2.4MB RK Y ; RK07 2.4MB RK Y ; RL01 5.1MB RL Y ; RL02 11MB RL Y ; RM02 152MB RP Y ; RM03 152MB RP Y ; RM05 254MB RP N ; RM80 119MB RP N ; RP02 11MB RP Y ; RP03 65MB RP Y ; RP04 85MB RP Y ; RP05 84MB RP Y ; RP06 167MB RP Y ; RP07 493MB RP N ; RRD40 CD-ROM ; RX33 1.2MB RQ*, RX Floppy 5.25" DS/80 1.2MB ; RX50 400KB RQ*, RX Floppy 5.25" SS/80 400MB ; -
Download and unpack the tape ULTRIX-11 3.1 image
wget https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-11/Ultrix-3.1/ultrix-3.1-bootape.tar.gz gunzip ultrix-3.1-bootape.tar.gz
Click here to see a run example👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ wget https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-11/Ultrix-3.1/^C ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ wget https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-11/Ultrix-3.1/ultrix-3.1-bootape.tar.gz --2023-03-31 15:17:56-- https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-11/Ultrix-3.1/ultrix-3.1-bootape.tar.gz Resolving www.tuhs.org (www.tuhs.org)... 50.116.15.146, 2600:3c01:e000:146::1 Connecting to www.tuhs.org (www.tuhs.org)|50.116.15.146|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 6760995 (6.4M) [application/x-gzip] Saving to: ‘ultrix-3.1-bootape.tar.gz’ ultrix-3.1-bootape.tar.gz 100%[========================================>] 6.45M 3.49MB/s in 1.8s 2023-03-31 15:17:59 (3.49 MB/s) - ‘ultrix-3.1-bootape.tar.gz’ saved [6760995/6760995] ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ gunzip ultrix-3.1-bootape.tar.gz ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ ls -l ultrix-3.1-bootape.tar -rw-rw-rw-+ 1 afberendsen None 20387840 Feb 16 2001 ultrix-3.1-bootape.tar ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $
-
Load the guest for the first time. Any disk device that is not present, will be created as a single file with the disk size. For the RD54, this is a file of 152MB in size.
./pdp11-4.1 sys00b0.ini
Click here to see a run example👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ ./pdp11-4.1 sys00b0.ini PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Disabling RK Disabling HK Disabling TM /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-12> att rq0 sys00b0_rd54.dsk %SIM-INFO: RQ0: Creating new file: sys00b0_rd54.dsk /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-13> att rq1 sys00b1_rd54.dsk %SIM-INFO: RQ1: Creating new file: sys00b1_rd54.dsk /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-14> att rq2 sys00b2_rd54.dsk %SIM-INFO: RQ2: Creating new file: sys00b2_rd54.dsk /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-15> att rq3 sys00b3_rd54.dsk %SIM-INFO: RQ3: Creating new file: sys00b3_rd54.dsk /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-22> att -r tq0 ultrix-11-3.1-bootape.tap %SIM-INFO: TQ0: unit is read only %SIM-INFO: TQ0: Tape Image 'ultrix-11-3.1-bootape.tap' scanned as SIMH format CPU 11/83, NOCIS, autoconfiguration enabled, idle disabled 4088KB sim>
-
Boot from the tape
boot tq0
Click here to see a run example👇
sim> b tq0 Sizing Memory... To list options, type help then press <RETURN> Boot:
-
Provide the tape unit boot device to load the initial OS bootstrap.
tk(0,2)
Click here to see a run example👇
Boot: tk(0,2) ****** ULTRIX-11 System Disk Load Program ****** This program loads the base ULTRIX-11 system from the distribution media onto the system disk, then bootstraps the system disk. After booting, the setup program begins the initial setup dialogue. Before loading can begin, you need to answer some questions about your system's configuration. Enter your answer, using only lowercase characters, then press <RETURN>. If you need help answering any of the questions, enter a ? then press <RETURN>. To correct typing mistakes press the <DELETE> key to erase a single character or <CTRL/U> to erase the entire line. Press <RETURN> to continue:
-
Provide information for the initial ULTRIX-11 bootstrap set-up.
- Confirm the system is running PDP-11/83.
- Provide the disk model: RD54. This will be asked twice. Be careful to provide the same disk model.
- You can scan or not the virtual disk :)
- Indicate that the install unit is 0. This translate to RQ0 for SimH. You can still ULTRIX-11 on a different disk...
- For some reason, the tape image is not ok and a "hard" halt is necessary after ULTRIX-11 is bootstrapped to you guest system disk. You will need to press CTRL+E and execute the next boot manually.
Click here to see a run example👇
****** WARNING ****** Installing the ULTRIX-11 software will overwrite your system disk. In addition, the ULTRIX-11 V3.0 file system is not compatible with the file systems used by previous ULTRIX-11 releases or any other software systems. Existing user disks must be converted to the new 1K block file system. DO NOT PROCEED UNTIL YOU HAVE READ INSTALLATION GUIDE SECTION 1.7 Proceed with the installation <y or n> ? y Target processor is an 11/83 <y or n> ? y CURRENT CPU = 11/83, TARGET CPU = 11/83 System disk type <? for help> ? rd54 ****** CAUTION ****** You must scan MSCP disks for bad blocks, type ?<RETURN> for help! Scan system disk(s) for bad blocks <y or n> ? y ****** SCANNING SYSTEM DISK(s) FOR BAD BLOCKS ****** ULTRIX-11 MSCP Disk Initialization Program Disk type < ra60 ra80 ra81 rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 rc25 >: rd54 Unit number < 0-3 >: 0 Starting block number < 0 >: 0 Number of blocks to check < 311200 >: ENTER READING... 311200 blocks checked 0 bad blocks found 0 bad blocks replaced Exit called ****** BAD BLOCK SCAN COMPLETE ****** ****** MAKING EMPTY (ROOT) FILE SYSTEM ****** File system size: 4850 Disk type: rd54 Processor type: 83 File system name: root Volume name: sd_rd0 File system: rd(0,0) isize = 3104 m/n = 7 72 Exit called ****** EMPTY FILE SYSTEM COMPLETED ****** ****** RESTORING (ROOT) ONTO SYSTEM DISK ****** Input: tk(0,0)root Disk: rd(0,0) End of dump media ****** FILE SYSTEM RESTORE COMPLETE ****** ****** CHECKING (ROOT) FILE SYSTEM ****** File: rd(0,0) Salvage free list <y or n> ? n rd(0,0): files 305 (r=280,d=17,b=1,c=7,p=0,l=0) used 3389 (i=182,ii=0,iii=0,d=3207) free 1265 missing 0 ****** FILE SYSTEM CHECK COMPLETE ****** ****** MAKING EMPTY (USR) FILE SYSTEM ****** File system size: 8650 Disk type: rd54 Processor type: 83 File system name: /usr Volume name: sd_rd0 File system: rd(0,9700) isize = 5536 m/n = 7 72 Exit called ****** EMPTY FILE SYSTEM COMPLETED ****** ****** RESTORING (USR) ONTO SYSTEM DISK ****** Input: tk(0,0)usr Disk: rd(0,9700) End of dump media ****** FILE SYSTEM RESTORE COMPLETE ****** ****** CHECKING (USR) FILE SYSTEM ****** File: rd(0,9700) Salvage free list <y or n> ? n rd(0,9700): files 619 (r=570,d=49,b=0,c=0,p=0,l=0) used 4824 (i=228,ii=1,iii=0,d=4594) free 3479 missing 0 ****** FILE SYSTEM CHECK COMPLETE ****** ****** COPYING BOOT TO SYSTEM DISK BLOCK ZERO ****** ****** BLOCK ZERO BOOT LOADED ****** ****** BOOTING ULTRIX-11 SYSTEM TO SINGLE-USER MODE ****** TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) Can't load 240 files TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) TK50 magtape error: endcode=241 flags=0 status=5001 (FATAL ERROR) Can't load 240 files FATAL ERROR: while attempting to return to Boot: Execute the hardware bootstrap for your distribution load device, that is, RX50, magtape, etc., to return to the Boot: prompt. CTRL+E Simulation stopped, PC: 004506 (BR 4502) sim>
-
Boot the guest from the newly set-up system disk. If you followed all the instructions above, it should be the SimH RQ0 device.
boot rq0
Click here to see a run example👇
sim> b rq0 Sizing Memory... Boot: rd(0,0)unix (CTRL/C will abort auto-boot) Load device (? for help, <RETURN> if none) < ht tm ts tk rx rl rc > ?
-
At the Load device prompt, just press ENTER to continue loading the set-up.
Click here to see a run example👇
Load device (? for help, <RETURN> if none) < ht tm ts tk rx rl rc > ? rd(0,0)unix: 14784+17024+8192+8000+8064+8000+8064+8128+8000+7808+7936+7936+7680+7360+1344 ULTRIX-11 Kernel V3.1 realmem = 3932160 buffers = 25600 clists = 1600 usermem = 3772992 maxumem = 212992 erase = delete, kill = ^U, intr = ^C ****** ULTRIX-11 Setup Program ****** This program performs operating system setup functions during installation and normal system operation. Setup operates in one of three possible modes (phases), depending on the current state of the system. The three modes are: Phase 1: Initial setup -- prepares system for first sysgen. Phase 2: Final setup -- completes the system setup. Phase 3: Change setup -- handles system setup changes. The program will ask several setup questions. Enter your answer to each question, using lowercase characters, then press <RETURN>. The questions include helpful hints enclosed in angle brackets < > and/or parenthesis ( ). If you need additional help answering any question, enter a ? or the word help then press <RETURN>. You can correct typing mistakes by pressing the <DELETE> key to erase a single character or <CTRL/U> to erase the entire line. You can interrupt the setup program by typing <CTRL/C>. This allows you to abort the setup process or restart it. Press <RETURN> to continue:
-
Now is time to provide a lot of information abou your set-up. After that, the basic setup will continue...
- Is the console terminal a CRT (video terminal): y
- PLEASE CONFIRM: console is a VIDEO terminal: y
- Is the above information correct: y
- Is this the target processor: y
- PLEASE CONFIRM: on the target processor: y
- Terminal type for CONSOLE terminal: y
- What is your AC power line frequency in hertz: 60
- PLEASE CONFIRM: AC line frequency is 60 hertz: y
- What is your local time zone: 0 (I am in Europe)
- PLEASE CONFIRM: time zone is 0 hours west/behind GMT: y
- Does your local area use daylight savings time: y
- PLEASE CONFIRM: daylight savings time in use: y
- Enter the selection number: 3
- PLEASE CONFIRM: Geographic area is 3: y
- Please enter the current date/time: 9503311300.00 (ULTRIX-11 does not support Y2K)
- PLEASE CONFIRM: date/time correct: y
Click here to see a run example👇
Is the console terminal a CRT (video terminal) <y or n> ? y PLEASE CONFIRM: console is a VIDEO terminal <y or n> ? y ****** READING SETUP DATA FROM setup.info FILE ****** SETUP PHASE = 1 (Initial Setup) LOAD DEVICE TYPE = TK50 UNIT 0 SYSTEM DISK TYPE = RD54 CURRENT CPU TYPE = 11/83 TARGET CPU TYPE = 11/83 Is the above information correct <y or n> ? y ****** ENTERING SETUP PHASE 1 ****** Is this the target processor (? for help) <y or n> ? y PLEASE CONFIRM: on the target processor <y or n> ? y Terminal type for CONSOLE terminal < vt100 > ? What is your AC power line frequency in hertz < 50 or 60 > ? 60 PLEASE CONFIRM: AC line frequency is 60 hertz <y or n> ? y What is your local time zone < hours west/behind GMT > ? 0 PLEASE CONFIRM: time zone is 0 hours west/behind GMT <y or n> ? y Does your local area use daylight savings time <y or n> ? y PLEASE CONFIRM: daylight savings time in use <y or n> ? y Choose the Geographic Area for the daylight savings time from the table below Geographic Area Selection --------------- --------- USA 1 Australia 2 Western Europe 3 Central Europe 4 Eastern Europe 5 Enter the selection number <1> 3 PLEASE CONFIRM: Geographic area is 3 <y or n> ?y Please enter the current date/time < yymmddhhmm.ss > ? 9503311300.00 Fri Mar 31 13:00:00 GMT-0:00 1995 PLEASE CONFIRM: date/time correct <y or n> ? y
-
After the pre-setup is done, you will need to mount the usr file system and generate the new kernel.
mount /usr cd /usr/sys/conf ./sysgen
Click here to see a run example👇
****** SELECTING SPLIT I/D COMMANDS (/bin) ****** ****** ZEROING THE ERROR LOG FILE ****** ****** MAKING SYSTEM DISK(s) SPECIAL FILES ****** ****** SELECTING SPLIT I/D COMMANDS (/usr/bin, lib, ucb) ****** ****** ULTRIX-11 Setup Phase 1 Completed ****** You can now run the sysgen program and generate a new ULTRIX-11 kernel to match your system's hardware configuration. Return to the Installation Guide for instructions. # mount /usr # cd /usr/sys/conf # ./sysgen ULTRIX-11 System Generation Program For help, type h then press <RETURN> sysgen>
- At the sysgen prompt, create a new kernel configuration. You cna have as many kernel configurations you want, with different names. At this moment, simply accept the offered unix configuration for name.
c unix
Click here to see a run example👇
sysgen> c For help, answer the question with ?<RETURN> To backup to the previous question, type <CTRL/D> Configuration name <unix> ?
- Now you have to answer a lot of questions about the kernel configuration. Those answers are directly related to the SimH configuration. My .ini file conatisn entries for four (4) discs. Wrong answers here will make the system unbootable.
- Processor type: 83
- Memory size in K bytes: ENTER (I have no idea why, but if you set the maximum amount of memoery at this moment, the boot fails. It can be changed later)
- I/O buffer cache size: ENTER
- Omit unibus map support, to save kernel space: ENTER
- Disk controller type: rqdx3
- Drive 0 type: rd54
- Drive 1 type: rd54
- Drive 2 type: rd54
- Drive 3 type: rd54
- Drive 0 type: ENTER
- CSR address: ENTER
- Vector address: ENTER
- Is the system disk on this controller: ENTER
- System disk unit number: ENTER
- Disk controller type: ENTER
- Use standard placement of root, swap, and error log: ENTER
- Magtape controller: tk50
- Magtape unit number: 0
- CSR address: ENTER
- Vector address: ENTER
- Magtape unit number: ENTER
- Magtape controller: ENTER
- Crash dump device: rd54
- LP11/LPV11 line printer present: ENTER
- Communications devices: ENTER
- Number of pseudo ttys: ENTER
- Include C/A/T phototypesetter driver: ENTER
- User devices: ENTER
- Include kernel floating point simulator: ENTER
- Include TCP/IP ethernet support: no (if you asnwer yes and SimH is not LAN-aware, the kernel build will fail)
- Use standard system parameters: ENTER
- Include memory shuffle routine: ENTER
- Include interprocess communication message facility: ENTER
- Use standard message parameters: ENTER
- Include interprocess communication semaphore facility: ENTER
- Use standard semaphore parameters: ENTER
- Include advisory record and file locking: ENTER
- Use standard locking parameters: ENTER
- Include multiple access user space: ENTER
- Use standard maus parameters: ENTER
- AC power line frequency in hertz: ENTER
- Timezone (hours west/behind GMT): 0
- Does your area use daylight savings time: y
- Choose the Geographic Area for daylight savings: 3
Click here to see a run example👇
Processor type: ( 23 23+ 24 34 40 44 45 55 60 70 73 83 84 ) < 83 > ? Memory size in K bytes (K = 1024) < 3840 > ? I/O buffer cache size (NBUF: min = 16, max = 300) < 150 > ? Omit unibus map support, to save kernel space <yes> ? Please enter the system (ROOT) disk controller first. Disk controller type: < rh11 rh70 rp11 rk611 rk711 rl11 rx211 rk11, uda50 kda50 rqdx1 rqdx2 rqdx3 klesi rux1 > ? rqdx3 First MSCP disk controller: Drive 0 type < rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 > ? rd54 Drive 1 type < rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 > ? rd54 Drive 2 type < rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 > ? rd54 Drive 3 type < rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 > ? rd54 Drive 4 type < rx33 rx50 rd31 rd32 rd51 rd52 rd53 rd54 > ? CSR address <172150> ? Vector address <154> ? Is the system disk on this controller <yes> ? System disk unit number <0> ? Disk controller type: < rh11 rh70 rp11 rk611 rk711 rl11 rx211 rk11, uda50 kda50 rqdx1 rqdx2 rqdx3 klesi rux1 > ? Use standard placement of root, swap, and error log <yes> ? Magtape controller: < tm02 tm03 tm11 ts11 tsv05 tsu05 tu80 tk50 tu81 > ? tk50 Magtape unit number < 0->3 > ? 0 CSR address <174500> ? Vector address <260> ? Magtape unit number < 0->3 > ? Magtape controller: < tm02 tm03 tm11 ts11 tsv05 tsu05 tu80 tk50 tu81 > ? Crash dump device < tk50 rd54 > ? rd54 LP11/LPV11 line printer present <no> ? Communications devices: < dz dzv dzq dh dhu dhv dhdm du dn kl dl > ? Number of pseudo ttys <4> ? Include C/A/T phototypesetter driver <no> ? User devices: < u1 u2 u3 u4 > ? Current CPU has floating point hardware! Include kernel floating point simulator <no> ? Include TCP/IP ethernet support <yes> ? no Use standard system parameters <yes> ? Include memory shuffle routine <yes> ? Include interprocess communication message facility <yes> ? Use standard message parameters <yes> ? Include interprocess communication semaphore facility <yes> ? Use standard semaphore parameters <yes> ? Include advisory record and file locking <yes> ? Use standard locking parameters <yes> ? Include multiple access user space <yes> ? Use standard maus parameters <yes> ? AC power line frequency in hertz <60> ? Current timezone is 0 hours west/behind GMT. Timezone (hours west/behind GMT) <5=EST 6=CST 7=MST 8=PST> ? 0 Does your area use daylight savings time <yes> ? y Choose the Geographic Area for daylight savings time from the table below: Geographic Area Selection --------------- --------- USA 1 Australia 2 Western Europe 3 Central Europe 4 Eastern Europe 5 Enter the selection number <1> 3 ULTRIX-11 System Generation Program For help, type h then press <RETURN> sysgen>
- At the sysgen prompt, build (make) the new Kernel.
m
Click here to see a run example👇
sysgen> m Configuration name <unix> ? ****** CREATING ULTRIX-11 CONFIGURATION AND VECTOR TABLES ****** Device Address Vector units console 177560 60 kw11-l 177456 100 kw11-p 172540 104 rq 172150 154 4 (crash dump device) tk 174500 260 1 Filsys Device maj/min start length root ra 2/0 pipe ra 2/0 swap ra 2/2 100 3000 errlog ra 19/2 0 100 ****** MAKING KERNEL FOR SEPARATE I & D SPACE PROCESSORS ****** as - -o l.o l.s /lib/cpp -P -DSEP_ID -DK_OV -DKERNEL dump.s >dump.i as - -o dump_id.o dump.i rm -f dump.i cc -c -O -DSEP_ID -DKERNEL c.c cc -c -O -DSEP_ID -DKERNEL dds.c cc -c -O -DSEP_ID -DKERNEL tds.c cc -c -O -DSEP_ID -DKERNEL nds.c cc -c -O -DSEP_ID -DKERNEL dksizes.c cc -S -DKERNEL ec.c ed - ec.s < :comm-to-bss as - -o ec.o ec.s rm ec.s The output file will be named unix_id! ovload The unix_id sizes must be within the following limits: root text segment > 49152 but <= 57344 overlay text segments <= 8192, 15 overlays maximum bss + data segments <= 49088 total root+(overlay 1, overlay 2,...overlay n)+data+bss = root+data = (total) size unix_id 54720+(8128,8000,7488,5312,3648)+6666+33262 = 94648b = 0270670b (87296 total text) rm l.o c.o dump_id.o dds.o tds.o nds.o dksizes.o ec.o New kernel is now named `unix.os'! ****** CHECKING SIZE OF NEW ULTRIX-11 OPERATING SYSTEM ****** `unix.os' within limits, SYSGEN successful! sysgen>
- Exit the sysgen and copy the new kernel in place
CTRL+D cp unix.os /unix
Click here to see a run example👇
sysgen> ^D # cp unix.os /unix
- Restart the guest OS and proceed to the final set-up phase
sync ; sync ; sync CTRL+E boot RQ0
Click here to see a run example👇
# sync;sync;sync;sync # Simulation stopped, PC: 005520 (MOV (SP)+,177776) sim>boot rq0 Sizing Memory... Boot: rd(0,0)unix (CTRL/C will abort auto-boot) rd(0,0)unix: 39928+54720+8128+8000+7488+5312+3648 ULTRIX-11 Kernel V3.1 realmem = 4186112 buffers = 153600 clists = 2080 usermem = 3868224 maxumem = 417792 proc on q erase = delete, kill = ^U, intr = ^C ****** ULTRIX-11 Setup Program ****** This program performs operating system setup functions during installation and normal system operation. Setup operates in one of three possible modes (phases), depending on the current state of the system. The three modes are: Phase 1: Initial setup -- prepares system for first sysgen. Phase 2: Final setup -- completes the system setup. Phase 3: Change setup -- handles system setup changes. The program will ask several setup questions. Enter your answer to each question, using lowercase characters, then press <RETURN>. The questions include helpful hints enclosed in angle brackets < > and/or parenthesis ( ). If you need additional help answering any question, enter a ? or the word help then press <RETURN>. You can correct typing mistakes by pressing the <DELETE> key to erase a single character or <CTRL/U> to erase the entire line. You can interrupt the setup program by typing <CTRL/C>. This allows you to abort the setup process or restart it. Press <RETURN> to continue:
- This is where the disk partitions are defined. Pay attention that on the very first disk a new partition, mounted on /user1, will be created to take all the available space on the disk 0. The /user1 filesystem will be used to install all the extra packages. The remaining three discs will have whole partitions created mounted under /user2, /user3, and /user4.
Click here to see a run example👇
Is the console terminal a CRT (video terminal) <y or n> ? y PLEASE CONFIRM: console is a VIDEO terminal <y or n> ? y ****** READING SETUP DATA FROM setup.info FILE ****** SETUP PHASE = 2 (Final Setup) LOAD DEVICE TYPE = TK50 UNIT 0 SYSTEM DISK TYPE = RD54 CURRENT CPU TYPE = 11/83 TARGET CPU TYPE = 11/83 Is the above information correct <y or n> ? y ****** ENTERING SETUP PHASE 2 ****** Please enter the current date/time < yymmddhhmm.ss > ? 9503311300.00 Fri Mar 31 13:00:00 GMT-0:00 1995 PLEASE CONFIRM: date/time correct <y or n> ? y DIGITAL recommends you add the following information to the configuration work sheet located in the Installation Guide. This work sheet will be helpful if you need to remake your device special files using setup phase 3. The program will pause periodically to allow time for you to record the configuration information. Press <RETURN> to continue: ****** DETERMINING SYSTEM'S DISK CONFIGURATION ****** ULTRIX-11 System's Disk Configuration: X = disk not configured, NED = disk configured but not present. Disk Cntlr System Unit Unit Unit Unit Unit Unit Unit Unit Cntlr # Disk 0 1 2 3 4 5 6 7 ----- ----- ------ ---- ---- ---- ---- ---- ---- ---- ---- RQDX3 0 UNIT 0 RD54 RD54 RD54 RD54 X X X X Press <RETURN> to continue: ****** MAKING DISK SPECIAL FILES ****** ****** DETERMINING SYSTEM'S TAPE CONFIGURATION ****** Magtape Controller # Units ------------------ ------- TK50/TU81 1 Press <RETURN> to continue: ****** MAKING MAGTAPE SPECIAL FILES ****** ****** DETERMINING SYSTEM'S COMMUNICATIONS DEVICE CONFIGURATION ****** Device # Units Lines/Unit ------ ------- ---------- NO COMMUNICATIONS DEVICES FOUND! ****** DETERMINING NUMBER OF PSEUDO TTYS ****** Number of PTTYs = 4 Press <RETURN> to continue: ****** DETERMINING NUMBER OF MAUS SEGMENTS ****** Number of MAUS segments = 4 ****** MAKING MAUS SPECIAL FILES ****** ****** CREATING /etc/ttys and /etc/ttytype FILES ****** Terminal type for CONSOLE terminal < vt100 > ? ****** NAMING YOUR ULTRIX-11 SYSTEM ****** Please enter your system's hostname <? for help> ? sys0b00 PLEASE CONFIRM: hostname is `sys0b00' <y or n> ? y Set up line printer spooler and printer ports <y or n> ? n Set up user file systems <y or n> ? y ULTRIX-11 System's Disk Configuration: * = SYSTEM DISK -- no partitions available for user file systems. X = disk not configured, NED = disk configured but not present. Disk Cntlr System Unit Unit Unit Unit Unit Unit Unit Unit Cntlr # Disk 0 1 2 3 4 5 6 7 ----- ----- ------ ---- ---- ---- ---- ---- ---- ---- ---- RQDX3 0 UNIT 0 RD54 RD54 RD54 RD54 X X X X Press <RETURN> to continue: Prepare for user file system setup as follows: 1. Make sure all disk drives, on which user file systems will be created, are on-line and ready. 2. Disk media must be formatted and checked before setting up user file systems. Refer to Appendix C in the ULTRIX-11 Installation Guide for media qualification instructions. 3. You may want to write protect or take off-line any disks, other than the system disk(s), where you don't want user file systems created (such as data base disks). 4. Plan your user file system layout before implementing it! If you are not prepared, continue with the following steps but don't create any user file systems. This will inform you about available disk partitions. You can create user file systems later by invoking setup phase three. Press <RETURN> to continue: RD54 Unit 0 on RQDX3 Controller -- file systems available. Set up user file system(s) on this disk (? for help) <y or n> ? y RD54 Unit 0 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 NO: used by the system! 1 4850 8650 7 NO: used by the system! 2 13500 1550 7 NO: used by the system! 3 15050 140534 7 YES: available for use! 7 0 155584 0 1 2 3 NO: overlaps used partition! Select a disk partition (? for help, `.' if done with this disk). Disk partition < 3 > ? 3 PLEASE CONFIRM: set up user file system on partition 3 <y or n> ? y Superblock check indicates: no file system exists on partition 3! Make an empty file system on partition 3 (? for help) <y or n> ? y PLEASE CONFIRM: make a file system on partition 3 <y or n> ? y /etc/mkfs /dev/rrd03 140534 rd54 83 user1 sd_rd0 isize = 65488 m/n = 7 72 Superblock file system name (fsname): user1 Superblock volume label (volname): sd_rd0 User file system will be mounted on: /user1 Note: you can change these values, refer to System Management Guide chapter 4 for instructions. New file system table (/etc/fstab): /dev/rd00:/:rw:0:1 /dev/rd01:/usr:rw:0:2 /dev/rd03:/user1:rw:1:3 Press <RETURN> to continue: RD54 Unit 0 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 NO: used by the system! 1 4850 8650 7 NO: used by the system! 2 13500 1550 7 NO: used by the system! 3 15050 140534 7 NO: already used! 7 0 155584 0 1 2 3 NO: overlaps used partition! No more partitions available on this disk! RD54 Unit 1 on RQDX3 Controller -- file systems available. Set up user file system(s) on this disk (? for help) <y or n> ? y RD54 Unit 1 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 YES: available for use! 1 4850 8650 7 YES: available for use! 2 13500 1550 7 YES: available for use! 3 15050 140534 7 YES: available for use! 7 0 155584 0 1 2 3 YES: available for use! Select a disk partition (? for help, `.' if done with this disk). Disk partition < 0 1 2 3 7 > ? 7 PLEASE CONFIRM: set up user file system on partition 7 <y or n> ? y Superblock check indicates: no file system exists on partition 7! Make an empty file system on partition 7 (? for help) <y or n> ? y PLEASE CONFIRM: make a file system on partition 7 <y or n> ? y /etc/mkfs /dev/rrd17 155584 rd54 83 user2 ud_rd1 isize = 65488 m/n = 7 72 Superblock file system name (fsname): user2 Superblock volume label (volname): ud_rd1 User file system will be mounted on: /user2 New file system table (/etc/fstab): /dev/rd00:/:rw:0:1 /dev/rd01:/usr:rw:0:2 /dev/rd03:/user1:rw:1:3 /dev/rd17:/user2:rw:1:4 Press <RETURN> to continue: RD54 Unit 1 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 NO: overlaps used partition! 1 4850 8650 7 NO: overlaps used partition! 2 13500 1550 7 NO: overlaps used partition! 3 15050 140534 7 NO: overlaps used partition! 7 0 155584 0 1 2 3 NO: already used! No more partitions available on this disk! RD54 Unit 2 on RQDX3 Controller -- file systems available. Set up user file system(s) on this disk (? for help) <y or n> ? y RD54 Unit 2 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 YES: available for use! 1 4850 8650 7 YES: available for use! 2 13500 1550 7 YES: available for use! 3 15050 140534 7 YES: available for use! 7 0 155584 0 1 2 3 YES: available for use! Select a disk partition (? for help, `.' if done with this disk). Disk partition < 0 1 2 3 7 > ? 7 PLEASE CONFIRM: set up user file system on partition 7 <y or n> ? y Superblock check indicates: no file system exists on partition 7! Make an empty file system on partition 7 (? for help) <y or n> ? y PLEASE CONFIRM: make a file system on partition 7 <y or n> ? y /etc/mkfs /dev/rrd27 155584 rd54 83 user3 ud_rd2 isize = 65488 m/n = 7 72 Superblock file system name (fsname): user3 Superblock volume label (volname): ud_rd2 User file system will be mounted on: /user3 New file system table (/etc/fstab): /dev/rd00:/:rw:0:1 /dev/rd01:/usr:rw:0:2 /dev/rd03:/user1:rw:1:3 /dev/rd17:/user2:rw:1:4 /dev/rd27:/user3:rw:1:5 Press <RETURN> to continue: RD54 Unit 2 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 NO: overlaps used partition! 1 4850 8650 7 NO: overlaps used partition! 2 13500 1550 7 NO: overlaps used partition! 3 15050 140534 7 NO: overlaps used partition! 7 0 155584 0 1 2 3 NO: already used! No more partitions available on this disk! RD54 Unit 3 on RQDX3 Controller -- file systems available. Set up user file system(s) on this disk (? for help) <y or n> ? y RD54 Unit 3 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 YES: available for use! 1 4850 8650 7 YES: available for use! 2 13500 1550 7 YES: available for use! 3 15050 140534 7 YES: available for use! 7 0 155584 0 1 2 3 YES: available for use! Select a disk partition (? for help, `.' if done with this disk). Disk partition < 0 1 2 3 7 > ? 7 PLEASE CONFIRM: set up user file system on partition 7 <y or n> ? y Superblock check indicates: no file system exists on partition 7! Make an empty file system on partition 7 (? for help) <y or n> ? y PLEASE CONFIRM: make a file system on partition 7 <y or n> ? y /etc/mkfs /dev/rrd37 155584 rd54 83 user4 ud_rd3 isize = 65488 m/n = 7 72 Superblock file system name (fsname): user4 Superblock volume label (volname): ud_rd3 User file system will be mounted on: /user4 New file system table (/etc/fstab): /dev/rd00:/:rw:0:1 /dev/rd01:/usr:rw:0:2 /dev/rd03:/user1:rw:1:3 /dev/rd17:/user2:rw:1:4 /dev/rd27:/user3:rw:1:5 /dev/rd37:/user4:rw:1:6 Press <RETURN> to continue: RD54 Unit 3 on RQDX3 Controller -- disk partition layout: (See also, System Management Guide Appendix D) Part- Start Size in Overlapping Partition ition Block # K bytes Partitions Available ----- ------- ------- --------------- --------- 0 0 4850 7 NO: overlaps used partition! 1 4850 8650 7 NO: overlaps used partition! 2 13500 1550 7 NO: overlaps used partition! 3 15050 140534 7 NO: overlaps used partition! 7 0 155584 0 1 2 3 NO: already used! No more partitions available on this disk!
- Next step is to install all additional packages. Becasue the default filesystem /usr does not have enough free space, the packges will be installed in /user1 and symbolic links will be created from /usr to point to /user1. At the screen prompt, answer load all and then y for symbolic links and /user1 for the destination.
Click here to see a run example👇
Load/unload optional software <y or n> ? y ULTRIX-11 SETUP: Optional Software Load Program. For instructions type `help', then press <RETURN>. Command <help free rxunit rxdir list load unload exit>: load all (saprog) already loaded: must unload first! (sysgen) already loaded: must unload first! Load any items with symbolic links (? for help) <y or n> ? y Load (dict) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (? for help): /user1 Load (docprep) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (f77) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (games) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (learn) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (libsa) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (manuals) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (orphans) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (pascal) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (plot) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (sccs) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (spell) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (tcpip) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (usat) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (usep) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (userdev) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Load (uucp) with symbolic links (? for help) <y or n> ? y Symbolic link base directory (Press <RETURN> if /user1): Make sure the distribution tape (or TK50 cartridge) is mounted in unit zero and the unit is on-line and ready. Press <RETURN> to continue: ****** LOADING (dict) ****** Making symbolic links for DICTIONARY files. ****** LOADING (docprep) ****** Making symbolic link: /usr/lib/tmac -> /user1/lib/tmac Making symbolic link: /usr/lib/macros -> /user1/lib/macros Making symbolic link: /usr/lib/me -> /user1/lib/me Making symbolic link: /usr/lib/ms -> /user1/lib/ms Making symbolic link: /usr/lib/font -> /user1/lib/font Making symbolic link: /usr/lib/term -> /user1/lib/term Making symbolic links for DOCPREP files. ****** LOADING (f77) ****** Making symbolic links for F77 files. ****** LOADING (games) ****** Making symbolic link: /usr/games -> /user1/games ****** LOADING (learn) ****** Making symbolic link: /usr/bin/learn -> /user1/bin/learn Making symbolic link: /usr/lib/learn -> /user1/lib/learn ****** LOADING (libsa) ****** Making symbolic link: /usr/lib/libsa.a -> /user1/lib/libsa.a ****** LOADING (manuals) ****** Making symbolic link: /usr/man -> /user1/man ****** LOADING (orphans) ****** Making symbolic link: /usr/orphan/bin -> /user1/orphan/bin Making symbolic link: /usr/orphan/lib -> /user1/orphan/lib Making symbolic link: /usr/orphan/usr -> /user1/orphan/usr ****** LOADING (pascal) ****** Making symbolic links for PASCAL files. ****** LOADING (plot) ****** Making symbolic links for PLOT files. ****** LOADING (sccs) ****** Making symbolic links for SCCS files. ****** LOADING (spell) ****** Making symbolic links for SPELL files. ****** LOADING (tcpip) ****** Making symbolic links for TCP/IP files. ****** LOADING (usat) ****** Making symbolic link: /usr/lib/usat -> /user1/lib/usat Making symbolic link: /usr/bin/usat -> /user1/bin/usat ****** LOADING (usep) ****** Making symbolic link: /usr/usep -> /user1/usep You can recover some disk space by removing exercisers for devices not configured on your system. ****** LOADING (userdev) ****** Making symbolic link: /usr/src/userdev -> /user1/src/userdev Unpacking files in /usr/src/userdev... ****** LOADING (uucp) ****** Making symbolic link: /usr/lib/uucp -> /user1/lib/uucp Making symbolic links for UUCP files. Command <help free rxunit rxdir list load unload exit>: exit Make symbolic link for /usr/spool <y or n> ? y Symbolic link base directory name (? for help): /user1 Size of /usr/spool in Kbytes: 19 /usr/spool File system free space (see /user1): Filesystem total kbytes kbytes percent node kbytes used free used Mounted on /dev/rd00 4654 3053 1601 66% / /dev/rd01 8302 3902 4400 47% /usr /dev/rd03 136439 7859 128580 6% /user1 /dev/rd17 151489 2 151487 0% /user2 /dev/rd27 151489 2 151487 0% /user3 /dev/rd37 151489 2 151487 0% /user4 Is there room for /usr/spool in /user1 <y or n> ? y Moving files from /usr/spool to /user1/spool... Making Symbolic link: /usr/spool -> /user1/spool ****** ULTRIX-11 Setup Phase 2 Completed ****** The automated portion of the ULTRIX-11 software installation is now complete. Return to the Installation Guide for instructions. #
- Shutdown the guest OS, update the .ini file for automatic boot, removing the comment marks (;) in front of the expect and boot. Your system is ready.
sync ; sync ; sync; sleep 1 CTRL+E exit
expect "#" send "\x04"; continue b rq0
Click here to see a run example👇
# sync;sync;sync;sleep 1 # CTRL+E Simulation stopped, PC: 002752 (MOV (SP)+,177776) sim> exit
- Start your new guest and it is ready to be used
./pdp11-4.1 sys00b0.ini
Click here to see a run example👇
$ ./pdp11-4.1 sys00b0.ini PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Disabling RK Disabling HK Disabling TM /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-22> att -r tq0 ultrix-11-3.1-bootape.tap %SIM-INFO: TQ0: unit is read only %SIM-INFO: TQ0: Tape Image 'ultrix-11-3.1-bootape.tap' scanned as SIMH format CPU 11/83, NOCIS, autoconfiguration enabled, idle disabled 4088KB Sizing Memory... Boot: rd(0,0)unix (CTRL/C will abort auto-boot) rd(0,0)unix: 39928+54720+8128+8000+7488+5312+3648 ULTRIX-11 Kernel V3.1 realmem = 4186112 buffers = 153600 clists = 2080 usermem = 3868224 maxumem = 417792 proc on q erase = delete, kill = ^U, intr = ^C # ^D Restricted rights: Use, duplication, or disclosure is subject to restrictions stated in your contract with Digital Equipment Corporation. *UNIX is a trademark of AT&T Bell Laboratories. Mounted /dev/rd01 on /usr Mounted /dev/rd03 on /user1 Mounted /dev/rd17 on /user2 Mounted /dev/rd27 on /user3 Mounted /dev/rd37 on /user4 Fri Mar 31 13:09:56 GMT-0:00 1995 ERROR LOG has - 1 of 100 blocks used ULTRIX-11 System V3.1 (sys0b00) login: root Welcome to the ULTRIX-11 System erase = delete, kill = ^U, intr = ^C sys0b00# df Filesystem total kbytes kbytes percent node kbytes used free used Mounted on /dev/rd00 4654 3053 1601 66% / /dev/rd01 8302 3887 4415 47% /usr /dev/rd03 136439 7879 128560 6% /user1 /dev/rd17 151489 2 151487 0% /user2 /dev/rd27 151489 2 151487 0% /user3 /dev/rd37 151489 2 151487 0% /user4 sys0b00# sync;sync;sync;sleep 1 sys0b00# Simulation stopped, PC: 002752 (MOV (SP)+,177776) sim> exit Goodbye ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $
First look
Click here to expand the contents👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $ ./pdp11-4.1 sys00b0.ini PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Disabling RK Disabling HK Disabling TM /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1/sys00b0.ini-22> att -r tq0 ultrix-11-3.1-bootape.tap %SIM-INFO: TQ0: unit is read only %SIM-INFO: TQ0: Tape Image 'ultrix-11-3.1-bootape.tap' scanned as SIMH format CPU 11/83, NOCIS, autoconfiguration enabled, idle disabled 4088KB Sizing Memory... Boot: rd(0,0)unix (CTRL/C will abort auto-boot) rd(0,0)unix: 39928+54720+8128+8000+7488+5312+3648 ULTRIX-11 Kernel V3.1 realmem = 4186112 buffers = 153600 clists = 2080 usermem = 3868224 maxumem = 417792 proc on q erase = delete, kill = ^U, intr = ^C # # ^D Restricted rights: Use, duplication, or disclosure is subject to restrictions stated in your contract with Digital Equipment Corporation. *UNIX is a trademark of AT&T Bell Laboratories. Mounted /dev/rd01 on /usr Mounted /dev/rd03 on /user1 Mounted /dev/rd17 on /user2 Mounted /dev/rd27 on /user3 Mounted /dev/rd37 on /user4 Fri Mar 31 13:10:42 GMT-0:00 1995 ERROR LOG has - 1 of 100 blocks used ULTRIX-11 System V3.1 (sys0b00) login: root Welcome to the ULTRIX-11 System erase = delete, kill = ^U, intr = ^C sys0b00# echo $PATH :/usr/ucb:/bin:/usr/bin:/etc sys0b00# ls /usr/ucb /bin /usr/bin /etc /bin: .profile col hostid od split 512dumpdir comm hostname osload strip 512restor cp icheck passwd stty [ cpio iostat pr su ac csh join prep sum adb date kill primes sync apropos dcheck ld prof tabs ar dd ln ps tail arcv deroff login pstat tar as df logins ptx tc at diff look pwd ted badstat diff3 lorder quot tee basename du ls ranlib test bufstat dump ltf rasize time cal dumpdir mail red touch calendar echo make restor tp cat ed man rev tr cb egrep mdtar rm true cc elp memstat rmail tsort ccd expr mesg rmdir tty cda factor mkdir rsh5 uniq chgrp false mt sa units chmod fgrep mv sed v7tar chog file ncheck sh wall chown find newgrp sh5 wc clear fsck nice size whatis clr grep nm sleep who clri help nohup sort write cmp help2 nologins spline yes /etc: accton fstab lpdrestart nulib syslog.conf arp getty lpset passwd syslog.pid catman gettytab mkfs printcap termcap cron group mknod profile tss cshprofile hosts motd protocols ttys dcopy hosts.equiv mount rawfs ttytype ddate ifconfig msf rc tzname dmesg inetd.conf mtab rdate umount elc init networks remote update eli ipatch newfs route utmp fpsim labelit nu rx2fmt vipw fsdb log nu.cf services volcopy /usr/bin: admin drm mm refer tregis awk e mmt regcmp troff bc edit more rmchg ul bdiff eqn mvt rmdel uname bfs ex neqn roff unexpand cdc expand nl s5make unget checkeq f77 nroff sact unpack checkmm get osdd sccs usat chroot getopt pack sccsdiff uucp comb graph paste sccshelp uulog csplit greek pcat sdiff uuname ctc ipcrm pcc spell uupoll ctcr ipcs pi struct uustat ctrace learn pix t300 uux cu lex plot t300s val cut line print t450 vc dc lint printenv tbl vi dcat lookbib prs tek view dcp lpq prt tip vplot delta lpr px tk what dlogin lprm pxp tla100 yacc dls m4 ratfor tla50 zaptty /usr/ucb: Mail from more ruptime uptime RESET ftp netstat rwho users chfn l11 newaliases script w chsh last page strings which ctags m11 rcp talk whoami error macxrf renice telnet xstr f mail reset tftp finger mailq rlogin tset fmt mkstr rsh u sys0b00# uname -a ULTRIX-11 sys0b00 3 0 PDP-11/83 sys0b00# ps aux PID TTY TIME CMD 48 co 0:00 -sh 59 co 0:00 ps aux sys0b00# which iostat which: No such file or directory sys0b00# w 1:12pm up 1 min, 1 user, load average: 0.73, 0.22, 0.08 User tty login@ idle JCPU PCPU what root console 1:10pm w sys0b00# whoami root sys0b00# uptime 1:12pm up 2 mins, 1 user, load average: 0.79, 0.26, 0.10 sys0b00# mount rd01 on /usr rd03 on /user1 rd17 on /user2 rd27 on /user3 rd37 on /user4 sys0b00# df Filesystem total kbytes kbytes percent node kbytes used free used Mounted on /dev/rd00 4654 3053 1601 66% / /dev/rd01 8302 3887 4415 47% /usr /dev/rd03 136439 7879 128560 6% /user1 /dev/rd17 151489 2 151487 0% /user2 /dev/rd27 151489 2 151487 0% /user3 /dev/rd37 151489 2 151487 0% /user4 sys0b00# dmesg Mar 31 13:13 ... ULTRIX-11 Kernel V3.1 realmem = 4186112 buffers = 153600 clists = 2080 usermem = 3868224 maxumem = 417792 proc on q sys0b00# sync;sync;sync;sleep 1 sys0b00# Simulation stopped, PC: 002752 (MOV (SP)+,177776) sim> exit Goodbye ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/pdp-11_ultrix-3.1 $
SimH configuration
Click here to see a run example👇
sim> show cpu CPU 11/83, NOCIS, autoconfiguration enabled, idle disabled 4088KB sim> show memory %SIM-ERROR: Non-existent device: MEMORY sim> show configuration PDP-11 simulator configuration CPU 11/83, NOCIS, autoconfiguration enabled, idle disabled 4088KB SYSTEM RHA disabled RHB disabled RHC disabled CLK 60Hz, address=17777546-17777547, vector=100, BR6 PCLK disabled PTR address=17777550-17777553, vector=70, BR4 not attached PTP address=17777554-17777557, vector=74, BR4 not attached TTI 7b, address=17777560-17777563, vector=60, BR4 TTO 7b, address=17777564-17777567, vector=64, BR4 TDC disabled CR disabled LPT disabled DLI disabled DLO disabled DCI disabled DCO disabled DZ address=17760100-17760137*, vector=300-334*, BR5, lines=16 not attached, 8b VH disabled DH disabled RC disabled RF disabled RK disabled RL disabled HK disabled RX disabled RY disabled RP disabled RS disabled RQ address=17772150-17772153, vector=154, BR5, RQDX3, 4 units RQ0 159MB, attached to sys00b0_rd54.dsk, write enabled RD54, UNIT=0, autosize SIMH format RQ1 159MB, attached to sys00b1_rd54.dsk, write enabled RD54, UNIT=1, autosize SIMH format RQ2 159MB, attached to sys00b2_rd54.dsk, write enabled RD54, UNIT=2, autosize SIMH format RQ3 159MB, attached to sys00b3_rd54.dsk, write enabled RD54, UNIT=3, autosize SIMH format RQB disabled RQC disabled RQD disabled TC disabled TM disabled TS disabled TQ TK50 (94MB), address=17774500-17774503, vector=260, BR5, 4 units TQ0 attached to ultrix-11-3.1-bootape.tap, read only, write locked, UNIT=0 SIMH format, capacity=98MB TU disabled TA disabled VT disabled XQ address=17774440-17774457, no vector, BR5, MAC=08:00:2B:30:75:21 type=DELQA-T, mode=DELQA, poll=100, sanity=OFF throttle=disabled, DEQNALock=OFF, leds=(ON,ON,ON) not attached XQB disabled XU disabled XUB disabled KG disabled DMC disabled DUP disabled DPV disabled KDP disabled KE disabled ROM 4 units ROM0 not attached, address=0 ROM1 not attached, address=0 ROM2 not attached, address=0 ROM3 not attached, address=0 CH disabled NG disabled DAZ disabled TV disabled MB disabled sim>
Supporting scripts
Build environment
simh_ultrix-3.1_pdp-11.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0)" "${SCRIPT_DIR}/simh_pdp-11.sh" ultrix-3.1
simh_pdp-11.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0) Guest OS: $1" "${SCRIPT_DIR}/simh.sh" pdp-11 "$1"
simh.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0) Guest Hardware: $1; Guest OS: $2" "${SCRIPT_DIR}/CreateGuestDirectory.sh" SimH "$1" "$2"
CreateGuestDirectory.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0) Virtualization: $1; Guest Hardware: $2; Guest OS: $3" #echo "${SCRIPT_DIR}" sEmuName=$1 sGuestHw=$2 sGuestOs=$3 [[ "$(uname -s)" == CYGWIN* ]] && sRootEmulatorsDirectory=/cygdrive/m/ [[ "$(uname -s)" == Linux* ]] && sRootEmulatorsDirectory=/Volumes/vol000/ [[ "$(uname -s)" == Darwin* ]] && sRootEmulatorsDirectory=~/Desktop/ export sRootEmulatorsDirectory sEmuName sGuestHw sGuestOs mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/" mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}/" ( cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/" [[ -h "${sGuestOs}" ]] && rm "${sGuestOs}" ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestOs}" ) ( cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}" [[ -h "${sGuestHw}" ]] && rm "${sGuestHw}" ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestHw}" ) case "${sEmuName}" in SimH) cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/" if [[ -d simh-4.1 ]]; then ( cd simh-4.1 && git fetch --all -v ) else git clone https://github.com/open-simh/simh.git simh-4.1 fi echo " ===> Compiling and testing the simulator for '${sGuestHw}' " unset sBinName case "${sGuestHw}" in pdp-11) sBinName=pdp11 ;; microvax-3900) sBinName=microvax3900 ;; vax-11-750) sBinName=vax750 ;; vax-11-780) sBinName=vax780 ;; vax-8600) sBinName=vax8600 ;; *) echo "ERROR: No process define yet for '${sGuestHw}' under '${sEmuName}'" exit ;; esac if [[ -z "${sBinName}" ]]; then echo "===> ERROR: no binary program name defined for guest '${sGuestHw}'" exit fi if [[ "$(uname -s)" == CYGWIN* ]]; then EXE=.exe else EXE= fi cd simh-4.1 && make ${sBinName} if [[ ! -x ./BIN/${sBinName} ]]; then if [[ ${sBinName} == microvax3900 && -x ./BIN/vax ]]; then echo "===> WARNING: executable not present. Creating new copy from base guest machine" cp BIN/vax${EXE} BIN/${sBinName}${EXE} else echo "===> ERROR: Cannot find binary." exit fi fi ./BIN/${sBinName} cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" ln -sf ../../mirror/simh-4.1/BIN/${sBinName}${EXE} ${sBinName}-4.1 echo "===> Test run for the simulator link inside the guest base directory" ./${sBinName}-4.1 ;; *) echo "ERROR: No process defined yet for '${sEmuName}'" exit ;; esac ls -laF echo " Execute the line below to change to your guest base directory cd '$(pwd)' "
Full guest configuration
This is a place holder for a further set-up of this guest, using all possible disk sub-systems for maximum storage space
Comments
Post a Comment