Skip to main content

IT - Virtualization - 4BSD on VAX 11/780 on SimH for Windows 10 x64

Introduction

4BSD (November 1980) offered a number of enhancements over 3BSD, notably job control in the previously released cshdelivermail (the antecedent of sendmail), "reliable" signals, and the Curses programming library. In a 1985 review of BSD releases, John Quarterman et al., wrote:

4BSD was the operating system of choice for VAXs from the beginning until the release of System III (1979–1982) [...] Most organizations would buy a 32V license and order 4BSD from Berkeley without ever bothering to get a 32V tape. Many installations inside the Bell System ran 4.1BSD (many still do, and many others run 4.2BSD).

Host

  • Vendor: Generic
  • CPU: 1 x Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz   3.79 GHz
  • RAM: 128GB
  • OS: Windows 10 64-bits

Guest

  • DEC VAX-11/780
  • CPU:
  • Memory:
  • OS: 4.1BSD

Virtualization

Pending

  • Additional disks

References

  • 4BSD tape image here.
  • SimH 4.1 here
  • Documentation for version 4.0 here.
  • Documentation for version 3.12-3 here.
  • Classic SimH web-site here.
  • SimH VAX-11/780 documentation here.
  • SIMH FAQ here.
  • https://en.wikipedia.org/wiki/History_of_the_Berkeley_Software_Distribution#4BSD
  • https://gunkies.org/wiki/Installing_4.0_BSD_on_SIMH

Steps

  1. Prepare directory strucuture
    $ mkdir -p /cygdrive/m/Emulators/SimH/
    $ mkdir -p /cygdrive/m/Emulators/SimH/mirror/
    $ mkdir -p /cygdrive/m/Emulators/SimH/guests/
    $ mkdir -p /cygdrive/m/Emulators/SimH/guests/by-platform/
    $ mkdir -p /cygdrive/m/Emulators/SimH/guests/by-platform/vax-11-780/
    $ mkdir -p /cygdrive/m/Emulators/SimH/guests/by-os/
    $ mkdir -p /cygdrive/m/Emulators/SimH/guests/by-os/4bsd/
    
  2. Install cygwin
    1. install bzip2 (or 7z) and uudecode
  3. Install SimH 4.1 from here. This is another fork project from the original emulator.
    $ cd /cygdrive/m/Emulators/SimH/mirror/
    1. 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
      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.
    2. Otherwise, update your local copy
      ( 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
    3. Create the simulator machines
      ( 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
  4. Prepare data directory
    mkdir -p /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsdln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd /cygdrive/m/Emulators/SimH/guests/by-platform/vax-11-780/4bsdln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd /cygdrive/m/Emulators/SimH/guests/by-os/4bsd/vax-11-780cd /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd
  5. 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.
    ln -s ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1.exels -laF vax780-4.1.exe
    lrwxrwxrwx 1 afberendsen None 36 Feb 19 15:26 vax780-4.1.exe -> ../../mirror/simh-4.1/BIN/vax780.exe*
  6. Unpack the 4BSD tape file
    7z.exe x 4.0bsd.tap.bz2
    
    7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
    
    Scanning the drive for archives:
    1 file, 9577534 bytes (9354 KiB)
    
    Extracting archive: 4.0bsd.tap.bz2
    --
    Path = 4.0bsd.tap.bz2
    Type = bzip2
    
    Everything is Ok
    
    Size:       37321848
    Compressed: 9577534
    $ chmod a-wx 4.0bsd.tapls -laF 4.0bsd.tap
    -r--r--r--+ 1 afberendsen None 37321848 Feb 21 21:28 4.0bsd.tap
  7. Transfer contents of tape to disk
    1. Create tboot.ini file to allow the initial disk set-up and code transfer from the tape.
      set tto 7b
      set rq dis
      set lpt dis
      set rl dis
      set hk dis
      set rq dis
      set rqb dis
      set rqc dis
      set rqd dis
      set ry dis
      set ts dis
      set tq dis
      set dz lines=8
      set rp0 rp06
      at rp0 rp06.disk
      set tu0 te16
      at tu0 4.0bsd.tap
      D 50000 20009FDE
      D 50004 D0512001
      D 50008 3204A101
      D 5000C C113C08F
      D 50010 A1D40424
      D 50014 008FD00C
      D 50018 C1800000
      D 5001C 8F320800
      D 50020 10A1FE00
      D 50024 00C139D0
      D 50028 04c1d004
      D 5002C 07e15004
      D 50030 0000f750
      go 50000
      go 0    
    2. Start-up the simulator with the initial environment. On the past, when creating the initial disk (rp06.disk), the simulator used to ask for a confirmation to re-write the last track. 
      ./vax780-4.1.exe tboot.ini
      
      VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
      /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd/tboot.ini-15> at rp0 rp06.disk
      %SIM-INFO: RP0: Creating new file: rp06.disk
      /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd/tboot.ini-17> at tu0 4.0bsd.tap
      %SIM-INFO: TU0: unit is read only
      %SIM-INFO: TU0: Tape Image '4.0bsd.tap' scanned as SIMH format    
    3. Create the disk initial filesystem. 
      HALT instruction, PC: 00050033 (HALT)
      =mkfs
      file sys size: 7942
      file system: hp(0,0)
      isize = 5072
      m/n = 3 500   
    4. Transfer the contents of the tape to the disk
      =restor
      Tape? ht(1,1)
      Disk? hp(0,0)
      Last chance before scribbling on disk. y
      End of tape
      =    
    5. Boot the system from the disk
      =boot
      
      Boot
      : hp(0,0)vmunix
      87844+15464+130300 start 0x530
      VM/UNIX (Berkeley Version 4.1) 11/10/80
      real mem  = 8323072
      avail mem = 7860224
      WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
      ERASE IS CONTROL-H!!!
      #
    6. It is recommended that you run fsck to ensure that the 'a' partition is in good health. Run fsck as follows:
      fsck /dev/rrp0a
      
      /dev/rrp0a
      File System:  Volume:
      
      ** Checking /dev/rrp0a
      ** Phase 1 - Check Blocks and Sizes
      ** Phase 2 - Check Pathnames
      ** Phase 3 - Check Connectivity
      ** Phase 4 - Check Reference Counts
      ** Phase 5 - Check Free List
      286 files 1895 blocks 5728 free
      #
    7. Create the user app space partition. Pay attention to use rrp0g.
      /etc/mkfs /dev/rrp0g 145673
      isize = 65488
      m/n = 3 500
      #
    8. Fill the usr partition from the tape. The two cp commands are used to advance the tape. This version of 4BSD does not have a mt command.
      /etc/mount /dev/rp0g /usrcd /usrcp /dev/rmt5 /dev/nullcp /dev/rmt5 /dev/nulltar xpb 20
    9. Next we will install a boot block
      dd if=/usr/mdec/uboot of=/dev/rrp0a bs=1b count=1
      1+0 records in
      1+0 records out
      #
    10. Stop the system. Unmount the /usr partition, sync the I/O buffers. In modern U*X systems, the sync command is called at the shutdown state.
      cd /chmod 755 /usrsync ; sync ; sync ; sync
      #
    11. Stop the simulator. At the 4BSD prompt, press CTRL-E. This will bring the simulator interface. At the simulator, simple issue the quit command.
      # CTRL+E
      Simulation stopped, PC: 8000085F (BLBC 80010FA0,8000085F)
      sim> q
      Goodbye    
  8. Start-up the simulator with 4BSD
    1. Create a new ini file. This time is the Disk Boot ini file: dboot.ini
      set tto 7b
      set rq dis
      set lpt dis
      set rl dis
      set hk dis
      set rq dis
      set rqb dis
      set rqc dis
      set rqd dis
      set ry dis
      set ts dis
      set tq dis
      set dz lines=8
      set rp0 rp06
      at rp0 rp06.disk
      set tu0 te16
      load -o boot 0
      go 2    
    2. (once) Create the boot loader. 
      1. Create a file called boot.uue, with following contents
        begin 644 boot
        M``#:'Q+0CP``!0!>T`&?!``!(-`!GP0@`2#0`9\$8``@PX_D%@4`CY@Y!0!0
        MPX\```4`C^06!0!1+`!N`%!A*.]_$P``GP````!N%_]O$P``^P#O'````-"/
        M```%`%X7[^S___\``-"/```%`%X7GU$`!0```,($7M_O21,``/L![RH.``#?
        M[T,3``#[`>\=#@``W^^+.```^P'O"!```-T`W^]\.```^P+OV08``-!0K?S5
        M4!G/W5#[`>\"````!```#,(D7M"L!%O=(-^MX-U;^P/O7P4``-!06M%:(!(*
        MT:W@CP@!```3#=_OX1(``/L![V((``#=K>3?[]T2``#[`N^H#0``W:WDW0#=
        M6_L#[R(%``#14*WD$P,QD0#0K>2MW!$)T*W<4-:MW)1@TX__`P``K=P2[=VM
        MZ-_OGQ(``/L"[V<-``#=K>C=K=S=6_L#[^`$``#14*WH$E+`K>BMW-VM[-_O
        M>1(``/L"[ST-``#`CP```0"M[-1:$0O0K=Q0UJW<E&#66M%:K>P?[^4?K?0`
        MW:WTW^]+$@``^P+O"PT``/L`O?3[`.\($@``W^]`$@``^P'OG0<```0````,
        MT*P(6]2K?,$?K`10QA!0>`%04,&K=%#+@``RCP`$RX@`P8^,````6\N$`-U;
        M^P'OD@<``,&/C````%M:P1^L!%#'$%!1Q!!1PU%047@&45#`4%KWK`2K"+!J
        MJPK0J@BK%-T-P0Q:?L$86W[[`^]@$0``!```#,((7M"L!%L3!)5K$FK?[[T1
        M``#[`>]>#```$5C66Y%K+Q/YT%M:$0:5:A,'UEJ1:B\2]9!JK?^4:MVL"-U;
        M^P+O:P$``-!0K?@3&I6M_Q,XW:P(W5#[`N\L____D*W_:M!:6Q$?W5O?[VX1
        M``#[`N\$#```U%`$W:P(/`)^^P+O!/___Y5K$I;0K?A0!```#L(47M"L!%O0
        MK`BM[,$$6UG5K`@8"=_O/A$``#%E_]&L"`H8#]"L"%K02JD4K?30K?10!-2M
        M^-`!K?3""JP(T`.M_!$9P`BM^'@(K?2M]-&L"*WT&0W"K?2L"->M_-6M_!3B
        MU:W\$@S=K`C?[_80```Q:O_#K?P-4-!`J12M]!(/W:P(W^_H$```,5'_UJW\
        MT:W\`Q29T*W\4-%`[WPC``"M]!-&>`&M]%#!JW10RX``>`JM_%">0.]@$P``
        MRX0`,H\`!,N(`-U;^P'O\04``'@*K?Q0GD#O01,``*WPT*W\4-"M]$#O,B,`
        M`'@*K?Q0GD#O)A,``*WPP@BM^,ZM^%!X4*P(4)I06M!*O?"M]!,#,7G_W:P(
        MW^]A$```,;[^```.P@Q>T*P(6]6L!!(#,;/^E;P$$_C!!%M9/*D&4,J/_P__
        M_U#14(\`0```$PG?[S40```Q+/['$*D0K?@2"=_O-1```#$;_C*/``2M]-2M
        M_!%HUJWTT:WTCT`````90M"M_%#6K?S=4-U;^P+O;/[__W@!4%#!JW10RX``
        MP8^,````6\N$`#*/``3+B`#=6_L![PD%``#!CXP```!;6M2M],$"6G[=K`3[
        M`N\:````U5`3!#QJ4`3`$%K0K?A0UZWXU5`2C3'[_0``#M"L!%O0K`A:T`Y9
        MT%E0UUG54!,0D6MJ$P,QW/V5BQ,$E8H2Y]`!4`0`"-6L#!,1W^^0#P``^P'O
        MP`D``,X!4`3"`ZP$&?;1K`0$&/#%CXP$``"L!%#`C_0F!0!0T%!;X0)@V="L
        M"*M\QX\`!```K`A0>`%04,&K=%#+@`#4RX@`U%`$```.P@1>U:P$&0[1K`0"
        M%`C[`.\G"P``!,(#K`09'=&L!`08%\6/C`0``*P$4,"/]"8%`%#04%O@`F`$
        MS@%0!-#+A`!:U<N(`!4#,:``QX\`!```JWQ0>`%0RX``X0-K&L<"RX``?MU;
        M^P+O'_W__W@!4%#!JW10RX``P8^,````6\N$`#*/``3+B`#=6_L![[P#``#A
        M`VM%QX\`!```JWQ0Q(\`!```4,-0JWRM_,.M_(\`!```4,"K?%#14*L4&0W#
        MJWRK%%#!K?Q0RX@`PJW\RX@`U<N(`!0&,5[_U*W\P8^,````6U#!K?Q06M?+
        MB`#6JWR8BEG06LN$`-!94`0`#-6L!!D%T`%0$0+44-&L!`(4!=`!41$"U%'2
        M45'*45`3)="L#%O[`.\0"@``]E"\"-=;$PS0K`A0UJP(D6`*$N7#6ZP,4`3"
        M`ZP$&1W1K`0$&!?%CXP$``"L!%#`C_0F!0!0T%!:X`)@!,X!4`3I:OG@`VHA
        MT*P,RH@`T*P(RH0`W5K[`>_%`@``T%!;P`+*@`#06U`$P:P,JGQ0T5"J%!4'
        MPZI\JA2L#-"L#%L4`]10!,$#K`1^^P'O0?[__]"L"%'6K`CV4&'76Q+FT*P,
        M4`0`#-6L!!DKT:P$`A0ET*P,6Q$1T*P(4-:L")A@?OL![^`(``#06U#76]50
        M$N;0K`Q0!,(#K`09'=&L!`08%\6/C`0``*P$4,"/]"8%`%#04%K@`F`$S@%0
        M!.$!:OC0K`S*B`#0K`C*A`#=6OL![RH"``#04%O``LJ``-!;4`0`#L((7M7O
        M<0P``!,>U*W\Q8^,!```K?Q0E$#O3!\``/($K?SKU.]1#```U*WXQ8^,!```
        MK?A0E4#O+A\``!,2\@2M^.G?[\<,``#[`>^``0``Q8^,!```K?A0P(_T)@4`
        M4-!06H@$8-"L!%L1!Y%K*!,&UEN5:Q+UD6LH$R#?[Z$,```1"\`061$<W^^@
        M#```^P'OD`8``)1JS@%0!)2+WN\&#0``6=5I$^#=:=VL!/L"[W/\___54!/+
        M]BBK_\./-!4%`%E0QA!0]U"J!IB+4,,P4*IPU:IP&0;1JG`'%0C?[UH,```1
        MJ)&++!,(W^]A#```$9O=6_L![[$*``#04*IT$025BQ/ED6LI$O?=6OL![R4!
        M``#66Y5K$AO!`:P(4)AJ4<A04?91:M3*B`#4JGS!`ZWX4`3=6MU;^P+O:_G_
        M_]!0K?P2`S%,_]6L"!,)W^\<#```,3?_W5K=K?S[`N_2^/__U*I\U,J(`,$!
        MK`A0R`A0F&I1R%!1]E%J$;(``,($7L(#K`09'M&L!`08&,6/C`0``*P$4,"/
        M]"8%`%#04*W\X`)@!,X!4`3@`[W\"MVM_/L![YP```"4O?S44`0``-_OR`L`
        M`/L![P$````$``#=K`3?[\$+``#[`N]$!0``^P#O\O;__P0``-VL!-_OJPL`
        M`/L"[RH%```1_@`(T*P$6]T!W5LRJP90>`104-#@.!4%`%#[`F`$```(T*P$
        M6]T"W5LRJP90>`104-#@.!4%`%#[`F`$```(T*P$6]U;,JL&4'@$4%#0X#P5
        M!0!0^P%@!```"-"L!%O=6S*K!E!X!%!0T.!`%04`4/L!8`0````$```,P@1>
        MT*P$6]"K<%IX!5I0>`)04,&/``0!(%"M_)5*[V<O```2#="M_%#VH!A*[U@O
        M``#0JW10T4#O50L``(______$PO5JW09!M&K=`<5#=_O?0L``/L![_S^__^1
        M2N\G+P``%!(4T*MT4'@%0.]`"P``4,4%4*MT$1+0JW10Q8^B`0``0.\("P``
        MJW0$```(PB!>T*P$6]"K<*W\T,N``*WD>`6M_%!X`E!0P8\`!`$@4*W@WN_0
        M+@``4-"M_%&506`2%-"MX%#>[[PN``!1T*W\4O:@&$)AT*W@4-./0````*`$
        M$@[0$;W@T*W@4#*/`!"@)-[OD"X``%#0K?Q1D4%@%!(+FH^@K?C0(*WT$0HR
        MCZ(!K?C0%JWTQZWXK>2M\,>M^*WD4,2M^%##4*WDK>C'K?2MZ*WLQZWTK>A0
        MQ*WT4,)0K>C0K>!0T*WPH"AX"*WL4,"MZ%#0K>!1T%"A%-VL"-VMX-U;^P/O
        M/P```-"MX%#3CX````"@!!/RTX\`0```H`03(-V@"-V@!-VMZ-VM[-VM\-_O
        M0PH``/L&[PL#``#.`5`$T,N(`%`$```/PA!>T*P$6]"K<%#00.^P"0``4-!`
        M[[0)``!8T%A9P(\`"@``6=#+A`!0[PD74*WXRX\`_O__RX0`K?3!K?3+B`!0
        MP(__`0``4.\)%U"M_,F/```!`*WTK?#O`!6M^*WX$0_0K?A0UJWXR8\```"`
        M4(GTK?SMS@&H",[+B`"H$-"M\*@,T:P,`1(&T#F\"!$*T:P,`A($T#&\"`0`
        M````"-"L!%O0JW10T4#OLPD``(______$PO5JW09!M&K=`<5#=_ONPD``/L!
        M[]K\___0JW10>`5`[X@)``!0Q!-0T%"K=`0```[")%[0K`1;T,N(`*W<T*MP
        MK?S0RX``K>0RCV`"K?C0(*WTQZWXK>2M\,>M^*WD4,2M^%##4*WDK>C'K?2M
        MZ*WLQZWTK>A0Q*WT4,)0K>B5[Z@L```25I;OH"P``/<@[\WP#B`RC_0!6?59
        M_?<)[[;P#B`RC_0!6?59_?<1[Z?P#B`RC_0!6?59_;"/`!#OL/`.(#*/]`%9
        M]5G]$0@RC_0!6?59_>$'[WWP#B#P]ZW\[WSP#B`RC_0!6?59_=T!W5O[`N^U
        M````T%"MX-"/QOT3(%KWK?#O:O`.('@(K>Q0P*WH4/=0:O>MX'K.RX@`4,8"
        M4/=0>M&L"`$2!?<Y>A$#]S%Z,H_T`5GU6?V:C\A9]5G]X0?O#_`.(/&:C\A9
        M]5G]X0[O`/`.("@R[P7P#B!^,N_R[PX@?MVMZ-VM[-VM\-_O8@@``/L&[\L`
        M``#.`5`$T<N(`*W<$Q'=RX@`W^]Y"```^P+OK@```-VMX/L![X@```#0RX@`
        M4`0````.PA1>T*P$6]#+A`!0[PD74*WXRX\`_O__RX0`K?3!K?3+B`!0P(__
        M`0``4.\)%U!0P0%0K?S0CP!H`"!9>!6L"%#)CP```(!0K>S5K`@3">FM]`7B
        M&:WL`.\`%:WXK?@1#-"M^%#6K?C)K>Q0B=>M_!+OU(EX'*P(4,BM]%`$``_O
        M'`2L!%L3#W@"6U#(CP```(#@0&``(`0````.P@1>T*P$6\$(7%D1#M5:$@$$
        MW5K[`>]!`0``F(M:T5HE$NJ8BUK16H]8````$@S=:?L![Z@````QGP#16H]D
        M````$QO16H]U````$Q+16H]O````$PG16H]X````$BS16H]O````$@70"%`1
        M$=%:CW@````2!=`04!$#T`I0W5#=:?L"[XL````13]%:CV,````2"]UI^P'O
        MOP```!$[T5J/<P```!(;T&FM_-"M_%#6K?R88%H3(MU:^P'OFP```!'IT5J/
        M1````!(.W0K=:?L"[ST```#``%G`!%DQ._\``,($7M2M_,.M_`=0>`)04,Y0
        M4'A0K`10[P`$4%"80._-!@``?OL![T\```#R"*W\U@0```C5K`08#MTM^P'O
        M.````,ZL!*P$QZP(K`1;$PS=K`C=6_L"[]?____'K`BL!%#$K`A0PU"L!%"8
        M0.^0!@``?OL![P$````$``[0K`1;,H\P=5G=(OL![V8!``#@!U`$UUD2[]5;
        M$@$$W2+[`>]0`0``T%!:W0#=(OL"[SH!``":6W[=(_L"[RX!``#16PH2"=T-
        M^P'OKO___]T`^P'OI?___]U:W2+[`N\,`0``!```"-T@^P'O!P$``.$'4//=
        M(?L![_H```#O``=06]%;#1(#T`I;W5O[`>]J____T%M0!``,T*P$6_L`[\'_
        M___O``=06M%:CT$````9#-%:CUH````4`\`@6M%;K`03=Y&K_X]<$G#76]%:
        MCV$````9#M%:CWH````4!<(@6A%7T%I0T5`A$S_14"<31M%0*!,IT5`I$RK1
        M4(]>````$RT1-=%0#1,]T5`C$S[14(]`````$T/V6HLQ?O^8CWM:$1:8CWU:
        M$1"8CWQ:$0J8CWY:$028CV!:T%I0T5`($PO14`H2OM`*6I2+!-=;T5NL!!D#
        M,43_,3W_T*P$6]T*^P'OE/[__S$Q_P``````VJP(K`0$``#;K`10!````"BL
        M#+P$O`@$````#,($7M"L!%O[`.]T`0``W0;=6_L"[T\```#0JW1:$2S.`<N(
        M`-T8W5O[`N\Y````U5`2\="/```!`*W\UZW\$OO=`-U;^P+O'0```-!:4-=:
        MU5`2RP0```C0K`1;W0;=6_L"[P$````$@`_"!%[0K`1;T*MP6M18Z5H',H_`
        M!%D1!3*/P`-9^P#O_P```.\`"^_Q$?P?4-%061,'T%GOY!'\'\[+B`#ORQ'\
        M']&L"!H2$<X![[X1_!_0&^^C$?P?U%`$T:P(`1,&T:P(`A(4W:P(W8\`)`$@
        MW5O[`^\R^?__$0G)`:P([W<1_!_[`.^:````RX_[____[VD1_!]7X0)7"?L`
        M[WD````1M.$.5U#56!(?W>]1#?P?W>]+$?P?W>]!$?P?W^_?`P``^P3OX/O_
        M__L`[TD```#16`H2$=_OZ0,``/L![\?[___.`5`$UEC=&MU;^P+O#/___S$8
        M_]58$PW?[\8#``#[`>^B^___]^\`$?P?K?XRK?Y0P,N(`%`$``#0">_7$/P?
        M!``(T._2$/P?6^$'6_4$``S"!%[0K`1;U*W\U%H1'Y%K.10VQ0JM_%"8BU'`
        M4%'#,%&M_!$?UEK66Q$9UEN8:U#14`D3]M%0(!/QT5`K$^C14"T3X9%K,!C%
        MU5H3!LZM_%`1!-"M_%`$````#M"L!%K0K`A9U%L1#9")BI")BI")BI2*UEO1
        M6ZP,&>T$`````+P!`````%$`!0"8.04`"D)O;W0*`#H@`$)A9"!F;W)M870*
        M`"5D`"LE9``K)60`('-T87)T(#!X)7@*`%-H;W)T(')E860*`````0```&YU
        M;&P@<&%T:`H`)7,@;F]T(&9O=6YD"@!B;B!N96=A=&EV90H`8FX@;W9F("5$
        M"@!B;B!V;VED("5$"@!B;B!V;VED("5$"@!N;W0@82!D:7)E8W1O<GD*`'IE
        M<F\@;&5N9W1H(&1I<F5C=&]R>0H`4V5E:R!N;W0@9G)O;2!B96=I;FYI;F<@
        M;V8@9FEL90H`3F\@;6]R92!F:6QE('-L;W1S`$)A9"!D979I8V4*`%5N:VYO
        M=VX@9&5V:6-E"@!"860@=6YI="!S<&5C:69I97(*`$UI<W-I;F<@;V9F<V5T
        M('-P96-I9FEC871I;VX*`$-A;B=T('=R:71E(&9I;&5S('EE="XN(%-O<G)Y
        M"@!%>&ET(&-A;&QE9``E<PH`5')A<"`E;PH``(@5!0"0"@4```H%`/P)!0"+
        M%04`!A(%`)P1!0#T$04`CA4%`)8,!0!0#`4`_`D%````````````````````
        M`````````0```/____\```$@`"`!(&AP`&AT`'5P```````````F````8@``
        M`/_______________W8```#_____`````&$```#_____________________
        M+`$``/____]H<"!B860@;6EN;W(`9&ES:R!E<G)O<CH@8WEL/25D('1R86-K
        M/25D('-E8W0])60@9',])5@L(&5R,3TE6`H``````!L```!$````________
        M_____________U(```!U<"!B860@=6YI=`!D:7-K(&5R<F]R.B!C>6P])60@
        M=')A8VL])60@<V5C=#TE9"!C<S$])5@L(&5R,3TE6`H`<F5T=7)N960@)60*
        M`````#`Q,C,T-38W.#E!0D-$148`,#$R,S0U-C<X.4%"0T1%1@```'1A<&4@
        M97)R;W(Z(&1S/25X+"!E<CTE>"P@;6)A<W(])7@`"@`@<F5C;W9E<F5D(&)Y
        *(')E=')Y"@```"5X
        `
        end
      2. Decode the text file into a binary file.
        uudecode.exe boot.uuels -la boot
        -rw-r--r--+ 1 afberendsen None 5860 Feb 20 22:41 boot    
    3. Load the simulator for 4BSD
      ./vax780-4.1.exe dboot.ini
      
      VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
      
      Boot
      :    
    4. Load the kernel
      Boot
      : hp(0,0)vmunix
      87844+15464+130300 start 0x530
      VM/UNIX (Berkeley Version 4.1) 11/10/80
      real mem  = 8323072
      avail mem = 7860224
      WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
      ERASE IS CONTROL-H!!!
      #
    5.  Change to multi-user mode. At the prompt, press CTRL+D to bring the system to multi-user mode
      # CTRL+D
      Sat Feb 21 13:43:27 PST 1976
      Mounted /usr on /dev/rp0g
      preserving editor files
      clearing /tmp
      starting daemons: update cron accounting network mail.
      Sat Feb 21 13:43:27 PST 1976
      
      
      Virtual VAX/UNIX (Ernie Co-vax)
      
      login:
    6. Authenticate with root account
      login: root
      Last login: Tue Nov 11 10:13:06 on tty??
      
      Welcome to Virtual Vax/UNIX.
      Erase set to control-H
      #
    7. Shutdown system
      sync ; sync ; sync ; sync
      # CTRL+E
      Simulation stopped, PC: 8000085F (BLBC 80010FA0,8000085F)
      sim> q
      Goodbye    

First look


./vax780-4.1.exe dboot.ini

VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04

Boot
: hp(0,0)vmunix
87844+15464+130300 start 0x530
VM/UNIX (Berkeley Version 4.1) 11/10/80
real mem  = 8323072
avail mem = 7860224
WARNING: clock lost 133 days -- CHECK AND RESET THE DATE!
ERASE IS CONTROL-H!!!
# CTRL+DSat Feb 21 13:43:27 PST 1976
Mounted /usr on /dev/rp0g
preserving editor files
clearing /tmp
starting daemons: update cron accounting network mail.
Sat Feb 21 13:43:27 PST 1976


Virtual VAX/UNIX (Ernie Co-vax)

login: root
Last login: Tue Nov 11 10:13:06 on tty??

Welcome to Virtual Vax/UNIX.
Erase set to control-H
# ls -l
total 505
-rw-r--r-- 1 root        186 Oct 18 19:59 .cshrc
-rw-r--r-- 1 root         37 Oct 18 19:59 .exrc
-rw-r--r-- 1 root         79 Oct 18 19:59 .login
-rw-r--r-- 1 root          8 Oct 18 20:00 .mailrc
-rw-r--r-- 1 root        127 Oct 18 19:59 .plan
-rw-r--r-- 1 root        136 Oct 18 19:59 .profile
-rw-r--r-- 1 root         48 Oct 18 19:59 .project
drwxrwxrwx 2 root         32 Apr 27 01:26 arch
drwxrwxrwx 2 root        176 Apr 27 01:26 bill
drwxrwxrwx 2 root        928 Apr 27 01:27 bin
-rw-r--r-- 1 root       5860 Oct 18 20:05 boot
drwxrwxrwx 2 root       2128 Feb 21 13:43 dev
drwxrwxrwx 2 root        880 Apr 27 01:27 etc
drwxrwxrwx 2 root        144 Apr 27 01:27 lib
drwxrwxrwx 2 root         32 Apr 27 01:27 lost+found
drwxrwxrwx 2 root         32 Apr 27 01:27 mnt
-rw-r--r-- 1 root         29 Nov 16 01:24 stamp
drwxrwxrwx 2 root        128 Apr 27 01:27 sys
drwxrwxrwx 2 root         32 Apr 27 01:27 t
drwxrwxrwx 2 root         64 Jul  4 05:06 tmp
-rwxr-xr-x 1 root     118298 Dec 21 17:23 upvmunix
drwxr-xr-x36 root        576 Jul  4 05:01 usr
drwxrwxrwx 2 root         32 Apr 27 01:27 va
drwxrwxrwx 2 root         32 Apr 27 01:27 vb
-rwxr-xr-x 1 root     118298 Nov 10 09:30 vmunix
# df
Filesystem  Mounted on  blocks    used    free  % used
/dev/rp0a   /             7623    1897    5726     25%
/dev/rp0g   /usr        141578   33710  107868     24%
# mount
rp0g on /usr
# echo $PATH
/usr/ucb:/bin:/usr/bin:/etc:.:
# ls /bin
[       chk     dd      ed      login   nice    pr      sh      test    who
adb     chmod   df      false   ls      nm      ps      size    time    write
ar      cmp     diff    grep    mail    nohup   pwd     stty    tp
as      cp      du      kill    make    od      rm      su      true
cat     csh     e       ld      mkdir   oldcsh  rmail   sync    ucbls
cc      date    echo    ln      mv      passwd  rmdir   tar     wall
# ls /usr/bin
ar11      crypt     expr      look      ranlib    split     tee       uulog
at        cu        f77       lookbib   ratfor    strip     tek       uuname
awk       dc        fgrep     lorder    refer     struct    tk        uusend
basename  deroff    file      m4        rev       style     touch     uux
bc        diction   find      man       sdb       sum       tr        vplot
cal       diff3     graph     mesg      sed       t300      troff     wc
calendar  efl       install   neqn      sleep     t300s     tsort     xget
call      egrep     iostat    newgrp    sort      t450      tty       xsend
cb        enroll    join      nroff     spell     tabs      uniq      yacc
checkeq   eqn       learn     plot      spellin   tail      units
col       ex        lex       prof      spellout  tbl       uuclean
comm      explain   lint      ptx       spline    tc        uucp
# ls /etc
512restor     clri          fstab         mtab          termcap
ac            comsat        getty         ncheck        ttys
accton        cron          group         passwd        ttytype
analyze       dcheck        halt          pstat         ttywhere
arcv          delivermail   icheck        quot          umount
arff          dmesg         init          rc            update
biff          dump          mkfs          reboot        utmp
catman        dumpdates     mklost+found  renice        vipw
chgrp         dumpdir       mknod         restor        vpac
chk           flcopy        motd          sa
chown         fsck          mount         swapon
# dmesg

Feb 21 18:44
VM/UNIX (Berkeley Version 4.1) 11/10/80
real mem  = 8323072
avail mem = 7860224
# ps aux
USER       PID %CPU %MEM   SZ  RSS TT STAT  TIME COMMAND
root        39  0.0  0.9   85   70 co S     0:00 -csh (csh)
root        22  0.0  0.2   14   11 ?  I     0:00 /etc/cron
root        19  0.0  0.1    8    3 ?  I     0:00 /etc/update
root        34  0.0  0.1   17    7 ?  I     0:00 /etc/comsat
root        46  0.0  0.5   58   32 co R     0:00 ps aux
root         2  0.0  0.1  384    0 ?  D     0:00 pagedaemon
root         1  0.0  0.1   12    7 ?  I     0:00 init
root         0  0.0  0.0    0    0 ?  D     1:10 swapper
root        36  0.0  0.2   17   10 ?  S     0:00 /etc/comsat
# who
root     console Feb 21 14:11
# iostat 5
      TTY           D0          CPU
 tin tout sps tps msps  us ni sy id
   1   19   4   4  0.0   0  0  0100
   0    9   0   0  0.0   0  0  0100
   0    7   0   1  0.0   0  0  0100
   0    7   0   0  0.0   0  0  0100
   0    7   0   0  0.0   0  0  0100
   0    8   0   0  0.0   0  0  0100

# sync;sync;sync;sync
#CTRL+E
Simulation stopped, PC: 80000966 (BRW 80000958)
sim> q
Goodbye    

Comments

Popular posts from this blog

TV Series - The Brokenwood Mysteries [NZ] (2014) - Season 10

 

Movie - Sin City: A Dame to Kill For (2014)

 

Movies - Deadpool & Wolverine (2024)