Introduction
4BSD (November 1980) offered a number of enhancements over 3BSD, notably job control in the previously released csh, delivermail (the antecedent of sendmail), "reliable" signals, and the Curses programming library. In a 1985 review of BSD releases, John Quarterman et al., wrote:
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
- SimH 4.1 (from GitHub)
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
- 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/
- Install cygwin
- install bzip2 (or 7z) and uudecode
- Install SimH 4.1 from here. This is another fork project from the original emulator.
$ cd /cygdrive/m/Emulators/SimH/mirror/
- 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.
- 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
- 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
- Prepare data directory
$ mkdir -p /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd $ ln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd /cygdrive/m/Emulators/SimH/guests/by-platform/vax-11-780/4bsd $ ln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd /cygdrive/m/Emulators/SimH/guests/by-os/4bsd/vax-11-780 $ cd /cygdrive/m/Emulators/SimH/guests/vax-11-780_4bsd
- 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.exe $ ls -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*
- 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.tap $ ls -laF 4.0bsd.tap -r--r--r--+ 1 afberendsen None 37321848 Feb 21 21:28 4.0bsd.tap
- Transfer contents of tape to disk
- 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
- 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
- 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
- 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 =
- 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!!! #
- 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 #
- Create the user app space partition. Pay attention to use rrp0g.
# /etc/mkfs /dev/rrp0g 145673 isize = 65488 m/n = 3 500 #
- 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 /usr # cd /usr # cp /dev/rmt5 /dev/null # cp /dev/rmt5 /dev/null # tar xpb 20
- 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 #
- 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 /usr # sync ; sync ; sync ; sync #
- 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
- Start-up the simulator with 4BSD
- 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
- (once) Create the boot loader.
- 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<EBM%: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\�``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
- Decode the text file into a binary file.
$ uudecode.exe boot.uue $ ls -la boot -rw-r--r--+ 1 afberendsen None 5860 Feb 20 22:41 boot
- 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 :
- 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!!! #
- 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:
- 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 #
- 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
Post a Comment