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
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
- MicroVAX 3900
-
CPU:idle disabled, model=VAXserver 3900 (KA655), NOAUTOBOOT
Implementing: Base Instruction Group
Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group, HALT to SIMH - Memory: 16MB
- OS: DEC ULTRIX 4.0
Virtualization
- SimH 4.1 (from GitHub)
Pending
- Additional disk controllers
- Network
- Instructions for Windows (no Cygwin), *BSD
References
- DEC Ultrix 4.0 tape image here.
- DEC Ultrix 4.0 documentation here.
- SimH 4.1 here.
- Documentation for version SimH 4.0 here.
- Documentation for version SimH 3.12-3 here.
- Classic SimH web-site here.
- SIMH FAQ here.
- https://apfelboymchen.net/gnu/UNIX/vax-ultrix.html
- https://gunkies.org/wiki/Installing_Ultrix_4.0_on_SIMH
- https://web-docs.gsi.de/~kraemer/COLLECTION/ULTRIX/wwwpdp.web.cern.ch/wwwpdp/as/file/doc/ultrix/ultrix_4.html
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-4.0_microvax-3900.sh
Click here to see a run example👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators $ ./simh_ultrix-4.0_microvax-3900.sh (./simh_ultrix-4.0_microvax-3900.sh) (/cygdrive/m/Emulators/simh_microvax-3900.sh) Guest OS: ultrix-4.0 (/cygdrive/m/Emulators/simh.sh) Guest Hardware: microvax-3900; Guest OS: ultrix-4.0 (/cygdrive/m/Emulators/CreateGuestDirectory.sh) Virtualization: SimH; Guest Hardware: microvax-3900; Guest OS: ultrix-4.0 POST git-upload-pack (155 bytes) From https://github.com/open-simh/simh = [up to date] 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 'microvax-3900' 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 *** microvax3900 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 *** microvax3900 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 *** *** *** microvax3900 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. *** gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -DSIM_GIT_COMMIT_ID=4e159a04ed6291509b685dc06f620389b3373cce -DSIM_GIT_COMMIT_TIME=2023-01-04T13:22:12-0700 -DSIM_COMPILER="GCC Version: 11.3.0" -DSIM_BUILD_TOOL=simh-makefile -I . -Werror -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_SEMAPHORE -DHAVE_SYS_IOCTL -DSIM_HAVE_DLOPEN=a -DHAVE_EDITLINE -DHAVE_UTIME -DHAVE_GLOB -DHAVE_SHM_OPEN -DHAVE_WINMM ./VAX/vax_cpu.c ./VAX/vax_cpu1.c ./VAX/vax_fpa.c ./VAX/vax_io.c ./VAX/vax_cis.c ./VAX/vax_octa.c ./VAX/vax_cmode.c ./VAX/vax_mmu.c ./VAX/vax_stddev.c ./VAX/vax_sysdev.c ./VAX/vax_sys.c ./VAX/vax_syscm.c ./VAX/vax_syslist.c ./VAX/vax_vc.c ./VAX/vax_lk.c ./VAX/vax_vs.c ./VAX/vax_2681.c ./PDP11/pdp11_rl.c ./PDP11/pdp11_rq.c ./PDP11/pdp11_ts.c ./PDP11/pdp11_dz.c ./PDP11/pdp11_lp.c ./PDP11/pdp11_tq.c ./PDP11/pdp11_xq.c ./PDP11/pdp11_vh.c ./PDP11/pdp11_cr.c ./PDP11/pdp11_td.c ./PDP11/pdp11_io_lib.c ./PDP11/pdp11_dup.c ./scp.c ./sim_console.c ./sim_fio.c ./sim_timer.c ./sim_sock.c ./sim_tmxr.c ./sim_ether.c ./sim_tape.c ./sim_disk.c ./sim_serial.c ./sim_video.c ./sim_imd.c ./sim_card.c -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -DUSE_SIM_VIDEO -I ./VAX -I ./PDP11 -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -DUSE_NETWORK -DHAVE_LIBSDL -DUSE_SIM_VIDEO `sdl2-config --cflags` `sdl2-config --libs` -o BIN/vax -lm -lrt -lpthread -ldl -ledit -lwinmm cp BIN/vax BIN/microvax3900 BIN/vax RegisterSanityCheck /cygdrive/m/Emulators/SimH/mirror/simh-4.1/VAX/tests/vax-diag_test.ini </dev/null Running internal register sanity checks on MicroVAX 3900 simulator. *** Good Registers in MicroVAX 3900 simulator. MicroVAX 3900 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Running Hardware Core Test (EHKAA) *** PASSED - MicroVAX 3900 Hardware Core Instruction test EHKAA MicroVAX 3900 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 MicroVAX 3900 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 sim> exit Goodbye total 4 drwxrwxrwx+ 1 afberendsen None 0 Mar 29 14:39 ./ drwxrwxrwx+ 1 afberendsen None 0 Mar 29 14:07 ../ lrwxrwxrwx 1 afberendsen None 42 Mar 29 14:39 microvax3900-4.1 -> ../../mirror/simh-4.1/BIN/microvax3900.exe* Execute the line below to change to your guest base directory cd '/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0' ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators $ cd '/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0' ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $
-
Build the guest (it is assumed that you are in the guest data directory)
-
Create a file named sys0070.ini. This SimH Initialization file will be used to set-up the initial installation environment.
; chevron prompt (extended memory boot ROM) and non-volatile RAM for the ; emulated MicroVAX 3900 att nvr sys0070.nvr ; 64MB RAM set cpu 64m set cpu conhalt set cpu idle=ultrix ; console interface set tto 7b set tti 7b ; RA90 disk drive, 1.2GB set rq0 ra90 att rq0 disk0070_ra90.dsk set rq1 disable set rq2 disable set rq3 disable set rqb disable set rqc disable set rqd disable ; tape set tq tk50 att -r tq0 Ultrix_4.0_Supported.tap ; disable stuff set cr dis set lpt dis set rl dis set ry dis set ts dis set tq1 dis set tq2 dis set tq3 dis ; use "setcap cap_net_raw=ep /usr/bin/simh-vax" to be able to run SIMH as ; non-root. This must be a dedicated NIC on the host, in up state. at xq0 eth1 show cpu ; start the VAX boot cpu
-
Download and unpack the tape image
wget --no-clobber http://www.bitsavers.org/bits/DEC/vax/ultrix/4.0/Ultrix_4.0_Supported.tap.gz gunzip Ultrix_4.0_Supported.tap.gz
Click here to see a run example👇
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $ ls -l total 0 lrwxrwxrwx 1 afberendsen None 42 Mar 29 14:39 microvax3900-4.1 -> ../../mirror/simh-4.1/BIN/microvax3900.exe ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $ wget --no-clobber http://www.bitsavers.org/bits/DEC/vax/ultrix/4.0/Ultrix_4.0_Supported.tap.gz --2023-03-29 15:02:05-- http://www.bitsavers.org/bits/DEC/vax/ultrix/4.0/Ultrix_4.0_Supported.tap.gz Resolving www.bitsavers.org (www.bitsavers.org)... 208.77.18.144 Connecting to www.bitsavers.org (www.bitsavers.org)|208.77.18.144|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 50763941 (48M) [application/x-gzip] Saving to: ‘Ultrix_4.0_Supported.tap.gz’ Ultrix_4.0_Supported.tap.gz 100%[==================================================================================>] 48.41M 13.0MB/s in 4.5s 2023-03-29 15:02:11 (10.7 MB/s) - ‘Ultrix_4.0_Supported.tap.gz’ saved [50763941/50763941] ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $ gunzip Ultrix_4.0_Supported.tap.gz ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $ ls -l total ***** -rw-rw-rw-+ 1 afberendsen None 58667468 Jun 11 2010 Ultrix_4.0_Supported.tap lrwxrwxrwx 1 afberendsen None 42 Mar 29 14:39 microvax3900-4.1 -> ../../mirror/simh-4.1/BIN/microvax3900.exe ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $
-
Install the OS into the virtual hard disc executing the executing the command below. The installation process is divided in the following steps:
- Load the guest for the first time. Few files will be created. The system will request the language interface for LOM
- Boot the system from the tape and identify the root partition on the destination disk
-
Reboot the system from the in-disk root partition and instal the OS from the tape
- Set the system date and time-zone. ULTRIX 4.0 was built without Y2K support. Any year after 1999 will revert to 1970.
- Set the system Time Zone
-
Set-up the disk layout. Use the following partition layout:
a: /
b: swap and crash
g: usr
h: var - Install software packages
- Re-boot system for clean-up
- Initial run
./microvax3900-4.1 sys0070.ini
Click here to see a run example👇
- First run. All file devices are created
________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $ ./microvax3900-4.1 sys0070.ini MicroVAX 3900 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-3> att nvr sys0070.nvr %SIM-INFO: NVR: creating new file %SIM-INFO: NVR: buffering file in memory /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-15> att rq0 disk0070_ra90.dsk %SIM-INFO: RQ0: Creating new file: disk0070_ra90.dsk /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-25> att -r tq0 Ultrix_4.0_Supported.tap %SIM-INFO: TQ0: unit is read only %SIM-INFO: TQ0: Tape Image 'Ultrix_4.0_Supported.tap' scanned as SIMH format /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/test.ini-31> set ry dis %SIM-ERROR: Non-existent device: RY Eth: Pcap capable device not found. You may need to run as root /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-39> at xq0 eth1 File open error /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-42> boot cpu %SIM-INFO: Loading boot code from internal ka655x.bin KA655-B V5.3, VMB 2.7 1) Dansk 2) Deutsch (Deutschland/Vsterreich) 3) Deutsch (Schweiz) 4) English (United Kingdom) 5) English (United States/Canada) 6) Espaqol 7) Frangais (Canada) 8) Frangais (France/Belgique) 9) Frangais (Suisse) 10) Italiano 11) Nederlands 12) Norsk 13) Portugujs 14) Suomi 15) Svenska (1..15): 5 Performing normal system tests. 40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25.. 24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09.. 08..07..06..05..04..03.. Tests completed.
- Set system disk, installation type, and load the root partition.
>>>boot mua0 (BOOT/R5:0 MUA0 2.. -MUA0 1..0.. Ultrixload (using VMB version 13) Sizes: text = 768800 data = 1248256 bss = 945472 Rewinding tape ... Starting at 0x4d4d ULTRIX V4.0 (Rev. 160) System #3: Thu Apr 5 08:42:35 EDT 1990 real mem = 67043328 avail mem = 61520896 Buffer configuration adjusted to run with small system page table using 128 buffers containing 1048576 bytes of memory KA655 processor with an FPU CPU microcode rev = 6, processor firmware rev = 83 Q22 bus uda0 at uba0 uq0 at uda0 csr 172150 vec 774, ipl 17 klesiu0 at uba0 uq16 at klesiu0 csr 174500 vec 770, ipl 17 NO LOOPBACK <---- This can take a while to finish. Wait.... ra1 at uq0 slave 1 (RA90) ra2 at uq0 slave 2 (RA90) ra3 at uq0 slave 3 (RA90) ra0 at uq0 slave 0 (RA90) tms0 at uq16 slave 0 (TK50) WARNING: clock lost 6 days -- CHECK AND RESET THE DATE! *** STANDALONE ULTRIX ENVIRONMENT *** If you select the BASIC Installation option from the list that follows, the installation software creates file systems on default partitions on your system disk and loads the mandatory ULTRIX software subsets. If you require additional installation choices, select the ADVANCED Installation option. Select one of the following options: 1) BASIC Installation 2) ADVANCED Installation 3) System management Enter your choice: 2 *** SYSTEM DISK SELECTION *** The installation booklet for your processor explains the following table of system disk drives. Select one of the devices below to contain the root file system: SYSTEM DISK TABLE Selection Device ULTRIX Device Controller Controller Name Name Number Name Number ---------------------------------------------------------------------- 1 RA90 ra0 0 RQDX3 0 ---------------------------------------------------------------------- Enter your choice: 1 You selected RA90, device number 0. Make sure this disk drive is on line and write-enabled (if applicable to your disk drive), then confirm your choice. Use RA90, ra0, for your system disk? (y/n) []: y The installation procedure now allocates the root file system on partition 'a' of the system disk, ra0 RA90. Making the root file system on ra0 RA90. The installation procedure is now restoring the root file system to partition 'a' of the system disk, ra0 RA90. The installation procedure now checks the root file system on partition 'a' of the system disk, ra0 RA90. ** /dev/rra0a ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 223 files, 6198 used, 9353 free (17 frags, 1167 blocks, 0.1% fragmentation) *** BOOTSTRAP COMMAND SEQUENCE *** Enter the following boot sequence at the console mode prompt after the installation software halts the processor: >>> b dua0 syncing disks... done ?06 HLT INST PC = 8005F28D
- Install ULTRIX
>>>set boot dua0 >>>b dua0 (BOOT/R5:0 DUA0 2.. -DUA0 1..0.. Ultrixboot - V4.0 Sat Mar 31 04:11:56 EST 1990 Loading (a)vmunix ... Sizes: text = 990392 data = 232960 bss = 1248872 Starting at 0x4d4d ULTRIX V4.0 (Rev. 160) System #5: Thu Apr 5 08:44:16 EDT 1990 real mem = 67043328 avail mem = 62012416 Buffer configuration adjusted to run with small system page table using 122 buffers containing 999424 bytes of memory KA655 processor with an FPU CPU microcode rev = 6, processor firmware rev = 83 Q22 bus uda0 at uba0 uq0 at uda0 csr 172150 vec 774, ipl 17 klesiu0 at uba0 uq16 at klesiu0 csr 174500 vec 770, ipl 17 qe0 at uba0 csr 174440 vec 764, ipl 17 qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:88:6d:32 ra1 at uq0 slave 1 (RA90) ra2 at uq0 slave 2 (RA90) ra3 at uq0 slave 3 (RA90) ra0 at uq0 slave 0 (RA90) tms0 at uq16 slave 0 (TK50) *** SYSTEM NAME SPECIFICATION *** Select the name of your system using alphanumeric characters. The first character must be a letter. For example, tinker. Enter your system name: sys0070 You selected sys0070 as the name of your system. Is this correct? (y/n) [y]: y *** DATE AND TIME SPECIFICATION *** The current date and time should be specified using the following format: yymmddhhmm Use two digits for year (yy), month (mm), day (dd), hour (hh), and minute (mm). Enter the time in 24-hour format. For example, 11:30 p.m. on May 3, 1990 would be entered as: 9005032330 Enter the date and time: 9005032330 *** TIME ZONE SELECTION *** Select the time zone for your area, using the options listed in the table below. You can also enter the number of hours (-12 to 12) in time east of Greenwich. Selection Time Zone --------------------------------- e Eastern c Central m Mountain p Pacific g Greenwich --------------------------------- Enter your choice: g Does your area alternate between Daylight Savings and Standard time? (y/n) [y]: y Select your geographic area for Daylight Savings Time, using the options in the table below. Selection Geographic Area -------------------------------- u USA a Australia e Eastern Europe c Central Europe w Western Europe -------------------------------- Enter your choice [u]: w The current date and time is Thu May 3 22:30:06 GMT 1990 *** SPECIFY THE SUPERUSER PASSWORD *** The installation booklet for your processor instructs you on how to enter the superuser password. Changing password for root Enter new password: <password-not-echo> Warning, only the first 8 characters of the password are significant. Verify: <password-not-echo> *** FILE SYSTEM DEFAULT OPTION *** The following table shows the default file system layout on RA90, ra0: partition bottom top size overlap default a 0 32767 32768 c root b 32768 159839 127072 c swap, dump d 159840 580036 420197 c,g /usr If you choose the defaults, the var area will be allocated to /usr/var. Do you want to choose the default file system layout? (y/n): n *** /usr FILE SYSTEM ALLOCATION *** You can allocate the /usr file system to one of the disks listed in the table below. See the Advanced Installation Guide for an explanation of this table: /usr FILE SYSTEM ALLOCATION TABLE Selection Device ULTRIX Device Controller Controller Name Name Number Name Number ---------------------------------------------------------------------- 1 RA90 ra0 0 RQDX3 0 ---------------------------------------------------------------------- Enter your choice: 1 You selected RA90, device number 0. Make sure this disk is on line and write-enabled (if applicable to this drive) and then confirm your choice. Use RA90, ra0 for /usr file system? (y/n) []: y The disk ra0 you selected from the previous table has the following partitions available, on which you can allocate the /usr file system: partition size (Kbytes) overlap ------------------------------------------------ d --- 210098 c,g e --- 210098 c,g f --- 420196 c,g g --- 840393 c,d,e,f h --- 267763 c ------------------------------------------------ Type the letter of the partition on which you want to allocate the /usr file system [d]: g Making the new file system for /usr on /dev/rra0g RA90 *** ALLOCATE THE SWAP1 SPACE *** You can allocate the swap1 space to one of the disks listed in the table below. See the Advanced Installation Guide for an explanation of this table: SWAP1 SPACE ALLOCATION TABLE Selection Device ULTRIX Device Controller Controller Name Name Number Name Number ---------------------------------------------------------------------- 1 RA90 ra0 0 RQDX3 0 ---------------------------------------------------------------------- Enter your choice: 1 You selected RA90, device number 0. Make sure this disk is on line and write-enabled (if applicable to this drive) and then confirm your choice. Use RA90, ra0 for swap1 space? (y/n) []: y The disk ra0 you selected from the previous table has the following partitions available, on which you can allocate the swap1 space: partition size (Kbytes) overlap ------------------------------------------------ b --- 63536 c h --- 267763 c ------------------------------------------------ Type the letter of the partition on which you want to allocate the swap1 space [b]: b *** ALLOCATE THE SWAP2 SPACE *** Do you want to allocate a second swap space? (y/n) [n]: n *** ALLOCATE THE CRASH DUMP SPACE *** You can allocate the crash dump space to one of the disks listed in the table below. See the Advanced Installation Guide for an explanation of this table: CRASH DUMP SPACE ALLOCATION TABLE Selection Device ULTRIX Device Controller Controller Name Name Number Name Number ---------------------------------------------------------------------- 1 RA90 ra0 0 RQDX3 0 ---------------------------------------------------------------------- Enter your choice: 1 You selected RA90, device number 0. Make sure this disk is on line and write-enabled (if applicable to this drive) and then confirm your choice. Use RA90, ra0 for crash dump space? (y/n) []: y The disk ra0 you selected from the previous table has the following partitions available, on which you can allocate the crash dump space: partition size (Kbytes) overlap ------------------------------------------------ h --- 267763 c b --- 63536 c ------------------------------------------------ Type the letter of the partition on which you want to allocate the crash dump space [b]: b *** ALLOCATE THE var FILE SYSTEM *** You can allocate the var file system to one of the disks listed in the table below. See the Advanced Installation Guide for an explanation of this table: var FILE SYSTEM ALLOCATION TABLE Selection Device ULTRIX Device Controller Controller Name Name Number Name Number ---------------------------------------------------------------------- 1 RA90 ra0 0 RQDX3 0 ---------------------------------------------------------------------- Enter your choice: 1 You selected RA90, device number 0. Make sure this disk is on line and write-enabled (if applicable to this drive) and then confirm your choice. Use RA90, ra0 for var file system? (y/n) []: y The disk ra0 you selected from the previous table has the following partitions available, on which you can allocate the var file system: partition size (Kbytes) overlap ------------------------------------------------ h --- 267763 c g --- 840393 c,d,e,f ------------------------------------------------ Type the letter of the partition on which you want to allocate the var file system [no default]: h Making the new file system for var on /dev/rra0h RA90 This distribution media includes subsets for ULTRIX Worksystem Software (UWS). A UWS license (on a workstation) or a UWS Server License (on a timesharing machine or server) is required to install these subsets. Do you want to install ULTRIX Worksystem Software? y/n []: y *** SUPPORTED SOFTWARE INSTALLATION *** Please make sure your installation tape is mounted and on-line. Are you ready (y/n)? y Positioning Tape *** Enter Subset Selections *** The following subsets are mandatory and will be installed automatically: * Base System * Kernel Configuration Files * TCP/IP Networking Utilities * Network File System Utilities * Extended (Berkeley) Mailer * X11/DECwindows Servers * X11/DECwindows User Environment * X11/DECwindows 75dpi Fonts The subsets listed below are optional: 1) System Exerciser Package 2) X11/DECwindows 100dpi Fonts 3) VS35XX X11/DECwindows Fonts 4) RAND Mail Handler 5) Additional DECwindows Applications 6) Worksystem Development Software 7) Kerberos Network Authentication 8) Enhanced Security Features 9) Document Preparation Software 10) Printer Support Environment 11) Adobe Font Metric Files 12) Software Development Utilities 13) RPC Runtime Environment 14) RPC Development Environment 15) Internationalization Tools 16) Source Code Control System 17) Pascal Development Package 18) VAX C/ULTRIX 19) On Line Manual Pages 20) UWS Reference Pages 21) Accounting Software 22) Communications Utilities 23) Bisynchronous Communications 24) Maintenance Operations Protocol 25) Unix-to-Unix Copy Facility 26) All of the Above 27) None of the Above 28) Exit without installing subsets Enter your choice(s): 26 You are installing the following subsets: Base System Kernel Configuration Files TCP/IP Networking Utilities Network File System Utilities Extended (Berkeley) Mailer X11/DECwindows Servers X11/DECwindows User Environment X11/DECwindows 75dpi Fonts System Exerciser Package X11/DECwindows 100dpi Fonts VS35XX X11/DECwindows Fonts RAND Mail Handler Additional DECwindows Applications Worksystem Development Software Kerberos Network Authentication Enhanced Security Features Document Preparation Software Printer Support Environment Adobe Font Metric Files Software Development Utilities RPC Runtime Environment RPC Development Environment Internationalization Tools Source Code Control System Pascal Development Package VAX C/ULTRIX On Line Manual Pages UWS Reference Pages Accounting Software Communications Utilities Bisynchronous Communications Maintenance Operations Protocol Unix-to-Unix Copy Facility Is this correct? (y/n): y Copying Base System (ULTBASE400) from tape Verifying Base System (ULTBASE400) Copying Kernel Configuration Files (ULTBIN400) from tape Verifying Kernel Configuration Files (ULTBIN400) Copying TCP/IP Networking Utilities (ULTINET400) from tape Verifying TCP/IP Networking Utilities (ULTINET400) Copying Network File System Utilities (ULTNFS400) from tape Verifying Network File System Utilities (ULTNFS400) Copying Extended (Berkeley) Mailer (ULTUMAIL400) from tape Verifying Extended (Berkeley) Mailer (ULTUMAIL400) Copying X11/DECwindows Servers (UWSSER400) from tape Verifying X11/DECwindows Servers (UWSSER400) Copying X11/DECwindows User Environment (UWSX11400) from tape Verifying X11/DECwindows User Environment (UWSX11400) Copying X11/DECwindows 75dpi Fonts (UWSFONT400) from tape Verifying X11/DECwindows 75dpi Fonts (UWSFONT400) Copying System Exerciser Package (ULTEXER400) from tape Verifying System Exerciser Package (ULTEXER400) Copying X11/DECwindows 100dpi Fonts (UWSFONT15400) from tape Verifying X11/DECwindows 100dpi Fonts (UWSFONT15400) Copying VS35XX X11/DECwindows Fonts (UWS3DFONT400) from tape Verifying VS35XX X11/DECwindows Fonts (UWS3DFONT400) Copying RAND Mail Handler (ULTMH400) from tape Verifying RAND Mail Handler (ULTMH400) Copying Additional DECwindows Applications (UWSDECW400) from tape Verifying Additional DECwindows Applications (UWSDECW400) Copying Worksystem Development Software (UWSXDEV400) from tape Verifying Worksystem Development Software (UWSXDEV400) Copying Kerberos Network Authentication (ULTKERB400) from tape Verifying Kerberos Network Authentication (ULTKERB400) Copying Enhanced Security Features (ULTSEC400) from tape Verifying Enhanced Security Features (ULTSEC400) Copying Document Preparation Software (ULTDCMT400) from tape Verifying Document Preparation Software (ULTDCMT400) Copying Printer Support Environment (ULTPRINT400) from tape Verifying Printer Support Environment (ULTPRINT400) Copying Adobe Font Metric Files (ULTAFM400) from tape Verifying Adobe Font Metric Files (ULTAFM400) Copying Software Development Utilities (ULTPGMR400) from tape Verifying Software Development Utilities (ULTPGMR400) Copying RPC Runtime Environment (ULTRPCRT400) from tape Verifying RPC Runtime Environment (ULTRPCRT400) Copying RPC Development Environment (ULTRPCDEV400) from tape Verifying RPC Development Environment (ULTRPCDEV400) Copying Internationalization Tools (ULTINTL400) from tape Verifying Internationalization Tools (ULTINTL400) Copying Source Code Control System (ULTSCCS400) from tape Verifying Source Code Control System (ULTSCCS400) Copying Pascal Development Package (ULTPASCAL400) from tape Verifying Pascal Development Package (ULTPASCAL400) Copying VAX C/ULTRIX (ULTVAXC400) from tape Verifying VAX C/ULTRIX (ULTVAXC400) Copying On Line Manual Pages (ULTMAN400) from tape Verifying On Line Manual Pages (ULTMAN400) Copying UWS Reference Pages (UWSMAN400) from tape Verifying UWS Reference Pages (UWSMAN400) Copying Accounting Software (ULTACCT400) from tape Verifying Accounting Software (ULTACCT400) Copying Communications Utilities (ULTCOMM400) from tape Verifying Communications Utilities (ULTCOMM400) Copying Bisynchronous Communications (ULTBSC400) from tape Verifying Bisynchronous Communications (ULTBSC400) Copying Maintenance Operations Protocol (ULTMOP400) from tape Verifying Maintenance Operations Protocol (ULTMOP400) Copying Unix-to-Unix Copy Facility (ULTUUCP400) from tape Verifying Unix-to-Unix Copy Facility (ULTUUCP400) Rewinding Tape... The installation software has successfully installed the software subsets. You can now remove the tape containing the software subsets from the device. *** CONFIGURATION FILE KERNEL OPTION SELECTION *** Selection Kernel Option --------------------------------------------------------------- 1 Local Area Transport (LAT) 2 Bisynchronous Communication protocol (VAX only) 3 Computer Interconnect (CI) network 4 Ethernet Packet Filter 5 Enhanced Security Features 6 DECnet 7 All of the above 8 None of the above ---------------------------------------------------------------- Enter the selection number for each kernel option you want. For example, 1 3 : 8 You chose not to specify any options from the menu. Thus, the installation software will not add any of these options to your configuration file. Is this correct? (y/n) [n]: y *** SYSTEM CONFIGURATION PROCEDURE *** The installation software found these devices in the floating address space: dz0 on uba0 at 0160100 dz1 on uba0 at 0160110 dz2 on uba0 at 0160120 dz3 on uba0 at 0160130 Configuration file complete. Do you want to edit the configuration file? (y/n) [n]: n *** PERFORMING SYSTEM CONFIGURATION *** working ..... Thu May 3 22:58:36 GMT 1990 *** DEVICE SPECIAL FILE CREATION *** working ..... Thu May 3 22:58:53 GMT 1990 *** SOFTWARE INSTALLATION PROCEDURE COMPLETE *** The following files were created during the installation procedure: /vmunix - customized kernel /genvmunix - generic kernel /usr/adm/install.log - installation log file /usr/adm/install.FS.log - file systems log file /usr/adm/install.DEV.log - special device log file Enter the following boot sequence at the console mode prompt after the installation software halts the processor: >>> b dua0 syncing disks... done ?06 HLT INST PC = 80080411
- Restart system for clean-up
>>>b dua0 (BOOT/R5:0 DUA0 2.. -DUA0 1..0.. Ultrixboot - V4.0 Sat Mar 31 04:11:56 EST 1990 Loading (a)vmunix ... Sizes: text = 601788 data = 99840 bss = 595868 Starting at 0x2b4d ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990 real mem = 67043328 avail mem = 56974336 using 1636 buffers containing 6704128 bytes of memory KA655 processor with an FPU CPU microcode rev = 6, processor firmware rev = 83 Q22 bus uda0 at uba0 uq0 at uda0 csr 172150 vec 774, ipl 17 klesiu0 at uba0 uq16 at klesiu0 csr 174500 vec 770, ipl 17 qe0 at uba0 csr 174440 vec 764, ipl 17 qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:88:6d:32 dz0 at uba0 csr 160100 vec 300, ipl 17 dz1 at uba0 csr 160110 vec 310, ipl 17 dz2 at uba0 csr 160120 vec 320, ipl 17 dz3 at uba0 csr 160130 vec 330, ipl 17 ra1 at uq0 slave 1 (RA90) ra2 at uq0 slave 2 (RA90) ra3 at uq0 slave 3 (RA90) ra0 at uq0 slave 0 (RA90) tms0 at uq16 slave 0 (TK50) Thu Jan 1 00:00:31 GMT 1970 Automatic reboot in progress... /dev/ra0a: SUMMARY INFORMATION BAD (SALVAGED) /dev/ra0a: FILE SYSTEM MODIFIED, VERIFYING /dev/ra0a: 608 files, 5961 used, 9590 free (134 frags, 1182 blocks, 0.9% fragmentation) ?06 HLT INST PC = 80075049 Loading system software.
- Automatic system restart for first use
(BOOT/R5:0 DUA0 2.. -DUA0 1..0.. Ultrixboot - V4.0 Sat Mar 31 04:11:56 EST 1990 Loading (a)vmunix ... Sizes: text = 601788 data = 99840 bss = 595868 Starting at 0x2b4d ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990 real mem = 67043328 avail mem = 56974336 using 1636 buffers containing 6704128 bytes of memory KA655 processor with an FPU CPU microcode rev = 6, processor firmware rev = 83 Q22 bus uda0 at uba0 uq0 at uda0 csr 172150 vec 774, ipl 17 klesiu0 at uba0 uq16 at klesiu0 csr 174500 vec 770, ipl 17 qe0 at uba0 csr 174440 vec 764, ipl 17 qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:88:6d:32 dz0 at uba0 csr 160100 vec 300, ipl 17 dz1 at uba0 csr 160110 vec 310, ipl 17 dz2 at uba0 csr 160120 vec 320, ipl 17 dz3 at uba0 csr 160130 vec 330, ipl 17 <--- This can take a long time ra1 at uq0 slave 1 (RA90) ra2 at uq0 slave 2 (RA90) ra3 at uq0 slave 3 (RA90) ra0 at uq0 slave 0 (RA90) tms0 at uq16 slave 0 (TK50) Thu Jan 1 00:00:32 GMT 1970 Automatic reboot in progress... /dev/ra0a: 608 files, 5961 used, 9590 free (134 frags, 1182 blocks, 0.9% fragmentation) /dev/rra0g: 7123 files, 86451 used, 721828 free (2892 frags, 89867 blocks, 0.4% fragmentation) /dev/rra0h: umounted cleanly Warning Creating new license database Warning creating new history file check quotas: done. savecore: checking for dump...dump does not exist local daemons: syslog sendmail. Removing remnant Opser files preserving editor files clearing /tmp standard daemons: update cron accounting network snmpd printer. start errlog daemon - elcsd Thu May 3 23:02:59 GMT 1990 ULTRIX V4.0 (Rev. 161) (sys0070) login:
-
Create a file named sys0070.ini. This SimH Initialization file will be used to set-up the initial installation environment.
- Test the OS
login: root Password: ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990 UWS V4.0 (Rev. 120) Digital Equipment Corporation Nashua, New Hampshire *** SOFTWARE INSTALLATION PROCEDURE COMPLETE *** The following files were created during the installation procedure: /vmunix - customized kernel /genvmunix - generic kernel /usr/adm/install.log - installation log file /usr/adm/install.FS.log - file systems log file /usr/adm/install.DEV.log - special device log file # shutdown -h now Shutdown at 23:03 (in 0 minutes) [pid 107] System shutdown time has arrived # syncing disks... done ?06 HLT INST PC = 80074F4D >>> CTRL+E Simulation stopped, PC: 20043601 (BSBW 2004367B) sim> exit Goodbye %SIM-INFO: NVR: writing buffer to file: sys0070.nvr ________________________________________________ [cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0 $
First look
Click here to expand the contents👇
________________________________________________
[cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0
$ ./microvax3900-4.1 sys0070.ini
MicroVAX 3900 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-3> att nvr sys0070.nvr
%SIM-INFO: NVR: buffering file in memory
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-15> att rq0 disk0070_ra90.dsk
%SIM-INFO: RQ0: 'disk0070_ra90.dsk' Contains Ultrix partitions
%SIM-INFO: Partition with highest sector: c, Sectors On Disk: 2376153
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-26> att -r tq0 Ultrix_4.0_Supported.tap
%SIM-INFO: TQ0: unit is read only
%SIM-INFO: TQ0: Tape Image 'Ultrix_4.0_Supported.tap' scanned as SIMH format
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-32> set ry dis
%SIM-ERROR: Non-existent device: RY
Eth: Pcap capable device not found. You may need to run as root
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-40> at xq0 eth1
File open error
CPU idle disabled, model=VAXserver 3900 (KA655), NOAUTOBOOT
Implementing: Base Instruction Group
Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group
64MB, HALT to console
/cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0/sys0070.ini-45> boot cpu
%SIM-INFO: Loading boot code from internal ka655x.bin
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>b dua0
(BOOT/R5:0 DUA0
2..
-DUA0
1..0..
Ultrixboot - V4.0 Sat Mar 31 04:11:56 EST 1990
Loading (a)vmunix ...
Sizes:
text = 601788
data = 99840
bss = 595868
Starting at 0x2b4d
ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990
real mem = 67043328
avail mem = 56974336
using 1636 buffers containing 6704128 bytes of memory
KA655 processor with an FPU
CPU microcode rev = 6, processor firmware rev = 83
Q22 bus
uda0 at uba0
uq0 at uda0 csr 172150 vec 774, ipl 17
klesiu0 at uba0
uq16 at klesiu0 csr 174500 vec 770, ipl 17
qe0 at uba0 csr 174440 vec 764, ipl 17
qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:88:6d:32
dz0 at uba0 csr 160100 vec 300, ipl 17
dz1 at uba0 csr 160110 vec 310, ipl 17
dz2 at uba0 csr 160120 vec 320, ipl 17
dz3 at uba0 csr 160130 vec 330, ipl 17
ra0 at uq0 slave 0 (RA90)
tms0 at uq16 slave 0 (TK50)
WARNING: clock lost 35 days -- CHECK AND RESET THE DATE!
Thu Jan 1 00:00:31 GMT 1970
Automatic reboot in progress...
/dev/ra0a: SUMMARY INFORMATION BAD (SALVAGED)
/dev/ra0a: FILE SYSTEM MODIFIED, VERIFYING
/dev/ra0a: 598 files, 5947 used, 9604 free (156 frags, 1181 blocks, 1.0% fragmentation)
?06 HLT INST
PC = 80075049
Loading system software.
(BOOT/R5:0 DUA0
2..
-DUA0
1..0..
Ultrixboot - V4.0 Sat Mar 31 04:11:56 EST 1990
Loading (a)vmunix ...
Sizes:
text = 601788
data = 99840
bss = 595868
Starting at 0x2b4d
ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990
real mem = 67043328
avail mem = 56974336
using 1636 buffers containing 6704128 bytes of memory
KA655 processor with an FPU
CPU microcode rev = 6, processor firmware rev = 83
Q22 bus
uda0 at uba0
uq0 at uda0 csr 172150 vec 774, ipl 17
klesiu0 at uba0
uq16 at klesiu0 csr 174500 vec 770, ipl 17
qe0 at uba0 csr 174440 vec 764, ipl 17
qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:88:6d:32
dz0 at uba0 csr 160100 vec 300, ipl 17
dz1 at uba0 csr 160110 vec 310, ipl 17
dz2 at uba0 csr 160120 vec 320, ipl 17
dz3 at uba0 csr 160130 vec 330, ipl 17
ra0 at uq0 slave 0 (RA90)
tms0 at uq16 slave 0 (TK50)
Thu Jan 1 00:00:50 GMT 1970
Automatic reboot in progress...
/dev/ra0a: 598 files, 5947 used, 9604 free (156 frags, 1181 blocks, 1.0% fragmentation)
/dev/rra0g: SUMMARY INFORMATION BAD (SALVAGED)
/dev/rra0g: FILE SYSTEM MODIFIED, VERIFYING
/dev/rra0g: 7123 files, 86451 used, 721828 free (2892 frags, 89867 blocks, 0.4% fragmentation)
/dev/rra0h: SUMMARY INFORMATION BAD (SALVAGED)
/dev/rra0h: FILE SYSTEM MODIFIED, VERIFYING
/dev/rra0h: 169 files, 2583 used, 254827 free (251 frags, 31822 blocks, 0.1% fragmentation)
check quotas: done.
savecore: checking for dump...dump does not exist
local daemons: syslog sendmail.
Removing remnant Opser files
preserving editor files
clearing /tmp
standard daemons: update cron accounting network snmpd printer.
start errlog daemon - elcsd
Thu Mar 29 20:55:12 GMT 1990
ULTRIX V4.0 (Rev. 161) (sys0070)
login: root
Password:
Last login: Thu May 3 23:03:29 on console
ULTRIX V4.0 (Rev. 161) System #1: Thu May 3 22:58:52 GMT 1990
UWS V4.0 (Rev. 120)
Digital Equipment Corporation
Nashua, New Hampshire
*** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***
The following files were created during the installation procedure:
/vmunix - customized kernel
/genvmunix - generic kernel
/usr/adm/install.log - installation log file
/usr/adm/install.FS.log - file systems log file
/usr/adm/install.DEV.log - special device log file
# df
Filesystem Total kbytes kbytes %
node kbytes used free used Mounted on
/dev/ra0a 15551 5948 8048 42% /
/dev/ra0g 808279 86451 641001 12% /usr
/dev/ra0h 257410 2585 229084 1% /var
# vmstat 1 5
procs faults cpu memory page disk
r b w in sy cs us sy id avm fre re at pi po fr de sr s0
0 0 0 171 339 146 4 28 68 222 54k 3 0 9 0 0 0 0 0
0 0 0 28 6 0 0 8 92 222 54k 0 0 0 0 0 0 0 0
0 0 0 14 5 0 0 2 98 222 54k 0 0 0 0 0 0 0 0
0 0 0 14 5 0 0 0100 222 54k 0 0 0 0 0 0 0 0
0 0 0 14 5 0 0 9 91 222 54k 0 0 0 0 0 0 0 0
# ps aux
USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND
root 0 1.2 0.0 0 0 ? D 0:34 swapper
root 101 0.0 0.3 222 153 co S 0:00 -csh (csh)
root 88 0.0 0.5 397 283 ? I 0:00 /etc/snmpd
root 102 0.0 0.2 184 113 ? I 0:00 /usr/lib/lpd
root 84 0.0 0.2 115 81 ? I 0:00 /etc/inetd
root 58 0.0 0.5 404 295 ? I 0:00 /usr/lib/sendmail -bd -q1h -om
root 78 0.0 0.1 39 20 ? I 0:00 /etc/cron
root 99 0.0 0.2 178 108 ? I 0:00 /etc/elcsd
root 108 0.0 0.4 360 220 co R 0:00 ps aux
root 75 0.0 0.0 6 4 ? S 0:00 /etc/update
root 2 0.0 0.1 4096 0 ? D 0:00 pagedaemon
root 1 0.0 0.5 301 271 ? I 0:00 init
daemon 62 0.0 0.2 123 83 ? I 0:00 /etc/syslog
# mount
/dev/ra0a on / type ufs
/dev/ra0g on /usr type ufs
/dev/ra0h on /var type ufs
# echo $PATH
/usr/ucb:/bin:/usr/bin:/etc:/etc/sec:/usr/etc:/usr/etc/sec:/usr/local:/usr/new:/usr/hosts:.
# ls /usr/ucb /bin /usr/bin
/bin:
STTY du ln od shexp
[ dump login pagesize shutdown
adb dumpfs logname passwd size
ar e ls pr snapcopy
as echo ltf ps strip
awk ed machine pwd stty
cat expr mail radisk su
cc false make rdump sync
chgrp fsck mdtar reboot tar
chmod fsirand mkdir red tee
chpt grep mkfs restore test
clri halt mknod rm time
cmp hostid mount rmail true
cp hostname mt rmdir tunefs
csh icheck mv rrestore ufs_mount
date id nawk rsh5 umount
dd ifconfig newfs rzdisk uname
df init nfs_mount s5make wall
diff kill nfs_umount sed who
dirname ld nice sh write
domainname line nm sh5
/usr/bin:
2780e dxpaint plottoa
3780e dxpsview pr
X11 dxpuzzle prof
Xgb dxsession prs
Xprompter dxshowfont pswrap
Xqdsg dxterm ptx
Xqvsm dxue ranlib
addbib dxuil refer
admin dxvdoc resize
aedplot dxwm rev
ar egrep rmail
as env rmchg
at explain rmdel
atoplot extract rmdir
basename fgrep roffbib
batch file rsh5
bc find ruusend
bdiff gencat s5make
bgplot get sact
cal getopt sccsdiff
calendar gigiplot sccshelp
capsar graph sh5
catpw grnplot shexp
cb hostid size
cc hp7221plot sleep
cda_dtif_to_ddif hpplot sort
cda_read_cda ic sort5
cda_write_analysis iconv sortbib
cdc id spell
cdoc implot spellin
cflow indxbib spellout
chfn install spline
chgrp iostat split
chsh ipcrm strextract
cmp ipcs strip
col join strmerge
comb kdestroy style
comm kinit su
cpio klist sum
cpustat ksh t4013
crash ksrvtgt tabs
crtplot ld tbl
csh lex tee
csplit line tic
ctc lint time
ctcr lk tip
ctod login touch
ctrace logname tr
cu look trace
cut lookbib trans
cxref lorder tsort
dc lp tty
ddif_read_text lpstat uname
ddif_write_ps ltf unget
ddif_write_text lvp16 uniq
delta m4 unpack
deroff mail uucp
df make uudecode
dgate man uuencode
diction mesg uulog
diff mhdecode uuname
diff3 mkfifo uusend
diffmk mktemp uustat
dircmp nice uux
domainname nidl val
dtoc nl vc
du nm vcc
dumbplot nohup vdoc
dxcalc nroff vplot
dxcalendar od wall
dxcardfiler om what
dxclock pack who
dxdb pagesize write
dxdiff passwd xargs
dxfc paste yacc
dxfc3d pcat ypcat
dxmail pfstat ypmatch
dxmkfontdir pg yppasswd
dxnotepad plot ypwhich
/usr/ucb:
Mail finger mailq pxp u
apply fmt man pxref ul
apropos fold mkstr quota uncompact
biff from more rcp uncompress
ccat ftp netstat rdist unexpand
checknr gcore newaliases reset uptime
clear gprof nslookup rlogin users
colcrt grep nslookup.help rsh vi
colrm groups nsquery ruptime view
compact head otalk rwho vmstat
compress help page sccs w
ctags indent pc script wc
dbx last pdx soelim whatis
e lastcomm pi strings whereis
edit leave pix symorder which
error lock pmerge tail whoami
ex lpq print talk xstr
expand lpr printenv telnet yes
eyacc lprm prmail tftp zcat
f mail px tset
# who
root console Mar 29 20:55
# uname -a
ULTRIX sys0070 4.0 0 VAX
# Thu Mar 29 21:00:00 GMT 1990
machine
vax
# ifconfig -a
ifconfig: ioctl (SIOCGIFFLAGS): no such interface
# whoami
root
# which ls
/bin/ls
# shutdown -h now
Shutdown at 21:02 (in 0 minutes) [pid 129]
System shutdown time has arrived
# syncing disks... done
?06 HLT INST
PC = 80074F4D
>>>halt
>>>CTRL+E
Simulation stopped, PC: 20043740 (MFPR #20,R0)
sim> exit
Goodbye
%SIM-INFO: NVR: writing buffer to file: sys0070.nvr
________________________________________________
[cygwin/bash] afberendsen@HG000024 /cygdrive/m/Emulators/SimH/guests/microvax-3900_ultrix-4.0
$
SimH
sim> show cpu CPU idle=ULTRIX, idle enabled, model=VAXserver 3900 (KA655), NOAUTOBOOT Implementing: Base Instruction Group Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group 64MB, HALT to console sim> show memory Memory (@0x00000000): 16 Mbytes (MS650-BA) Memory (@0x01000000): 16 Mbytes (MS650-BA) Memory (@0x02000000): 16 Mbytes (MS650-BA) Memory (@0x03000000): 16 Mbytes (MS650-BA) sim> show config MicroVAX 3900 simulator configuration CPU idle=ULTRIX, idle enabled, model=VAXserver 3900 (KA655), NOAUTOBOOT Implementing: Base Instruction Group Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group 64MB, HALT to console TLB 2 units TLB0 8192W TLB1 8192W ROM address=0x20040000-0x2005ffff 128KB, 1usec calibrated access NVR address=0x20140400-0x201407ff 1KB, attached to sys0070.nvr SYSD 2 units SYSD0 SYSD1 QBA autoconfiguration enabled CLK vector=C0, BR6 12B TTI vector=F8, BR4 7b TTO vector=FC, BR4 7b CSI vector=F0, BR4 CSO vector=F4, BR4 not attached TDC disabled DZ address=20000040-2000005F*, vector=2C0-2DC*, BR4, lines=16 not attached, 8b VH disabled CR disabled LPT disabled QVSS disabled LK disabled VS disabled RL disabled RQ address=20001468-2000146B, no vector, BR4, RQDX3, 4 units RQ0 1216MB, attached to disk0070_ra90.dsk, write enabled RA90, UNIT=0, autosize SIMH format RQB disabled RQC disabled RQD disabled TS disabled TQ TK50 (94MB), address=20001940-20001943, no vector, BR4, 4 units TQ0 attached to Ultrix_4.0_Unsupported.tap, read only, write locked, UNIT=0 SIMH format, capacity=98MB XQ address=20001920-2000192F, vector=3F4*, BR4, MAC=08:00:2B:88:6D:32 type=DELQA-T, mode=DEQNA, poll=100, sanity=OFF throttle=disabled, DEQNALock=OFF, leds=(ON,ON,ON) not attached XQB disabled DPV disabled sim>
MicroVAX 3900
>>>show memory Memory 0: 00000000 to 00FFFFFF, 16MB, 0 bad pages Memory 1: 01000000 to 01FFFFFF, 16MB, 0 bad pages Memory 2: 02000000 to 02FFFFFF, 16MB, 0 bad pages Memory 3: 03000000 to 03FFFFFF, 16MB, 0 bad pages Total of 64MB, 0 bad pages, 128 reserved pages >>>show device UQSSP Disk Controller 0 (772150) -DUA0 (RA90) UQSSP Tape Controller 0 (774500) -MUA0 (TK50) Ethernet Adapter 0 (774440) -XQA0 (08-00-2B-88-6D-32) >>>
Installing additional packages
- Download and unpack the Unsupported set tape from here
- Start your guest machine and authenticate as root
- Mount the Unsupported tape
- From the ULTRIX command prompt press CTRL+E to engage SimH
# CTRL+E Simulation stopped, PC: 800033C7 (BEQL 80003414) sim>
- Load the tape with the command att -r tq0 Ultrix_4.0_Unsupported.tap
sim> att -r tq0 Ultrix_4.0_Unsupported.tap %SIM-INFO: TQ0: unit is read only %SIM-INFO: TQ0: Tape Image 'Ultrix_4.0_Unsupported.tap' scanned as SIMH format sim>
- Return to ULTRIX command prompt
sim> go
- Request packages to be loaded with setld and install all the packages
# /etc/setld -l /dev/rmt0h Please make sure your installation tape is mounted and on-line. Are you ready (y/n)? y Positioning Tape *** Enter Subset Selections *** The subsets listed below are optional: 1) Base Extension 2) GNU Emacs 3) Games and Diversions 4) Franz Lisp Development Package 5) Modula-2 Development Package 6) Raster Plotter Package 7) Supplementary Documentation 8) APL Development Package 9) Bibliographic Utilities 10) Remote Procedure Call Compiler 11) CP/M 8in Diskette Utility 12) Auxiliary Command Line Interpreter 13) Hyperchannel Utilities 14) ICON (Language) Development Packag 15) Ingres DBMS 16) USENET News Interface Software 17) Notesfiles Package 18) Revision Control System 19) Software Project Management System 20) Miscellaneous User-Contributed Uti 21) Unsupported Fortran Utilities 22) Computer Aided System Tutor 23) Unsupported On-Line Documentation 24) Unsupported X11 Components 25) Unsupported X10 to X11 tools 26) Unsupported X11 Reference Pages 27) All of the Above 28) None of the Above 29) Exit without installing subsets Enter your choice(s): 27 You are installing the following subsets: Base Extension GNU Emacs Games and Diversions Franz Lisp Development Package Modula-2 Development Package Raster Plotter Package Supplementary Documentation APL Development Package Bibliographic Utilities Remote Procedure Call Compiler CP/M 8in Diskette Utility Auxiliary Command Line Interpreters Hyperchannel Utilities ICON (Language) Development Package Ingres DBMS USENET News Interface Software Notesfiles Package Revision Control System Software Project Management System Miscellaneous User-Contributed Util Unsupported Fortran Utilities Computer Aided System Tutor Unsupported On-Line Documentation Unsupported X11 Components Unsupported X10 to X11 tools Unsupported X11 Reference Pages Is this correct? (y/n): y Copying Base Extension (ULXBASE400) from tape Verifying Base Extension (ULXBASE400) Copying GNU Emacs (ULXEDIT400) from tape Verifying GNU Emacs (ULXEDIT400) Copying Games and Diversions (ULXGAMES400) from tape Verifying Games and Diversions (ULXGAMES400) Copying Franz Lisp Development Package (ULXLISP400) from tape Verifying Franz Lisp Development Package (ULXLISP400) Copying Modula-2 Development Package (ULXMOD2400) from tape Verifying Modula-2 Development Package (ULXMOD2400) Copying Raster Plotter Package (ULXVARIAN400) from tape Verifying Raster Plotter Package (ULXVARIAN400) Copying Supplementary Documentation (ULXDOC400) from tape Verifying Supplementary Documentation (ULXDOC400) Copying APL Development Package (ULXAPL400) from tape Verifying APL Development Package (ULXAPL400) Copying Bibliographic Utilities (ULXBIB400) from tape Verifying Bibliographic Utilities (ULXBIB400) Copying Remote Procedure Call Compiler (ULXCOURIER400) from tape Verifying Remote Procedure Call Compiler (ULXCOURIER400) Copying CP/M 8in Diskette Utility (ULXCPM400) from tape Verifying CP/M 8in Diskette Utility (ULXCPM400) Copying Auxiliary Command Line Interpreters (ULXSHELLS400) from tape Verifying Auxiliary Command Line Interpreters (ULXSHELLS400) Copying Hyperchannel Utilities (ULXHYPER400) from tape Verifying Hyperchannel Utilities (ULXHYPER400) Copying ICON (Language) Development Package (ULXICON400) from tape Verifying ICON (Language) Development Package (ULXICON400) Copying Ingres DBMS (ULXINGRES400) from tape Verifying Ingres DBMS (ULXINGRES400) Copying USENET News Interface Software (ULXNEWS400) from tape Verifying USENET News Interface Software (ULXNEWS400) Copying Notesfiles Package (ULXNOTES400) from tape Verifying Notesfiles Package (ULXNOTES400) Copying Revision Control System (ULXRCS400) from tape Verifying Revision Control System (ULXRCS400) Copying Software Project Management System (ULXSPMS400) from tape Verifying Software Project Management System (ULXSPMS400) Copying Miscellaneous User-Contributed Utilities (ULXTOOLS400) from tape Verifying Miscellaneous User-Contributed Utilities (ULXTOOLS400) Copying Unsupported Fortran Utilities (ULXF77400) from tape Verifying Unsupported Fortran Utilities (ULXF77400) Copying Computer Aided System Tutor (ULXLEARN400) from tape Verifying Computer Aided System Tutor (ULXLEARN400) Copying Unsupported On-Line Documentation (ULXMAN400) from tape Verifying Unsupported On-Line Documentation (ULXMAN400) Copying Unsupported X11 Components (ULXUNMIT400) from tape Verifying Unsupported X11 Components (ULXUNMIT400) Copying Unsupported X10 to X11 tools (ULXUNCOMP400) from tape Verifying Unsupported X10 to X11 tools (ULXUNCOMP400) Copying Unsupported X11 Reference Pages (ULXUNMAN400) from tape Verifying Unsupported X11 Reference Pages (ULXUNMAN400) Rewinding Tape... Thu Mar 29 23:30:00 GMT 1990 #
- From the ULTRIX command prompt press CTRL+E to engage SimH
Supporting scripts
Build environment
simh_ultrix-4.0_microvax-3900.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0)" "${SCRIPT_DIR}/simh_microvax-3900.sh" ultrix-4.0
simh_microvax-3900.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) echo "($0) Guest OS: $1" "${SCRIPT_DIR}/simh.sh" microvax-3900 "$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 microvax-3900) sBinName=microvax3900 ;; vax-11-750) sBinName=vax750 ;; vax-11-780) sBinName=vax780 ;; *) 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
With this configuration, the guest can support up to 16 RA90 disk devices (16 x 1.2GB of data).Until now I only managed to make the first controller extra discs to be identified by ULTRIX. SimH MicroVAX 3900 shows the extra controllers but ULTRIX cannot see them.
sys0070-max.ini
set rq0 ra90 att rq0 disk0070_ra90.dsk set rq1 ra90 att rq1 disk0071_ra90.dsk set rq2 ra90 att rq2 disk0072_ra90.dsk set rq3 ra90 att rq3 disk0073_ra90.dsk set rqb enable set rqb0 ra90 ;set rqb0 disk0074_ra90.dsk set rqb1 ra90 ;set rqb0 disk0075_ra90.dsk set rqb2 ra90 set rqb3 ra90 set rqc enable set rqc0 ra90 set rqc1 ra90 set rqc2 ra90 set rqc3 ra90 set rqd enable set rqd0 ra90 set rqd1 ra90 set rqd2 ra90 set rqd3 ra90 ;set rqb0 disk007f_ra90.dsk
SimH
sim> show conf MicroVAX 3900 simulator configuration CPU idle disabled, model=VAXserver 3900 (KA655), NOAUTOBOOT Implementing: Base Instruction Group Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group 64MB, HALT to console TLB 2 units TLB0 8192W TLB1 8192W ROM address=0x20040000-0x2005ffff 128KB, 1usec calibrated access NVR address=0x20140400-0x201407ff 1KB, attached to sys0070.nvr SYSD 2 units SYSD0 SYSD1 QBA autoconfiguration enabled CLK vector=C0, BR6 12B TTI vector=F8, BR4 7b TTO vector=FC, BR4 7b CSI vector=F0, BR4 CSO vector=F4, BR4 not attached TDC disabled DZ address=20000040-2000005F*, vector=2C0-2DC*, BR4, lines=16 not attached, 8b VH disabled CR disabled LPT disabled QVSS disabled LK disabled VS disabled RL disabled RQ address=20001468-2000146B, no vector, BR4, RQDX3, 4 units RQ0 1216MB, attached to disk0070_ra90.dsk, write enabled RA90, UNIT=0, autosize SIMH format RQ1 1216MB, attached to disk0071_ra90.dsk, write enabled RA90, UNIT=1, autosize SIMH format RQ2 1216MB, attached to disk0072_ra90.dsk, write enabled RA90, UNIT=2, autosize SIMH format RQ3 1216MB, attached to disk0073_ra90.dsk, write enabled RA90, UNIT=3, autosize SIMH format RQB address=200000FC-200000FF*, no vector, BR4, RQDX3, 4 units RQB0 1216MB, not attached, write enabled RA90, UNIT=0, autosize AUTO detect format RQB1 1216MB, not attached, write enabled RA90, UNIT=1, autosize AUTO detect format RQB2 1216MB, not attached, write enabled RA90, UNIT=2, autosize AUTO detect format RQB3 1216MB, not attached, write enabled RA90, UNIT=3, autosize AUTO detect format RQC address=20000100-20000103*, no vector, BR4, RQDX3, 4 units RQC0 1216MB, not attached, write enabled RA90, UNIT=0, autosize AUTO detect format RQC1 1216MB, not attached, write enabled RA90, UNIT=1, autosize AUTO detect format RQC2 1216MB, not attached, write enabled RA90, UNIT=2, autosize AUTO detect format RQC3 1216MB, not attached, write enabled RA90, UNIT=3, autosize AUTO detect format RQD address=20000104-20000107*, no vector, BR4, RQDX3, 4 units RQD0 1216MB, not attached, write enabled RA90, UNIT=0, autosize AUTO detect format RQD1 1216MB, not attached, write enabled RA90, UNIT=1, autosize AUTO detect format RQD2 1216MB, not attached, write enabled RA90, UNIT=2, autosize AUTO detect format RQD3 1216MB, not attached, write enabled RA90, UNIT=3, autosize AUTO detect format TS disabled TQ TK50 (94MB), address=20001940-20001943, no vector, BR4, 4 units TQ0 attached to Ultrix_4.0_Supported.tap, read only, write locked, UNIT=0 SIMH format, capacity=98MB XQ address=20001920-2000192F, no vector, BR4, MAC=08:00:2B:88:6D:32 type=DELQA-T, mode=DELQA, poll=100, sanity=OFF throttle=disabled, DEQNALock=OFF, leds=(ON,ON,ON) not attached XQB disabled DPV disabled sim>
MicroVAX 3900
>>>show device UQSSP Disk Controller 0 (772150) -DUA0 (RA90) -DUA1 (RA90) -DUA2 (RA90) -DUA3 (RA90) UQSSP Disk Controller 1 (760374) -DUB0 (RA90) -DUB1 (RA90) -DUB2 (RA90) -DUB3 (RA90) UQSSP Disk Controller 2 (760400) -DUC0 (RA90) -DUC1 (RA90) -DUC2 (RA90) -DUC3 (RA90) UQSSP Disk Controller 3 (760404) -DUD0 (RA90) -DUD1 (RA90) -DUD2 (RA90) -DUD3 (RA90) UQSSP Tape Controller 0 (774500) -MUA0 (TK50) Ethernet Adapter 0 (774440) -XQA0 (08-00-2B-88-6D-32) >>>
Comments
Post a Comment