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
- macOS
- Vendor: Apple MacBook Pro MacBookPro18,3
- CPU: Apple M1 Pro
- RAM: 32GB
- OS: macOS 13.1 (22C65) Darwin 22.2.0
- 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
- VAX-11/780
- CPU: idle disabled, model=VAX 11/780, Implementing: All standard VAX instructions and Compatibility mode
- Memory: 8MB
- OS: 4.3BSD
Virtualization
- SimH 4.1 (from GitHub)
Pending
- Additional disks
- Network
- Instructions for Windows (no Cygwin), *BSD
References
Notes
- The newfs tool defines the disk partition based on an entry in /etc/diskpart. On the time of the release of this version, the maximum disk type supported was RA81. To use larger disks, you need to update /etc/diskpart. What you can do is to run a newer version of BSD and copy the new entries from /etc/diskpart.
- During the install phases, all the necessary commands are included in the .ini files. If, for some reason, you stop the installation process in the middle, highly likely the contents of the virtual disk will be corrupted, and the install process will fail with a disk error. Run fsck -y against the disk device and restart the installation process again.
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
-
Define shell variables to make life easier...
sEmuName=SimH sGuestHw=vax-11-780 sGuestOs=4-3bsd export sEmuName sGuestHw sGuestOs
-
Windows 10 + cygwin
- Install Cygwin with b2zip (or 7z), uudecode, wget
-
Define base directory structure
sRootEmulatorsDirectory=/cygdrive/m/; export sRootEmulatorsDirectory
-
macOS
- Install brew
-
Install additional tools. uudecode is installed with macOS already.
brew install wget p7zip
-
Define base directory structure
sRootEmulatorsDirectory=~/Desktop/; export sRootEmulatorsDirectory
-
Linux
-
Install additional tools. uudecode is installed with Linux already.
sudo dnf install -y wget p7zip
-
Define base directory structure
sRootEmulatorsDirectory=/Volumes/vol000/; export sRootEmulatorsDirectory
-
Install additional tools. uudecode is installed with Linux already.
-
FOR ALL OSes: Create directory strucuture. Better to create a script called ${sEmuName}_${sGuestOs}_${sGuestHw}.sh. Check the scripts at the end of this page.
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}/" ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/${sGuestOs}" ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}/${sGuestHw}" cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/"
-
Define shell variables to make life easier...
- Install SimH 4.1 from here. This is another fork project from the original emulator. The compilation process can vary, depedning omn the OS.
-
If this is the first time, make a local copy of the simulator
git clone https://github.com/open-simh/simh.git simh-4.1
Click here to see a run example👇
$ git clone https://github.com/open-simh/simh.git simh-4.1 Cloning into 'simh-4.1'... remote: Enumerating objects: 35175, done. remote: Counting objects: 100% (104/104), done. remote: Compressing objects: 100% (66/66), done. remote: Total 35175 (delta 46), reused 86 (delta 38), pack-reused 35071 Receiving objects: 100% (35175/35175), 78.76 MiB | 21.77 MiB/s, done. Resolving deltas: 100% (27237/27237), done. Updating files: 100% (1580/1580), done.
-
Otherwise, update your local copy
( cd simh-4.1 && git fetch --all -v )
Click here to see a run example👇
$ ( cd simh-4.1 && git fetch --all -v ) 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
-
Compile your simulator. Output can vary depending on your host operating system.
( cd simh-4.1 && make vax780 && ./BIN/vax780 )
Click here to see a run example👇
$ ( cd simh-4.1 && make vax780 && ./BIN/vax780 ) 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 *** Warning *** *** Warning *** vax780 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 *** vax780 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 *** *** *** vax780 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) *** - 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 ./VAX/vax_cpu.c ./VAX/vax_cpu1.c ./VAX/vax_fpa.c ./VAX/vax_cis.c ./VAX/vax_octa.c ./VAX/vax_cmode.c ./VAX/vax_mmu.c ./VAX/vax_sys.c ./VAX/vax_syscm.c ./VAX/vax780_stddev.c ./VAX/vax780_sbi.c ./VAX/vax780_mem.c ./VAX/vax780_uba.c ./VAX/vax7x0_mba.c ./VAX/vax780_fload.c ./VAX/vax780_syslist.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_xu.c ./PDP11/pdp11_ry.c ./PDP11/pdp11_cr.c ./PDP11/pdp11_rp.c ./PDP11/pdp11_tu.c ./PDP11/pdp11_hk.c ./PDP11/pdp11_vh.c ./PDP11/pdp11_dmc.c ./PDP11/pdp11_dup.c ./PDP11/pdp11_td.c ./PDP11/pdp11_tc.c ./PDP11/pdp11_rk.c ./PDP11/pdp11_io_lib.c ./PDP11/pdp11_ch.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 -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I ./VAX -I ./PDP11 -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -DUSE_NETWORK -o BIN/vax780 -lm -lrt -lpthread -ldl -ledit BIN/vax780 RegisterSanityCheck /cygdrive/m/Emulators/SimH/mirror/simh-4.1/VAX/tests/vax-diag_test.ini </dev/null Running internal register sanity checks on VAX 11/780 simulator. *** Good Registers in VAX 11/780 simulator. VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Running Hardware Core Test (EVKAA) *** PASSED - VAX 11/780 Hardware Core Instruction test EVKAA Starting VAX Diagnostic Supervisor Missing Regular Expression support - skipping EVKAB test VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 sim> exit Goodbye
-
The simulator program is available in the BIN directory from the compiled git repository. To make life easier, the best is to create a link to the program. I can create a link into /usr/bin or into the guest
directory. I will go with the later.
-
Windows 10 + cygwin
cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" ln -s ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1
Click here to see a run example👇
$ cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" $ ln -s ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1 $ ls -lF vax780-4.1 lrwxrwxrwx 1 afberendsen None 36 Feb 19 15:26 vax780 -> ../../mirror/simh-4.1/BIN/vax780*
-
macOS and Linux
cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" ln -s ../../mirror/simh-4.1/BIN/vax780 vax780-4.1
Click here to see a run example👇
$ cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" $ ln -s ../../mirror/simh-4.1/BIN/vax780 vax780-4.1 $ ls -lF vax780-4.1 lrwxrwxrwx 1 afberendsen None 36 Feb 19 15:26 vax780-4.1 -> ../../mirror/simh-4.1/BIN/vax780*
-
Windows 10 + cygwin
-
Build the guest (it is assumed that you are in the guest data directory)
-
For the pre-build image
-
Download pre-build image
wget --no-clobber https://pspodcasting.net/simh/43bsd.tar.gz
Click here to see a run example👇
$ wget --no-clobber https://pspodcasting.net/simh/43bsd.tar.gz --2023-02-25 17:22:52-- https://pspodcasting.net/simh/43bsd.tar.gz Resolving pspodcasting.net (pspodcasting.net)... 37.221.196.112 Connecting to pspodcasting.net (pspodcasting.net)|37.221.196.112|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 15791114 (15M) [application/octet-stream] Saving to: ‘43bsd.tar.gz’ 43bsd.tar.gz 100%[================>] 15.06M 32.0MB/s in 0.5s 2023-02-25 17:22:53 (32.0 MB/s) - ‘43bsd.tar.gz’ saved [15791114/15791114] $
-
Unpack the guest package
-
For Windows+cygwin use:
7z x 42bsd.tar.gz tar -xv --strip-components=1 -f 43bsd.tar
-
For macOS+brew use
7zz x 42bsd.tar.gz tar -xv --strip-components=1 -f 43bsd.tar
-
For Linux use
7za x 42bsd.tar.gz tar -xv --strip-components=1 -f 43bsd.tar
Click here to see a run example👇
$ 7z x 43bsd.tar.gz 7-Zip [64] 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31 p7zip Version 15.14.1 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz (A0655),ASM,AES-NI) Scanning the drive for archives: 1 file, 15791114 bytes (16 MiB) Extracting archive: 43bsd.tar.gz -- Path = 43bsd.tar.gz Type = gzip Headers Size = 10 Everything is Ok Size: 456243200 Compressed: 15791114 $ tar -xv --strip-components=1 -f 43bsd.tar 43bsd/rq.dsk 43bsd/boot42 43bsd/43bsd.ini 43bsd/README $ ls -la total 906535 drwxrwxrwx+ 1 afberendsen None 0 Feb 25 17:29 . drwxrwxrwx+ 1 afberendsen None 0 Feb 23 05:52 .. -rw-r--r--+ 1 afberendsen None 255 Jan 17 2022 43bsd.ini -rw-r--r--+ 1 afberendsen None 456243200 Jan 23 2022 43bsd.tar -rw-rw-rw-+ 1 afberendsen None 15791114 Jan 23 2022 43bsd.tar.gz -rw-r--r--+ 1 afberendsen None 2465 Jan 20 2022 README -rw-------+ 1 afberendsen None 6600 Jan 16 2022 boot42 -rw-r--r--+ 1 afberendsen None 456228864 Jan 23 2022 rq.dsk -rw-rw-rw-+ 1 afberendsen None 562 Feb 25 17:23 screen0.txt -rw-rw-rw-+ 1 afberendsen None 448 Feb 25 17:29 screen1.txt lrwxrwxrwx 1 afberendsen None 36 Feb 25 17:20 vax780-4.1 -> ../../mirror/simh-4.1/BIN/vax780.exe $
-
For Windows+cygwin use:
-
Download pre-build image
-
If using the tape image
-
Create a file named tInstall.ini. This SimH Initialization file will be used to set-up the initial installation environment.
set rq0 ra81 at rq0 miniroot set rq1 ra81 at rq1 disk0010_ra81.dsk set rq1 dis set rq2 dis set rq3 dis set rp dis set lpt dis set rl dis set tq dis set tu dis att -r ts 4-2bsd.tap set tti 7b set tto 7b load -o boot42 0 d r10 9 d r11 0 expect "# " send "cd /dev\n"; continue expect "# " send "./MAKEDEV ra1\n"; continue expect "# " send "cd /\n"; continue expect "# " send "disk=ra1 type=ra81 tape=ts xtr\n"; continue expect "# " send "sync; syn'; sync; sync\n"; quit run 2
-
Create a file named dInstall.ini. This SimH initialization file will be used to set-up the disk OS.
set cpu 11/70 set cpu 2M set cpu fpp show cpu set tti 7b set tto 7b set rl0 rl02 set rl1 rl02 set rl2 disable set rl3 disable attach rl0 4.2BSD-root.rl02 attach rl1 swap.rl02 set rk disable set hk disable set rq disable set tq disable set xq disable set rx disable set cr disable set rha disable set ptp disable set ptr disable set pclk enable set rp0 rm05 attach rp0 test.disk set dz lines=8 set dz 7b attach dz -m 4429 expect ": " send "rl(0,0)rlunix\n"; continue expect "# " send "fsck -y /dev/rl0\n"; continue expect "# " send "\x04"; continue boot rl0
-
Create a file named boot.ini. This SimH initialziation file will be used for normal guest sratup.
set rq0 ra81 att rq0 disk0020_ra81.dsk set rq1 dis set rq2 dis set rq3 dis set rp dis set lpt dis set rl dis set tq dis set tu dis set tti 7b set tto 7b load -o boot42 0 d r10 9 d r11 0 run 2 quit
-
Create a file called boot42.uue, with following contents:
Click here to expand the contents👇
begin 400 boot42 M``#:'Q+0CP``!P!>T.^:%@``4-2`T5!>&?DH[XP6``"?`````&[4@]%3CZS> M"``9]=2#T5./```0`!GU%_]F%@``V@`1^P#O.`T``-`![Q$7``#[`.\&```` M%^^L____``S"!%[?[Y$6``#?[Y<6``#[`N_($```W0#?[WP6``#[`N]="0`` MT%"M_-50&0W=4-U:W5O[`^\6````W^]Q%@``^P'OEQ```/L`[W@5```$```/ MPB1>T*P$6]"L"%K0K`Q9W2#?K>#=6?L#[VD'``#04%C16"`2'M&MX(\'`0`` M$R'1K>"/"P$``!,7T:W@CP@!```3#=_O(A8``/L![RH,``#1K>"/"P$``!,* MT:W@CP@!```2&-T`W8\`!```W5G[`^]=!0``UE`2`S&#`-VMY-T`W5G[`^_\ M!@``T5"MY!)OT*WDK=S1K>"/"P$``!,2T:W@CP@!```3"!$0E+W<UJW<TX__ M`P``K=P2\-VMZ-VMW-U9^P/OO`8``-%0K>@2+\"MZ*W<P(\```$`K>S46!$( ME+W<UJW<UEC16*WL'_+E'ZWT`/L`O?3[`.]U%```W^]R%0``^P'O;@L```0` M````",($7M"L!%OB"&L`U,O(`-T!W5LRJQ!0Q!10T.`\%P<`4/L"8-!0K?S* MCP#_``!KT*W\4`0`",($7M"L!%OB"6L`U,O(`-T"W5LRJQ!0Q!10T.`\%P<` M4/L"8-!0K?S*CP#_``!KT*W\4`0`"-"L!%O=6S*K$%#$%%#0X$`7!P!0^P%@ M!``(T*P$6]U;,JL04,044-#@1!<'`%#[`6`$``C0K`1;W:P,W:P(W5LRJQ!0 MQ!10T.!(%P<`4/L#8`0```0```#0"E`$````#,($7M"L"%O4R[@`Q\N,(:P$ M4,3+D"%0Q\N,(:P$4<K+\"!1Q,OL(%'`45#`R^0@4,?+C"&L!%'$RXPA4<-1 MK`11QLM,(5%XRS0A45'`45!XRS@A4%#!R[``4,N\`-#+!"'+Q`#!C]0```!; MR\``W5O[`>^[_O__T%"M_,&/U````%M:Q\M,(:P$4,3+3"%0PU"L!%!X!U!0 MP%I0*(^``&"K+-"M_%`$```,P@A>T*P$6Q,$E6L2$-_O&10``/L![^H-``#4 M4`3=K`C=`OL"[RO____54!A3W^\$%```$=[66Y%K+Q/YT%M:$0:5:A,'UEJ1 M:B\2]9!JK?^4:MVL"-U;^P+O@@$``-!0K?@3(I6M_Q,OW:P(W5#[`N_?_O__ MU5`9H9"M_VK06EN5:Q,4$;'=6]_OP!,``/L"[V\-```Q@O_0K?A0!```#,(4 M7M"L!%O!!%M:U:P(&`G?[Z83```Q6O_1K`@,&`_0K`A0T$"J4*WPT*WP4`30 M`:WTP@RL"-`#K?@1%<3+2"&M]-&L"*WT&0W"K?2L"->M^-6M^!3FU:WX$@S= MK`C?[V43```QA__#K?@#4-!`RH``K?`27MVL"-_O5A,``#%M_]"M^%#0K?!` M[V:5``!X#:WX4)Y`[UH5``"M[,;+2"&M],>M]*P(4,?+2"%04<3+2"%1PU%0 MK?S0K?Q0T$"][*WP$@S=K`C?[R83```Q'O_6K?C1K?@#%0,Q3?_0K?A0T4#O M#94``*WP$Z-XRS@AK?!0P<NP`%#+O`!X#:WX4)Y`[^X4``#+P`#0RP0AR\0` MW5O[`>_/_/__T5#+!"$2`S%>_]7+R``3"=#+R`#O(I@!`-W+O`#?[Z02```Q MK_X```["#%[0K`A;U:P$$@,Q*?Z5O`03^,$$6UD\J2A0RH__#___4-%0CP!` M```3"=_OBQ(``#'\_=6I,!()W^^.$@``,>[]W:P$^P'OJ1```-!0K?34K?C0 M6ZW\WZWX^P'O+````-!06A(#,<[]U6H3ZCRJ!E#14*WT$N#!"%I^W:P$^P+O MB!```-50$L[0:E`$``["#%[0K`1;T*L$6=%KJ309`S'!`,O)'"%KK?03',&/ MU````%E0P:WT4%H\J@10P%!KU6H3UM!:4`3.R20A4'A0:ZW\W:W\W5G[`N_= M_?__T%"M^-50$@,Q>P!XR3@A4%#!R;``4,F\`,&/U````%G)P`#1K?P,&!'! M`:W\4'C))"%04-&I-%`9!]#)!"%0$1;+R1PAJ310P,D((5#74-+)("%1RE%0 MT%#)Q`#=6?L![V+[___54!D#,6+_T,G(`.^^E@$`W<F\`-_OAQ$``/L"[[T* M``#44`0`"-6L#!,AW^^#$0``^P'OI@H``-`"[X^6`0`1!]`![X:6`0#.`5`$ MP@.L!!GOT:P$!!CIQ8_40```K`10P(_@F0<`4-!06^$"8-+0K`C+N`#'CP`" M``"L",N\`-3+Q`#44`0```["%%[5K`09#M&L!`(4"/L`[\D,```$P@.L!!D= MT:P$!!@7Q8_40```K`10P(_@F0<`4-!06^`"8`O0`>\$E@$`S@%0!-#+P`!9 MU<O$`!4#,>4`X0-K<\/+N`"K-*WL%>#!C]0@``!;6LZJ4%!X4,NX`*WXW:WX MW5O[`N]O_/__>*ID4%#!R[``4,N\`,NJ2,NX`*WTT:WX#!@0P0&M^%!XJE!0 M4-&K-%`9!M"J,%`1$\NJ2*LT4,"J-%#74-*J3%'*45#04*WP$17'CP`"``#+ MN`#+O`#4K?0RCP`"K?#!C]0```!;R\``T*WPR\0`W5O[`>_A^?__U5`8#-#+ MR`#O0)4!`#$Y_^$#:Q_#K?3+N`!0P*WP4-%0JS09",&M]*WLR\0`PJWTR\0` MP8_4````6U#!K?106=?+Q`#6R[@`F(FM_-!9R\``T*W\4`0```S4[^Z4`0#5 MK`09!=`!4!$"U%#1K`0"%`70`5$1`M11TE%1RE%0$R70K`Q;^P#O7`L``/90 MO`C76Q,,T*P(4-:L")%@"A+EPUNL#%`$P@.L!!D=T:P$!!@7Q8_40```K`10 MP(_@F0<`4-!06N`"8`O0`>]^E`$`S@%0!.EJ\N`#:D'0K`S*Q`#0K`C*P`#' MCP`"``#*N`!0P<JP`%#*O`#=6OL![^#X___04%O`K`S*N`#56Q@)T,K(`.\V ME`$`T%M0!,&L#,JX`%#14*HT%0C#RK@`JC2L#-"L#%L4`]10!,$#K`1^^P'O MPOW___90O`C6K`C76Q+IT*P,4`0`#-3O\),!`-6L!!DKT:P$`A0ET*P,6Q$1 MT*P(4-:L")A@?OL![P`*``#06U#76]50$N;0K`Q0!,(#K`09'=&L!`08%\6/ MU$```*P$4,"/X)D'`%#04%K@`F`+T`'OEI,!`,X!4`3A`6KQT*P,RL0`T*P( MRL``QX\``@``RK@`4,'*L`!0RKP`W5K[`>\Q^/__T%!;P*P,RK@`U5L8"=#* MR`#O49,!`-!;4`0```[""%[5[W4-```3'=2M_,6/U$```*W\4-3@X)D'`/($ MK?SLU.]6#0``U*WXQ8_40```K?A0U>#@F0<`$Q+R!*WXZM_O"@X``/L![_H" M``#%C]1```"M^%#`C^"9!P!0T%!:R`1@T*P$6Q$'D6LH$P;66Y5K$O61:R@3 M-]_OY`T``/L![],&``#4:M`#[[J2`0`1&\`461$CW^_3#0``^P'OM@8``-1J MT`3OG9(!`,X!4`24B][OF0P``%G5:1/9W6G=K`3[`N]\"P``U5`2Q/8HJ__# MCS@7!P!94,844/=0JA"8BU##,%#*K`"1:S`9%Y%K.102Q0K*K`!0F(M1P%!1 MPS!1RJP`U<JL`!D'T<JL`!\5&=_O9PT``/L![SH&``#4:M`%[R&2`0`Q@?^1 MBRP3&=_O70T``/L![QP&``#4:M`"[P.2`0`Q8__=6_L![W\*``#04,JP`!$$ ME8L3TY%K*1+WW5K[`>_>]O__UEN5:Q(6P0&L"%#(4&K4RL0`U,JX`,$#K?A0 M!,&/U"```%K*P``RCP`@RL0`P1#*L`#*O`#4RK@`W5K[`>\P]O__U5`8&=#* MR`#OCY$!`-_O\0P``/L![Y(%```QXO[=6MU;^P+O?O?__]!0K?P2#-1JT`;O M99$!`#'%_M6L"!,9W^_7#```^P'O8`4``-1JT`?O1Y$!`#&G_MU:W:W\^P+O MF/;__]50&`S0RL@`[RN1`0`QB_[4RK@`U,K$`,$!K`A0R`A0R%!J,4K_``#" M!%["`ZP$&1[1K`0$&!C%C]1```"L!%#`C^"9!P!0T%"M_.`"8`O0`>_BD`$` MS@%0!.`#O?P*W:W\^P'OZ?7__]2]_-10!```",($7M2M_,(#K`09'=&L!`08 M%\6/U$```*P$4,"/X)D'`%#04%O@`F`+T`'OEI`!`,X!4`30K`A0SU"/`60` M``U"`$@`3@!4`%D`7@!C`!P`'``<`!P`'`!H`&X`W:P,W:P(W5O[`^^/]?__ MT%"M_-6M_!@)T,O(`.])D`$`T*W\4`3B"FOI$>?B"VOC$>'B#&O=$=O($&L1 MULH0:Q'1R"!K$<S*(&L1Q^(':\,1P>4':[T1NP``W^^I"P``^P'O`0````0` M`,($7M2M_,6/U$```*W\4-7@X)D'`!,*W:W\^P'OS?[___($K?S@W:P$W^]\ M"P``^P+OV@,``/L`[T,)```$``#=K`3?[V8+``#[`N_``P``$?X````(PA!> MW3[[`>_.!@``T%"M_)JM_^\J#```T.\D#```4-%0`1-!T5`"$V?14`,2`S&) M`#&D`'@"K?!0P.][CP$`4-U@^P'OZ0@``-50$A-X`JWP4,#O8H\!`%#08%#0 M`:`$UJWP$7;>[Q<+``#O/H\!`-[O[`H``.\_CP$`WN_Q"@``[S"/`0#0!*WX MT`2M]!%(WN\,"P``[Q./`0#>[_$*``#O%(\!`-[O[@H``.\%CP$`T`2M^-2M M]!$>WN_R"@``[_6.`0#>[^L*``#OYHX!`-2M]-"M]*WXU*WPT:WPK?08`S%/ M_]'O5PL```$3"]T`W3?[`N_9!0``U:WT%0K0CX"$'@!;]5O]!```#,($7M"L M!%O5[Z4*```2*GB/_<NL`%!X`E!0P.^*C@$`4.\`#>^%"@``4<B/`.`#`%'! M46#O>0H``-7OU\\!`!(IWN]'SP$`[RJ/`0":CXCO)H\!`-T"W^]:C@$`^P+O M?P4``-!0[ZS/`0"T_T(*``#0[SP*``!0LX\`"*`"$_&PCP"`H`+0[R<*``!0 MLX\`$*`"$_'!".][SP$`4#)04-#O#0H``%'W4*$"T.\""@``4+./`""@`A/Q MP0CO5L\!`%!XC_!04#)04-#OXPD``%'W4*$"T._8"0``4+./`$"@`A/Q]P&@ M`L$4[RC/`0#OH\X!`,&/4````.\8SP$`[Y?.`0"T[^/.`0#=!/L![W8```#5 M4!(6W^^Z"0``$0;?[\@)``#[`>]Q_?__!,N/^/___\NL`%#W4.^ES@$`W0G[ M`>]"````U5`3U-7+L``9&M'+L``'%!/0R[``4-%`[U,)``"/_____Q(-W^^2 M"0``^P'O)?W__]#+L`!0T$#O,PD``,NP``0```#""%[VK`3O4<X!`/<\[P+. M`0#W/.\WS@$`R(\```#`[^C-`0#(CP```,#OX<T!`#+_\P@``*WXM>_+S0$` M$P:T[\/-`0"U[[_-`0`3ZK3OM\T!`-[ON\T!`*W\T*W\4,F/@````*P$49J@ M#%#14%$2"M"M_%"S'Z`.$P/44`30K?Q0!```#,($7M"L!%O=`=U;^P+OP`,` M`-!0K?S>[Z[-`0!:T,N\`*H@RX_X____RZP`4/=0J@C0R\0`JA#O`!*M_%#O M'`2M_%%X&%%1R5%0JA31K`@!$@70(5`1`]`B4-U0^P'O%?___]!06A(=W^^1 M"```^P'O*0```-VM_-U;^P+O$00``,X!4`3=K?S=6_L"[P$$``#0R\0`4`0` M``#0"E`$``#!"%Q^W:P$^P+O`@````0`@`_""%[0K`1;T*P(6A$.U5@2`03= M6/L![_,!``"8BUC16"42ZC%$`=%0CV(````3814#,1`!T5"/3P```!,=%0,Q M\P#14(]$````$PK`!%H1R]`061$(T`I9$0/0"%G=6=UJ^P+O1@$``!'AT&I9 MT!A7U5<9U\Y74'A065#O``=06!,)W5C[`>^#`0``P@A7$>#0BEG0:JW\T*W\ M4-:M_)A@?MU9^P+O!`$``-2M^-59$YK=//L![U0!``#0K?Q0UJW\F&!7$@S= M/OL![S\!```Q>?_#`5=0>%`!4-)04,M065`3*=6M^!,)W2S[`>\=`0``T`&M M^)B]_%C16"`5O-U8^P'O!P$``-:M_!'ID;W\(!6HUJW\$?70:JW\T*W\4-:M M_)A@6!(#,2'_W5C[`>_;````$>;14(]8````$@,Q#_\Q!__14(]D````$@,Q M!?\4#]%0CV,````2`S$,_S'J_M%0CVP````2])B+6-!84-%0CV\````2`S'> M_A0#,:7^T5"/=0```!(#,<C^%`_14(]S````$@,Q?/\QK?[14(]X````$@,Q MIOXQGOX```C"#%[1K`@*$A/5K`08#MTM^P'O1P```,ZL!*P$WJWU6]VL"-VL M!/L"[T,#``"00.]X!@``B]VL"-VL!/L"[P8#``#04*P$U5`2UIA[?OL![PH` M``#>K?50T5M0%.T$``[0K`1;,H\P=5G=(OL![^H```#@!U`$UUD2[]5;$@$$ MW2+[`>_4````T%!:W0#=(OL"[[X```":6W[=(_L"[[(```#16PH2"=T-^P'O MKO___]T`^P'OI?___]U:W2+[`N^0````!```"-T@^P'OBP```.$'4//=(?L! M[WX```#O``=06]%;#1(#T`I;W5O[`>]J____T%M0!``,T*P$6Q$JT5`C$T31 M4(]`````$P_V6HL1%]%0#1,KT5`5$N/0K`1;W0K[`>\T____^P#OE?___^\` M!U!:T%I0T5`($PO14`H2T-`*6I2+!-=;T5NL!!C9$:<```#:K`BL!`0``-NL M!%`$````**P,O`2\"`0````,PA1>T*P$6]#+P`!0[PD74*WXRX\`_O__R\`` MK?3!K?3+Q`!0P(__`0``4.\)%U!0P0%0K?S1K`@"$A70[PT%``"M[,"M_.\# M!0``U*P($0/4K>QXC_W+K`!0>`)04,#O9H@!`%#!CP`(``!@4'@"K>Q1P5%0 M6G@5K`A0R8\```"`4*WPU:P($PGIK?0%XAFM\`#O`!6M^*WX$0G)K?"M^(K6 MK?C7K?P2\M2*>!RL"%!X":WL4<A14,BM]%`$```([QP$K`A0T%!;$@$$T.^` M!```4-%0`1,+T5`"$S314`,3``30K`10>(_]P*P`4'@"4%#`[]*'`0!0P8]` M````8%!X`EM1P%%0R(\```"`8!'1T*P$4'B/_<"L`%!X`E!0P.^DAP$`4,&/ M0````&!0>`);4<!14,B/`0``8&`1HP`````,P@1>T*P$6]2M_-1:$1^1:SD4 M-L4*K?Q0F(M1P%!1PS!1K?P1']9:UEL1&=9;F&M0T5`)$_;14"`3\=%0*Q/H MT5`M$^&1:S`8Q=5:$P;.K?Q0$030K?Q0!`````S0K`1;U%H1`M9:E8L2^M!: M4`0``+P!``S0K`1;T*P(6I%KBA('E8L2]]10!)AK4)AZ4<)14`0``-"L!%#0 MK`A2$P714@$5"-11>U)04%($$PO14%(>`]10!-`!4`0```#0K`10T*P(4A,% MT5(!%0C447M24%)0!!(#U%`$T5!2'P/"4E`$`-!0[XV&`0#.`5`$`$(`!P#( M&0`````7[U3I__\``-`!4-"L!%/0!%*>[PX```!BU6/44-`$4M1B!````,_O MZ@(```$#"P`&``8`V@\F$0/:`##`CEZ>[]C___]N`@```')A*#`L,"EB;V]T M`&QO861I;F<@)7,`8F]O="!F86EL960`0F%D(&9O<FUA=`H`4VAO<G0@<F5A M9`H``&`7!P"@$`<`D`X'`(0"!P`Z$0<```````````````````````````!R M80```0```&YU;&P@<&%T:`H`8V%N)W0@<F5A9"!R;V]T(&EN;V1E"@`E<R!N M;W0@9F]U;F0*`&)N(&YE9V%T:79E"@!B;B!O=F8@)40*`&)N('9O:60@)40* M`&)N("5$.B!R96%D(&5R<F]R"@!B;B!V;VED("5$"@!N;W0@82!D:7)E8W1O M<GD*`'IE<F\@;&5N9W1H(&1I<F5C=&]R>0H`8FX@)40Z(')E860@97)R;W(* M`%-E96L@;F]T(&9R;VT@8F5G:6YN:6YG(&]F(&9I;&4*`$YO(&UO<F4@9FEL M92!S;&]T<P!"860@9&5V:6-E"@!5;FMN;W=N(&1E=FEC90H`0F%D('5N:70@ M<W!E8VEF:65R"@!-:7-S:6YG(&]F9G-E="!S<&5C:69I8V%T:6]N"@!S=7!E M<B!B;&]C:R!R96%D(&5R<F]R"@!#86XG="!W<FET92!F:6QE<R!Y970N+B!3 M;W)R>0H`17AI="!C86QL960`)7,*`%1R87`@)6\*``!@`"``@``@`*``(`#` M`"```!`@```4(```&"```!P@```!(``@`2``0`$@`&`!(```\P``(/,```#\ M````^```@/(``*#R``#`\@``X/(``&#R````_`!H]``````````````,/@`` M`````/_______________ZS```!,`0(`<F$Z(&]P96X@97)R;W(L(%-40T]. M`')A.B!O<&5N(&5R<F]R+"!/3DQ)3@!R83H@8F%D('5N:70`<F$Z($DO3R!E ><G)O<@H`,#$R,S0U-C<X.6%B8V1E9@````#````` ` end
-
Download the initial files
wget --quiet --mirror --no-parent --cut-dirs=7 --no-host-directories --reject="*.html*" https://www.tiffe.de/Robotron/PDP-VAX/VAX/4BSD/Distributions/4.3/4.3BSD/ for x in *.gz; do [[ $f == 42bsd.tar.gz ]] && continue gunzip -f $x done
Click here to see a run example👇
$ wget --quiet --mirror --no-parent --cut-dirs=7 -nH https://www.tiffe.de/Robotron/PDP-VAX/VAX/4BSD/Distributions/4.3/4.3BSD/ ; rm index.html*;for x in *.gz; do [[ $f == 42bsd.tar.gz ]] && continue; echo $x; gunzip -f $x; done ; ls -l ingres.tar.gz miniroot.gz new.tar.gz rootdump.gz src.tar.gz srcsys.tar.gz stand.gz usr.tar.gz vfont.tar.gz total 1000905 -rw-r--r--+ 1 afberendsen None 255 Jan 17 2022 43bsd.ini -rw-rw-rw-+ 1 afberendsen None 456243200 Jan 23 2022 43bsd.tar -rw-rw-rw-+ 1 afberendsen None 115 Jul 14 2017 FORMAT -rw-r--r--+ 1 afberendsen None 2465 Jan 20 2022 README -rw-------+ 1 afberendsen None 6600 Jan 16 2022 boot42 -rw-rw-rw-+ 1 afberendsen None 38764 Jul 14 2017 ingres.lst -rw-rw-rw-+ 1 afberendsen None 2539520 Jul 14 2017 ingres.tar -rw-rw-rw-+ 1 afberendsen None 2099200 Jul 14 2017 miniroot -rw-rw-rw-+ 1 afberendsen None 364537 Jul 14 2017 new.lst -rw-rw-rw-+ 1 afberendsen None 34457600 Jul 14 2017 new.tar -rw-rw-rw-+ 1 afberendsen None 53 Jul 14 2017 robots.txt -rw-rw-rw-+ 1 afberendsen None 4567040 Jul 14 2017 rootdump -rw-r--r--+ 1 afberendsen None 456228864 Feb 25 17:35 rq.dsk -rw-rw-rw-+ 1 afberendsen None 562 Feb 25 17:23 screen0.txt -rw-rw-rw-+ 1 afberendsen None 1298 Feb 25 17:30 screen1.txt -rw-rw-rw-+ 1 afberendsen None 11020 Feb 25 17:36 screen2.txt -rw-rw-rw-+ 1 afberendsen None 337680 Jul 14 2017 src.lst -rw-rw-rw-+ 1 afberendsen None 24668160 Jul 14 2017 src.tar -rw-rw-rw-+ 1 afberendsen None 52059 Jul 14 2017 srcsys.lst -rw-rw-rw-+ 1 afberendsen None 5949440 Jul 14 2017 srcsys.tar -rw-rw-rw-+ 1 afberendsen None 106496 Jul 14 2017 stand -rw-rw-rw-+ 1 afberendsen None 482 Feb 25 22:46 tInstall.ini -rw-rw-rw-+ 1 afberendsen None 231409 Jul 14 2017 usr.lst -rw-rw-rw-+ 1 afberendsen None 31109120 Jul 14 2017 usr.tar lrwxrwxrwx 1 afberendsen None 36 Feb 25 17:20 vax780-4.1 -> ../../mirror/simh-4.1/BIN/vax780.exe -rw-rw-rw-+ 1 afberendsen None 24500 Jul 14 2017 vfont.lst -rw-rw-rw-+ 1 afberendsen None 5857280 Jul 14 2017 vfont.tar $
-
Build the OS tape. Check the script contents at the end of this page.
./BuildTapeFor4-3BSD.perl > tape0020-4-3bsd.tap
Click here to see a run example👇
$ ./BuildTapeFor4-3BSD.perl > tape0020-4-3bsd.tap ; ls -l *.tap -rw-rw-rw-+ 1 afberendsen None 111442472 Feb 25 22:52 tape0020-4-3bsd.tap
-
Create the boot record from the (above) boot42.uue
chmod a+w boot42 uudecode boot42.uue chmod a-wx boot42
Click here to see a run example👇
$ ls -l boot42.uue ; chmod a+w boot42 ; uudecode boot42.uue ; chmod a-wx boot42 ; ls -l boot42 ; file boot42 -rw-rw-rw-+ 1 afberendsen None 9117 Feb 25 22:58 boot42.uue chmod: cannot access 'boot42': No such file or directory <--- It is ok. The boot.42 should not exist at this point. This is in case you need to run this process more than once. -r--------+ 1 afberendsen None 6600 Feb 25 22:59 boot42 boot42: data $
-
Execute the install process
./vax780-4.1 tInstall.ini
Click here to see a run example👇
$ ./vax780-4.1 tInstall.ini VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-3bsd/tInstall.ini-5> set rq1 dis %SIM-ERROR: RQ1 is attached or busy /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-3bsd/tInstall.ini-13> att -r ts tape0020-4-3bsd.tap %SIM-INFO: TS: unit is read only %SIM-INFO: TS: Tape Image 'tape0020-4-3bsd.tap' scanned as SIMH format loading ra(0,0)boot Boot : ra(0,0)vmunix 279844+80872+100324 start 0x12f8 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 ra1 at uda0 slave 1 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 dz1 at uba0 csr 160110 vec 310, ipl 15 dz2 at uba0 csr 160120 vec 320, ipl 15 dz3 at uba0 csr 160130 vec 330, ipl 15 Changing root device to ra0a erase ^?, kill ^U, intr ^C # cd /dev # ./MAKEDEV ra1 mknod: ra1a: File exists mknod: ra1b: File exists mknod: ra1c: File exists mknod: ra1g: File exists mknod: rra1a: File exists mknod: rra1b: File exists mknod: rra1c: File exists mknod: rra1g: File exists mknod: ra1d: File exists mknod: ra1e: File exists mknod: ra1f: File exists mknod: ra1h: File exists mknod: rra1d: File exists mknod: rra1e: File exists mknod: rra1f: File exists mknod: rra1h: File exists ./MAKEDEV: chgrp: not found <--- You can ignore this error message ./MAKEDEV: chmod: not found <--- You can ignore this error message # cd / # disk=ra1 type=ra81 tape=ts xtr Build root file system Warning: 538 sector(s) in last cylinder unallocated /dev/rra1a: 15884 sectors in 23 cylinders of 14 tracks, 51 sectors 8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g) super-block backups (for fsck -b#) at: 32, 11520, Check the file system ** /dev/rra1a ** Last Mounted on ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 2 files, 9 used, 7420 free (20 frags, 925 blocks, 0.3% fragmentation) Rewind tape Restore the dump image of the root Warning: ./lost+found: File exists ** /dev/rra1a ** Last Mounted on /a ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 317 files, 4199 used, 3230 free (6 frags, 403 blocks, 0.1% fragmentation) Root filesystem extracted If this is an 8650 or 8600, update the console rl02 If this is a 780 or 785, update the floppy If this is a 730, update the cassette # Goodbye $
-
Install the OS into the virtual hard disc
./vax780-4.1 dInstall.ini
Click here to see a run example👇
$ ./vax780-4.1 dInstall.ini VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-3bsd/dInstall.ini-11> att -r ts tape0020-4-3bsd.tap %SIM-INFO: TS: unit is read only %SIM-INFO: TS: Tape Image 'tape0020-4-3bsd.tap' scanned as SIMH format loading ra(0,0)boot Boot : ra(0,0)vmunix 279844+80872+100324 start 0x12f8 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 dz1 at uba0 csr 160110 vec 310, ipl 15 dz2 at uba0 csr 160120 vec 320, ipl 15 dz3 at uba0 csr 160130 vec 330, ipl 15 Changing root device to ra0a Automatic reboot in progress... Tue Feb 25 15:17:47 PST 1986 Can't open checklist file: /etc/fstab Automatic reboot failed... help! erase ^?, kill ^U, intr ^C # disk=ra # name=ra0h;type=ra81 # cd /dev # sh ./MAKEDEV ts0;sync # cd / # newfs $name $type Warning: 680 sector(s) in last cylinder unallocated /dev/rra0h: 291346 sectors in 409 cylinders of 14 tracks, 51 sectors 149.2Mb in 26 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g) super-block backups (for fsck -b#) at: 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424, 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280, 228768, 240256, 251744, 263232, 274720, 286208, # mount /dev/$name /usr # cd /usr # mkdir sys # cd sys # mt rew # mt fsf 3 # tar xpbf 20 /dev/rmt12 # cd .. # mt fsf # tar xpbf 20 /dev/rmt12 # cd / # chmod 755 / /usr /usr/sys # rm -rf sys # ln -s /usr/sys sys # umount /dev/$name # fsck /dev/r$name ** /dev/rra0h ** Last Mounted on /usr ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation) # cd /etc # cp fstab.ra81 fstab # newfs ra0g ra81 /dev/rra0g: 515508 sectors in 722 cylinders of 14 tracks, 51 sectors 263.9Mb in 46 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g) super-block backups (for fsck -b#) at: 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424, 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280, 228768, 240256, 251744, 263232, 274720, 286208, 297696, 309184, 320672, 332160, 343648, 355136, 365600, 377088, 388576, 400064, 411552, 423040, 434528, 446016, 457504, 468992, 480480, 491968, 503456, 514944, # sync # reboot syncing disks... done Reboot request failed, PC: 8002B03A (MOVL 8004F628,R0) Goodbye $
-
Test the new guest. Do not interrupt the guest with CTRL+E. This will corrupt the file systems.
./vax780-4.1 boot.ini
Click here to expand the contents👇
$ ./vax780-4.1 boot.ini VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 loading ra(0,0)boot Boot : ra(0,0)vmunix 279844+80872+100324 start 0x12f8 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 dz1 at uba0 csr 160110 vec 310, ipl 15 dz2 at uba0 csr 160120 vec 320, ipl 15 dz3 at uba0 csr 160130 vec 330, ipl 15 Changing root device to ra0a Automatic reboot in progress... Tue Feb 25 15:20:58 PST 1986 /dev/ra0a: 330 files, 4200 used, 3229 free (5 frags, 403 blocks, 0.1% fragmentation) /dev/rra0h: 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation) /dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmentation) Tue Feb 25 15:20:59 PST 1986 checking quotas: done. starting system logger checking for core dump... /a/crash: No such file or directory Feb 25 15:20:59 myname savecore: /a/crash: No such file or directory starting local daemons:Feb 25 15:20:59 myname named[53]: /etc/named.boot: No such file or directory named sendmail. preserving editor files clearing /tmp standard daemons: update cron accounting. starting network daemons: rwhod inetd printer. Tue Feb 25 15:20:59 PST 1986 Tue Feb 25 15:21:00 PST 1986 Feb 25 15:21:01 myname getty: /dev/tty00: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty01: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty07: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty06: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty05: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty03: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty02: No such file or directory Feb 25 15:21:01 myname getty: /dev/tty04: No such file or directory 4.3 BSD UNIX (myname.my.domain) (console) login: root Feb 25 15:21:38 myname login: ROOT LOGIN console 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 Would you like to play a game? Don't login as root, use su myname# /etc/shutdown -h +1 Shutdown at 15:22 (in 1 minute) [pid 110] *** System shutdown message from root@myname.my.domain *** System going down in 60 seconds myname# *** FINAL System shutdown message from root@myname.my.domain *** System going down in 30 seconds *** FINAL System shutdown message from root@myname.my.domain *** System going down IMMEDIATELY System shutdown time has arrived Feb 25 15:22:48 myname shutdown: halt by root: Feb 25 15:22:51 myname syslogd: going down on signal 15 syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 8002AFCD (BRB 8002AFCD) Goodbye $
-
Create a file named tInstall.ini. This SimH Initialization file will be used to set-up the initial installation environment.
-
For the pre-build image
- Enabling remote users Inside of BSD 4.3 you will have to create the dz device files. Simply logon as root, and run the following commands:
cd /dev sh ./MAKEDEV dz0
set dz lines=8 att dz 8888 set dz 7b
- Idle On SIMH 4.1 I've noticed that if you set the cpu idle to 32v, 4.3 BSD can idle on the 11/780 emualtor... Simply add the following line to your boot.ini
set cpu idle=32v
First look
Pre-packaged version
Click here to expand the contents👇
$ ./vax780-4.1 43bsd.ini VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-3bsd/43bsd.ini-15> att dz 8888 %SIM-INFO: Listening on port 8888 /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-3bsd/43bsd.ini-18> att lpt printer.txt %SIM-ERROR: Non-existent device: LPT loading ra(0,0)boot Boot : ra(0,0)vmunix 279844+80872+100324 start 0x12f8 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 Changing root device to ra0a WARNING: clock gained 33 days -- CHECK AND RESET THE DATE! Automatic reboot in progress... Wed Feb 25 09:33:03 PST 1987 /dev/ra0a: 360 files, 4635 used, 2794 free (18 frags, 347 blocks, 0.2% fragmentation) /dev/rra0h: 4680 files, 36180 used, 102404 free (172 frags, 12779 blocks, 0.1% fragmentation) /dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmentation) Wed Feb 25 09:33:04 PST 1987 checking quotas: done. starting system logger checking for core dump... /a/crash: No such file or directory Feb 25 09:33:04 myname savecore: /a/crash: No such file or directory starting local daemons:Feb 25 09:33:04 myname named[53]: /etc/named.boot: No such file or directory named sendmail. preserving editor files clearing /tmp standard daemons: update cron accounting. starting network daemons: rwhod inetd printer. Wed Feb 25 09:33:04 PST 1987 Feb 25 09:33:04 myname lpd[89]: /dev/lp: No such file or directory 4.3 BSD UNIX (myname.my.domain) (console) login: root Last login: Fri Jan 23 01:29:24 on console Feb 25 09:33:11 myname login: ROOT LOGIN console 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 Would you like to play a game? # echo $PATH /etc:/usr/ucb:/bin:/usr/bin:. # ls /etc /usr/ucb /bin /usr/bin /bin: [ chmod du kill mv rcp su who adb chsh e ld nice rm sync write ar cmp echo ln nm rmail tar as cp ed login od rmdir tee awk csh expr ls pagesize sed test cat date false mail passwd sh time cc dd grep make pr size tp chfn df hostid mkdir ps strip true chgrp diff hostname mt pwd stty wall /etc: MAKEDEV flcopy hosts.equiv passwd rshd XNSrouted fsck htable passwd.dir rwhod ac fstab icheck passwd.pag rxformat accton fstab.hp ifconfig ping sa arff fstab.hp400m implog printcap savecore arp fstab.ra60 implogd protocols services bad144 fstab.ra80 inetd psdatabase shells badsect fstab.ra81 inetd.conf pstat shutdown catman fstab.rb80 init quot swapon chown fstab.rk07 kgmon quotacheck syslog.conf clri fstab.rm03 lpc quotaoff syslog.pid comsat fstab.rm05 map3270 quotaon syslogd config fstab.rm80 mkfs rc talkd cron fstab.rp06 mklost+found rc.local telnetd dcheck fstab.rp07 mknod rdump termcap diskpart fstab.up mkpasswd reboot tftpd disktab fstab.up160m mkproto remote timed dmesg fstab.up300m motd renice timedc dump ftpd mount repquota trpt dump.4.1 ftpusers mtab restore ttys dumpdates gettable named rexecd tunefs dumpfs getty ncheck rlogind umount edquota gettytab networks rmt update fastboot group newfs route utmp fasthalt halt ntalkd routed uucpd fingerd hosts pac rrestore vipw /usr/bin: addbib cu hp7221plot plot struct uniq aedplot dc hpplot plottoa style units ar11 deroff implot prof sum uucp at diction indxbib ptx t300 uudecode atoplot diff3 install ranlib t300s uuencode atq dumbplot iostat ratfor t4013 uulog atrm efl join refer t450 uuname basename egrep learn rev tabs uupoll bc enroll lex roffbib tbl uuq bgplot eqn lint ruusend tc uusend cal ex look sleep tek uusnap calendar explain lookbib sort tip uux cb f77 lorder sortbib tk xget checkeq fgrep m4 spell touch xsend col file mesg spellin tr yacc comm find neqn spellout troff crtplot gigiplot nohup spline tsort crypt graph nroff split tty /usr/ucb: Mail fold lpq pmerge systat vlp apply fp lpr printenv tail vmstat apropos fpr lprm px talk w biff from lptest pxp tcopy wc checknr fsplit lxref pxref telnet what clear ftp mail quota tftp whatis colcrt gcore mailq rdist tn3270 whereis colrm gprof man reset tset which compress grep mkstr rlogin u whoami ctags groups more rsh ul whois dbx head mset ruptime uncompress window e indent msgs rwho unexpand xstr edit last netstat sccs unifdef yes error lastcomm newaliases script uptime zcat ex leave page sendbug users expand lisp pc soelim vacation f liszt pdx strings vgrind finger lock pi symorder vi fmt logger pix sysline view # who ; whoami ; dmesg ; mount ; df ; iostat 5 5 ; vmstat 5 5 ; ps aux root console Feb 25 09:33 root Feb 25 09:33 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 Changing root device to ra0a WARNING: clock gained 33 days -- CHECK AND RESET THE DATE! ra0g on /mnt ra0h on /usr Filesystem kbytes used avail capacity Mounted on /dev/ra0a 7429 4636 2050 69% / /dev/ra0g 245225 9 220693 0% /mnt /dev/ra0h 138584 36182 88543 29% /usr tty rk0 rk1 rk2 rk3 cpu tin tout bps tps msps bps tps msps bps tps msps bps tps msps us ni sy id 3 172 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 3 0 5 92 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 4 96 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 7 93 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 3 97 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 3 97 procs memory page faults cpu r b w avm fre re at pi po fr de sr r0 r1 r2 r3 in sy cs us sy id 0 0 0 66 6173 9 2 17 0 0 0 0 0 0 0 0 185 224 67 2 5 93 0 0 0 291 6169 0 0 0 0 0 0 0 0 0 0 0 32 200 0 0 5 95 0 0 0 291 6168 0 0 0 0 0 0 0 0 0 0 0 16 66 0 0 4 96 0 0 0 291 6168 0 0 0 0 0 0 0 0 0 0 0 10 22 0 0 3 97 0 0 0 251 6168 0 0 0 0 0 0 0 0 0 0 0 9 8 0 0 6 94 USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND root 58 0.0 2.0 175 131 ? I 0:00 /usr/lib/sendmail -bd -q30m root 79 0.0 0.7 48 46 ? I 0:00 /etc/rwhod root 88 0.0 1.0 80 67 ? I 0:00 /usr/lib/lpd root 83 0.0 0.7 59 41 ? I 0:00 /etc/inetd root 46 0.0 0.7 55 43 co I 0:00 /etc/syslogd root 1 0.0 0.5 36 28 ? I 0:00 init root 71 0.0 0.5 40 26 ? I 0:00 /etc/cron root 95 0.0 0.3 30 14 01 I 0:00 - std.9600 tty01 (getty) root 63 0.0 2.0 175 131 ? S 0:00 -running queue (sendmail) root 94 0.0 0.3 30 14 00 I 0:00 - std.9600 tty00 (getty) root 68 0.0 0.1 5 3 ? S 0:00 /etc/update root 112 0.0 1.0 91 64 co R 0:00 ps aux root 93 0.0 0.4 28 25 co S 0:00 -sh (sh) root 2 0.0 0.3 2048 0 ? D 0:00 pagedaemon root 96 0.0 0.3 30 14 02 I 0:00 - std.9600 tty02 (getty) root 0 0.0 0.1 0 0 ? D 0:00 swapper root 101 0.0 0.3 30 14 07 I 0:00 - std.9600 tty07 (getty) root 100 0.0 0.3 30 14 06 I 0:00 - std.9600 tty06 (getty) root 99 0.0 0.3 30 14 05 I 0:00 - std.9600 tty05 (getty) root 98 0.0 0.3 30 14 04 I 0:00 - std.9600 tty04 (getty) root 97 0.0 0.3 30 14 03 I 0:00 - std.9600 tty03 (getty) # /etc/shutdown -h +1 Shutdown at 09:35 (in 1 minute) [pid 114] # *** System shutdown message from root@myname.my.domain *** System going down in 60 seconds *** FINAL System shutdown message from root@myname.my.domain *** System going down in 30 seconds *** FINAL System shutdown message from root@myname.my.domain *** System going down IMMEDIATELY System shutdown time has arrived Feb 25 09:35:27 myname shutdown: halt by root: Feb 25 09:35:30 myname syslogd: going down on signal 15 syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 8002AFCD (BRB 8002AFCD) sim> q Goodbye $
Tape build version
Click here to expand the contents👇
$ ./vax780-4.1 boot.ini VAX 11/780 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 loading ra(0,0)boot Boot : ra(0,0)vmunix 279844+80872+100324 start 0x12f8 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 dz1 at uba0 csr 160110 vec 310, ipl 15 dz2 at uba0 csr 160120 vec 320, ipl 15 dz3 at uba0 csr 160130 vec 330, ipl 15 Changing root device to ra0a Automatic reboot in progress... Tue Feb 25 15:24:54 PST 1986 /dev/ra0a: 332 files, 4221 used, 3208 free (8 frags, 400 blocks, 0.1% fragmentation) /dev/rra0h: 4649 files, 35639 used, 102945 free (177 frags, 12846 blocks, 0.1% fragmentation) /dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmentation) Tue Feb 25 15:24:55 PST 1986 checking quotas: done. starting system logger checking for core dump... /a/crash: No such file or directory Feb 25 15:24:55 myname savecore: /a/crash: No such file or directory starting local daemons:Feb 25 15:24:55 myname named[53]: /etc/named.boot: No such file or directory named sendmail. preserving editor files clearing /tmp standard daemons: update cron accounting. starting network daemons: rwhod inetd printer. Tue Feb 25 15:24:55 PST 1986 Feb 25 15:24:57 myname getty: /dev/tty00: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty01: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty07: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty06: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty05: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty04: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty03: No such file or directory Feb 25 15:24:57 myname getty: /dev/tty02: No such file or directory 4.3 BSD UNIX (myname.my.domain) (console) login: root Last login: Tue Feb 25 15:21:38 on console Feb 25 15:24:59 myname login: ROOT LOGIN console 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 Would you like to play a game? Don't login as root, use su myname# echo $PATH /etc:/usr/ucb:/bin:/usr/bin:/usr/local:/usr/hosts:. myname# ls /etc /usr/ucb /bin /usr/bin /usr/local /usr/hosts /bin: [* chsh* echo* login* pagesize* sh* tp* adb* cmp* ed* ls* passwd* size* true* ar* cp* expr* mail* pr* strip* wall* as* csh* false* make* ps* stty* who* awk* date* grep* mkdir* pwd* su* write* cat* dd* hostid* mt* rcp* sync* cc* df* hostname* mv* rm* tar* chfn* diff* kill* nice* rmail* tee* chgrp* du* ld* nm* rmdir* test* chmod* e* ln* od* sed* time* /etc: MAKEDEV flcopy* hosts.equiv passwd rshd* XNSrouted* fsck* htable* passwd.dir rwhod* ac* fstab icheck* passwd.pag rxformat* accton* fstab.hp ifconfig* ping* sa* arff* fstab.hp400m implog* printcap savecore* arp* fstab.ra60 implogd* protocols services bad144* fstab.ra80 inetd* psdatabase shells badsect* fstab.ra81 inetd.conf pstat* shutdown* catman* fstab.rb80 init* quot* swapon* chown* fstab.rk07 kgmon* quotacheck* syslog.conf clri* fstab.rm03 lpc* quotaoff* syslog.pid comsat* fstab.rm05 map3270 quotaon* syslogd* config* fstab.rm80 mkfs* rc talkd* cron* fstab.rp06 mklost+found* rc.local telnetd* dcheck* fstab.rp07 mknod* rdump* termcap diskpart* fstab.up mkpasswd* reboot* tftpd* disktab fstab.up160m mkproto* remote timed* dmesg* fstab.up300m motd renice* timedc* dump* ftpd* mount* repquota* trpt* dump.4.1* ftpusers mtab restore* ttys dumpdates gettable* named* rexecd* tunefs* dumpfs* getty* ncheck* rlogind* umount* edquota* gettytab networks rmt* update* fastboot* group newfs* route* utmp fasthalt* halt* ntalkd* routed* uucpd* fingerd* hosts pac* rrestore* vipw* /usr/bin: addbib* cu* hp7221plot* plot* struct* uniq* aedplot* dc* hpplot* plottoa* style* units* ar11* deroff* implot* prof* sum* uucp* at* diction* indxbib* ptx* t300* uudecode* atoplot* diff3* install* ranlib* t300s* uuencode* atq* dumbplot* iostat* ratfor* t4013* uulog* atrm* efl* join* refer* t450* uuname* basename* egrep* learn* rev* tabs* uupoll* bc* enroll* lex* roffbib* tbl* uuq* bgplot* eqn* lint* ruusend* tc* uusend* cal* ex* look* sleep* tek* uusnap* calendar* explain* lookbib* sort* tip* uux* cb* f77* lorder* sortbib* tk* xget* checkeq* fgrep* m4* spell* touch* xsend* col* file* mesg* spellin* tr* yacc* comm* find* neqn* spellout* troff* crtplot* gigiplot* nohup* spline* tsort* crypt* graph* nroff* split* tty* /usr/hosts: MAKEHOSTS* /usr/local: lib/ /usr/ucb: Mail* fold* lpq* pmerge* systat* vlp* apply* fp* lpr* printenv* tail* vmstat* apropos* fpr* lprm* px* talk* w* biff* from* lptest* pxp* tcopy* wc* checknr* fsplit* lxref* pxref* telnet* what* clear* ftp* mail* quota* tftp* whatis* colcrt* gcore* mailq@ rdist* tn3270* whereis* colrm* gprof* man* reset* tset* which* compress* grep* mkstr* rlogin* u* whoami* ctags* groups* more* rsh* ul* whois* dbx* head* mset* ruptime* uncompress* window* e* indent* msgs* rwho* unexpand* xstr* edit* last* netstat* sccs* unifdef* yes* error* lastcomm* newaliases@ script* uptime* zcat* ex* leave* page* sendbug* users* expand* lisp* pc* soelim* vacation* f* liszt* pdx* strings* vgrind* finger* lock* pi* symorder* vi* fmt* logger* pix* sysline* view* myname# who ; whoami ; dmesg ; mount ; df ; iostat 5 5 ; vmstat 5 5 ; ps aux root console Feb 25 15:24 root Feb 25 15:26 4.3 BSD UNIX #1: Fri Jun 6 19:55:29 PDT 1986 karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC real mem = 8388608 SYSPTSIZE limits number of buffers to 140 avail mem = 7187456 using 140 buffers containing 524288 bytes of memory mcr0 at tr1 mcr1 at tr2 uba0 at tr3 hk0 at uba0 csr 177440 vec 210, ipl 15 rk0 at hk0 slave 0 rk1 at hk0 slave 1 rk2 at hk0 slave 2 rk3 at hk0 slave 3 uda0 at uba0 csr 172150 vec 774, ipl 15 ra0 at uda0 slave 0 zs0 at uba0 csr 172520 vec 224, ipl 15 ts0 at zs0 slave 0 dz0 at uba0 csr 160100 vec 300, ipl 15 dz1 at uba0 csr 160110 vec 310, ipl 15 dz2 at uba0 csr 160120 vec 320, ipl 15 dz3 at uba0 csr 160130 vec 330, ipl 15 Changing root device to ra0a ra0g on /mnt ra0h on /usr Filesystem kbytes used avail capacity Mounted on /dev/ra0a 7429 4222 2464 63% / /dev/ra0g 245225 9 220693 0% /mnt /dev/ra0h 138584 35642 89083 29% /usr tty rk0 rk1 rk2 rk3 cpu tin tout bps tps msps bps tps msps bps tps msps bps tps msps us ni sy id 2 111 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 1 0 5 94 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 4 96 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 3 97 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 6 94 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 3 97 procs memory page faults cpu r b w avm fre re at pi po fr de sr r0 r1 r2 r3 in sy cs us sy id 0 0 0 167 6093 6 1 12 0 0 0 0 0 0 0 0 137 161 46 1 5 94 0 0 0 172 6090 0 0 0 0 0 0 0 0 0 0 0 32 200 0 0 5 95 0 0 0 355 6088 0 0 0 0 0 0 0 0 0 0 0 16 66 0 0 3 97 0 0 0 355 6088 0 0 0 0 0 0 0 0 0 0 0 11 22 0 0 5 95 0 0 0 355 6088 0 0 0 0 0 0 0 0 0 0 0 9 8 0 0 5 95 USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND root 83 0.0 0.7 59 41 ? I 0:00 /etc/inetd root 93 0.0 1.6 129 107 co S 0:00 -csh (csh) root 58 0.0 2.0 178 134 ? I 0:00 /usr/lib/sendmail -bd -q30m root 46 0.0 0.7 55 43 co I 0:00 /etc/syslogd root 1 0.0 0.5 36 28 ? I 0:00 init root 88 0.0 1.0 80 67 ? I 0:00 /usr/lib/lpd root 95 0.0 0.3 28 13 ? I 0:00 - std.9600 tty01 (getty) root 96 0.0 0.3 28 13 ? I 0:00 - std.9600 tty02 (getty) root 60 0.0 2.0 178 132 ? S 0:00 -running queue (sendmail) root 79 0.0 0.7 48 46 ? I 0:00 /etc/rwhod root 71 0.0 0.5 40 26 ? I 0:00 /etc/cron root 94 0.0 0.3 28 13 ? I 0:00 - std.9600 tty00 (getty) root 68 0.0 0.1 5 3 ? S 0:00 /etc/update root 2 0.0 0.3 2048 0 ? D 0:00 pagedaemon root 97 0.0 0.3 28 13 ? I 0:00 - std.9600 tty03 (getty) root 0 0.0 0.1 0 0 ? D 0:00 swapper root 113 0.0 1.2 95 76 co R 0:00 ps aux root 101 0.0 0.3 28 13 ? I 0:00 - std.9600 tty07 (getty) root 100 0.0 0.3 28 13 ? I 0:00 - std.9600 tty06 (getty) root 99 0.0 0.3 28 13 ? I 0:00 - std.9600 tty05 (getty) root 98 0.0 0.3 28 13 ? I 0:00 - std.9600 tty04 (getty) myname# /etc/shutdown -h +1 Shutdown at 15:27 (in 1 minute) [pid 115] *** System shutdown message from root@myname.my.domain *** System going down in 60 seconds myname# *** FINAL System shutdown message from root@myname.my.domain *** System going down in 30 seconds *** FINAL System shutdown message from root@myname.my.domain *** System going down IMMEDIATELY System shutdown time has arrived Feb 25 15:27:45 myname shutdown: halt by root: Feb 25 15:27:48 myname syslogd: going down on signal 15 syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 8002AFCD (BRB 8002AFCD) Goodbye $
Supporting scripts
Build environment
Has to be executed as follows:$ . ./SimH-4-3bsd_vax-11-780.sh
.
SimH-4-3bsd_vax-11-780.sh
#!/bin/bash [[ "$(uname -s)" == CYGWIN* ]] && sRootEmulatorsDirectory=/cygdrive/m/ [[ "$(uname -s)" == Linux* ]] && sRootEmulatorsDirectory=/Volumes/vol000/ [[ "$(uname -s)" == Darwin* ]] && sRootEmulatorsDirectory=~/Desktop/ sEmuName=SimH sGuestHw=vax-11-780 sGuestOs=4-3bsd 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}/"; rm "${sGuestOs}"; ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestOs}") ( cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}" ; rm "${sGuestHw}"; ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestHw}" ) 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 cd simh-4.1 && make vax780 && ./BIN/vax780 cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/" if [[ "$(uname -s)" == CYGWIN* ]]; then ln -sf ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1 else ln -sf ../../mirror/simh-4.1/BIN/vax780 vax780-4.1 fi ./vax780-4.1 ls -laF pwd
Create tape file
.
BuildTapeFor4-3BSD.perl
#!/usr/bin/perl -w use strict; add_file("stand", 512); add_file("miniroot", 10240); add_file("rootdump", 10240); add_file("srcsys.tar", 10240); add_file("usr.tar", 10240); add_file("vfont.tar", 10240); add_file("src.tar", 10240); add_file("new.tar", 10240); add_file("ingres.tar", 10240); end_file(); sub end_file { print "\x00\x00\x00\x00"; } sub add_file { my($filename, $blocksize) = @_; my($block, $bytes_read, $length); open(FILE, $filename) || die("Can't open $filename: $!"); while($bytes_read = read(FILE, $block, $blocksize)) { if($bytes_read < $blocksize) { $block .= "\x00" x ($blocksize - $bytes_read); $bytes_read = $blocksize; } $length = pack("V", $bytes_read); print $length, $block, $length; } close(FILE); end_file(); }
Comments
Post a Comment