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:
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).4.1BSD (June 1981) was a response to criticisms of BSD's performance relative to the dominant VAX operating system, VMS. The 4.1BSD kernel was systematically tuned up by Bill Joy until it could perform as well as VMS on several benchmarks. The release would have been called 5BSD, but after objections from AT&T the name was changed; AT&T feared confusion with AT&T's UNIX System V.
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
- 4.1BSD tape image here.
- SimH 4.1 here.
- Documentation for version SimH 4.0 here.
- Documentation for version SimH 3.12-3 here.
- Classic SimH web-site here.
- SimH 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.1_BSD_on_SIMH
Steps
- bold text is user input from the keyboard
- blue text is automatic input from SimH input processing
- red text are control characters typed by the user
- 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/vax-11-780_4-1bsd $ 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/4-1bsd/ $ ln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-1bsd /cygdrive/m/Emulators/SimH/guests/by-platform/vax-11-780/4-1bsd $ ln -sf /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-1bsd /cygdrive/m/Emulators/SimH/guests/by-os/4-1bsd/vax-11-780
- 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
$ cd /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-1bsd
- 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.1_BSD_19810710-modified.7z 7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21 Scanning the drive for archives: 1 file, 9634191 bytes (9409 KiB) Extracting archive: 4.1_BSD_19810710-modified.7z -- Path = 4.1_BSD_19810710-modified.7z Type = 7z Physical Size = 9634191 Headers Size = 218 Method = LZMA:24 Solid = + Blocks = 1 Everything is Ok Files: 2 Size: 202357728 Compressed: 9634191 $ chmod a-wx 4.1_BSD_19810710-modified.tap $ ls -laF 4.1_BSD_19810710-modified.tap -r--r--r--+ 1 afberendsen None 27934688 Feb 1 2016 4.1_BSD_19810710-modified.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 attach rp0 rp06.disk set tu0 te16 attach tu0 4.1_BSD_19810710-modified.tap SET DEBUG -FN expect-data.dbg SET CON-TELNET DEBUG=EXP;SND 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 expect "=" send "mkfs\n"; continue expect "file sys size:" send "7942\n"; continue expect "file system:" send "hp(0,0)\n"; continue expect "=" send "restor\n"; continue expect "Tape?" send "ht(0,1)\n"; continue expect "Disk?" send "hp(0,0)\n"; continue expect "Last chance before scribbling on disk." send "\n boot\n"; continue expect "=" send "boot\n"; continue expect ":" send "hp(0,0)vmunix\n"; continue expect "root device?" send "hp0\n"; continue expect "#" send "fsck /dev/rhp0a\n"; continue expect "#" send "mkfs /dev/hp0g 145673\n"; continue expect "#" send "cd /dev; MAKE ht0; cd /\n"; continue expect "#" send "/etc/mount /dev/hp0g /usr; cd /usr; mt rew; mt fsf 2; tar xpb 20\n"; continue expect "#" send "dd if=/usr/mdec/uboot of=/dev/rhp0a bs=1b count=1\n"; continue expect "#" send "cp /etc/fstab.rp06 /etc/fstab ; df\n"; continue expect "#" send "cd /; chmod 755 / /usr\n"; continue expect "#" send "ls /etc /bin /usr/bin\n"; continue expect "#" send " /etc/shutdown -h +1\n"; continue run 50000 run 0 quit
- Start-up the simulator with the tape boot ini file. This will transfer the OS from the tape into the virtual disk and leave the system ready for boot.
$ ./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_4-1bsd/tboot.ini-17> attach tu0 4.1_BSD_19810710-modified.tap %SIM-INFO: TU0: unit is read only %SIM-INFO: TU0: Tape Image '4.1_BSD_19810710-modified.tap' scanned as SIMH format /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-1bsd/tboot.ini-19> SET DEBUG -FN expect-data.dbg %SIM-INFO: Debug output to "expect-data.dbg" %SIM-INFO: Debug messages will not be filtered to summarize duplicate lines HALT instruction, PC: 00050033 (HALT) Resetting all devices... This may not have been your intention. The GO and CONTINUE commands do not reset devices. =mkfs file sys size: 7942 file system: hp(0,0) isize = 5072 m/n = 3 500 =restor Tape? boot Bad device Tape? ht(0,1) Disk? hp(0,0) Last chance before scribbling on disk. End of tape =boot Boot : hp(0,0)vmunix 123060+27528+24628 start 0xF5C Berkeley VAX/UNIX Version 4.9 Wed Feb 17 15:27:46 PST 1982 real mem = 8322048 avail mem = 7738368 mcr0 at tr1 mcr1 at tr2 uba0 at tr3 dz0 at uba0 csr 160100 vec 300, ipl 15 mba0 at tr8 hp0 at mba0 drive 0 hp1 at mba0 drive 1 hp2 at mba0 drive 2 hp3 at mba0 drive 3 mba1 at tr9 ht0 at mba1 drive 0 tu0 at ht0 slave 0 tu1 at ht0 slave 1 root device? hp0 WARNING: preposterous time in file system -- CHECK AND RESET THE DATE! WARNING: should run interleaved swap with >= 2Mb erase ^?, kill ^U, intr ^C # fsck /dev/rhp0a /dev/rhp0a File System: ** Checking /dev/rhp0a ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Free List 663 files 4277 blocks 3346 free # mkfs /dev/hp0g 145673 isize = 65488 m/n = 3 500 # cd /dev; MAKE ht0; cd / # /etc/mount /dev/hp0g /usr; cd /usr; mt rew; mt fsf 2; tar xpb 20 # dd if=/usr/mdec/uboot of=/dev/rhp0a bs=1b count=1 1+0 records in 1+0 records out # cp /etc/fstab.rp06 /etc/fstab ; df Filesystem Mounted on kbytes used free % used /dev/hp0a / 7623 4278 3345 56% /dev/hp0g /usr 141578 9198 132380 6% # cd /; chmod 755 / /usr # ls /etc /bin /usr/bin /bin: [ chk df false mail nohup rm stty true adb chmod diff grep make od rmail su ucbls ar cmp du kill mkdir oldcsh rmdir sync wall as cp e ld mt passwd sed tar who awk csh echo ln mv pr sh test write cat date ed login nice ps size time cc dd expr ls nm pwd strip tp /etc: 512restor comsat fstab.rm03 mknod shutdown ac config fstab.rm05 motd swapon accton cron fstab.rm80 mount termcap analyze dcheck fstab.rp06 mtab ttys arcv delivermail fstab.rp07 ncheck ttytype arff dmesg fstab.up160m passwd umount arff.bak dump fstab.up300m pstat update bad144 dumpdates getty quot utmp badsect dumpdir group rc vipw catman flcopy halt reboot wall chgrp fsck icheck renice chk fstab init restor chown fstab.ra80 mkfs sa clri fstab.rk07 mklost+found savecore /usr/bin: ar11 crypt explain look ptx spline tc uuclean at cu f77 lookbib ranlib split tee uucp basename dc fgrep lorder ratfor struct tek uulog bc deroff file m4 refer style tk uuname cal diction find man rev sum touch uusend calendar diff3 graph mesg sdb t300 tr uux call efl install neqn sleep t300s troff vplot cb egrep iostat newgrp sort t450 tsort wc checkeq enroll join nroff spell tabs tty xget col eqn lex plot spellin tail uniq xsend comm ex lint prof spellout tbl units yacc # /etc/shutdown -h +1 Shutdown at 12:01 (in 1 minute) [pid 107] # System shutdown time has arrived syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 80003AD5 (BRB 80003AD5) Goodbye %SIM-INFO: Debug output disabled $
- (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
- Create a dboot.ini file wwhich will be used to load the OS
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 expect ":" send "hp(0,0)vmunix\n"; continue expect "root device?" send "hp0\n"; continue expect "#" send "\x04\n"; continue run 2
- 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 : hp(0,0)vmunix 123060+27528+24628 start 0xF5C Berkeley VAX/UNIX Version 4.9 Wed Feb 17 15:27:46 PST 1982 real mem = 8322048 avail mem = 7738368 mcr0 at tr1 mcr1 at tr2 uba0 at tr3 dz0 at uba0 csr 160100 vec 300, ipl 15 mba0 at tr8 hp0 at mba0 drive 0 hp1 at mba0 drive 1 hp2 at mba0 drive 2 hp3 at mba0 drive 3 mba1 at tr9 ht0 at mba1 drive 0 tu0 at ht0 slave 0 tu1 at ht0 slave 1 root device? hp0 WARNING: clock lost 132 days -- CHECK AND RESET THE DATE! WARNING: should run interleaved swap with >= 2Mb erase ^?, kill ^U, intr ^C # ^D Sun Feb 22 21:17:04 GMT 1976 Mounted /usr on /dev/hp0g preserving editor files clearing /tmp starting daemons: update cron accounting network mail printer. Sun Feb 22 21:17:04 GMT 1976 Berkeley 4.1 VAX/UNIX (Amnesia-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
# /etc/shutdown -h +1 Shutdown at 21:21 (in 1 minute) [pid 61] *** System shutdown message from root *** System going down in 60 seconds # *** System shutdown message from root *** System going down in 30 seconds Sun Feb 22 21:21:00 GMT 1976 *** System shutdown message from root *** System going down in 20 seconds *** System shutdown message from root *** System going down in 10 seconds *** System shutdown message from root *** System going down IMMEDIATELY *** System shutdown message from root *** System going down IMMEDIATELY System shutdown time has arrived syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 80003AD5 (BRB 80003AD5) 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 123060+27528+24628 start 0xF5C Berkeley VAX/UNIX Version 4.9 Wed Feb 17 15:27:46 PST 1982 real mem = 8322048 avail mem = 7738368 mcr0 at tr1 mcr1 at tr2 uba0 at tr3 dz0 at uba0 csr 160100 vec 300, ipl 15 mba0 at tr8 hp0 at mba0 drive 0 hp1 at mba0 drive 1 hp2 at mba0 drive 2 hp3 at mba0 drive 3 mba1 at tr9 ht0 at mba1 drive 0 tu0 at ht0 slave 0 tu1 at ht0 slave 1 root device? hp0 WARNING: should run interleaved swap with >= 2Mb erase ^?, kill ^U, intr ^C # ^D Sun Feb 22 21:23:10 GMT 1976 Mounted /usr on /dev/hp0g preserving editor files clearing /tmp starting daemons: update cron accounting network mail printer. Sun Feb 22 21:23:10 GMT 1976 Berkeley 4.1 VAX/UNIX (Amnesia-Vax) login: root Last login: Sun Feb 22 21:20:23 on console Welcome to Berkeley Vax/UNIX (4.1bsd revised 1 Sept. 1981) Erase is delete Kill is control-U # ls -l total 795 -rw-r--r-- 1 root 57 Mar 18 00:22 .cshrc -rw-r--r-- 1 root 90 Mar 21 16:27 .login -rw-r--r-- 1 root 99 Apr 30 22:38 .profile drwxr-xr-x 2 root 32 Mar 15 07:12 arch drwxrwxrwx 2 root 160 May 10 05:31 bill drwxr-xr-x 2 root 1024 Feb 14 06:32 bin -rw-r--r-- 1 root 8752 Jun 12 23:49 boot -rw-r--r-- 1 root 10092 Jul 9 07:59 boot.orig -rw-r--r-- 1 root 33792 Jun 12 19:34 core drwxrwxrwx 2 root 32 May 10 03:26 crp drwxr-xr-x 2 root 2112 Feb 22 21:20 dev drwxr-xr-x 2 root 1104 Feb 22 21:21 etc drwxr-xr-x 2 root 176 May 20 05:23 lib drwxr-xr-x 2 root 4128 Jun 23 22:59 lost+found drwxr-xr-x 2 root 48 Mar 18 00:40 mnt -rwxr-xr-x 1 root 159442 Nov 3 22:30 oldvmunix drwxrwxrwx 2 root 32 May 10 03:16 ra -rw-rw-r-- 1 root 29 Feb 11 01:10 stamp -rw-r--r-- 1 root 29 May 20 22:18 stamp.1 -rw-rw-r-- 1 root 29 Nov 30 18:43 stamp.125 -rw-rw-r-- 1 root 29 Feb 11 01:10 stamp.234 -rw-rw-r-- 1 root 29 Jul 10 17:34 stamp.42 -rw-r--r-- 1 root 29 Apr 5 06:03 stamp.beta drwxr-xr-x10 root 256 Nov 30 18:51 sys drwxrwxrwx 2 root 240 May 10 05:31 tmp drwxr-xr-x 2 root 144 Jun 12 21:40 tp drwxr-xr-x25 root 416 Jul 4 12:00 usr drwxr-xr-x 2 root 32 Mar 15 07:13 va drwxr-xr-x 2 root 32 Mar 15 07:13 vb -rwxr-xr-x 1 root 173251 Feb 17 23:29 vmunix # df Filesystem Mounted on kbytes used free % used /dev/hp0a / 7623 4279 3344 56% /dev/hp0g /usr 141578 9205 132373 7% # mount hp0g on /usr # echo $PATH /etc:/usr/ucb:/bin:/usr/bin:. # ls /etc /usr/bin /bin /bin: [ chk df false mail nohup rm stty true adb chmod diff grep make od rmail su ucbls ar cmp du kill mkdir oldcsh rmdir sync wall as cp e ld mt passwd sed tar who awk csh echo ln mv pr sh test write cat date ed login nice ps size time cc dd expr ls nm pwd strip tp /etc: 512restor comsat fstab.rm03 mknod shutdown ac config fstab.rm05 motd swapon accton cron fstab.rm80 mount termcap analyze dcheck fstab.rp06 mtab ttys arcv delivermail fstab.rp07 ncheck ttytype arff dmesg fstab.up160m passwd umount arff.bak dump fstab.up300m pstat update bad144 dumpdates getty quot utmp badsect dumpdir group rc vipw catman flcopy halt reboot wall chgrp fsck icheck renice chk fstab init restor chown fstab.ra80 mkfs sa clri fstab.rk07 mklost+found savecore /usr/bin: ar11 crypt explain look ptx spline tc uuclean at cu f77 lookbib ranlib split tee uucp basename dc fgrep lorder ratfor struct tek uulog bc deroff file m4 refer style tk uuname cal diction find man rev sum touch uusend calendar diff3 graph mesg sdb t300 tr uux call efl install neqn sleep t300s troff vplot cb egrep iostat newgrp sort t450 tsort wc checkeq enroll join nroff spell tabs tty xget col eqn lex plot spellin tail uniq xsend comm ex lint prof spellout tbl units yacc # dmesg Feb 22 21:23 Berkeley VAX/UNIX Version 4.9 Wed Feb 17 15:27:46 PST 1982 real mem = 8322048 avail mem = 7738368 mcr0 at tr1 mcr1 at tr2 uba0 at tr3 dz0 at uba0 csr 160100 vec 300, ipl 15 mba0 at tr8 hp0 at mba0 drive 0 hp1 at mba0 drive 1 hp2 at mba0 drive 2 hp3 at mba0 drive 3 mba1 at tr9 ht0 at mba1 drive 0 tu0 at ht0 slave 0 tu1 at ht0 slave 1 root device? WARNING: should run interleaved swap with >= 2Mb # ps aux USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND root 46 0.1 1.0 91 71 co S 0:00 -csh (csh) root 23 0.0 0.2 14 11 ? I 0:00 /etc/cron root 1 0.0 0.2 13 7 ? I 0:00 init root 20 0.0 0.1 8 3 ? S 0:00 /etc/update root 47 0.0 0.1 10 4 00 I 0:00 - 2 (getty) root 31 0.0 0.2 17 7 ? I 0:00 /etc/comsat root 2 0.0 0.3 2016 0 ? D 0:00 pagedaemon root 0 0.0 0.1 0 0 ? D 0:00 swapper root 54 0.0 0.1 10 4 07 I 0:00 - 2 (getty) root 53 0.0 0.1 10 4 06 I 0:00 - 2 (getty) root 52 0.0 0.1 10 4 05 I 0:00 - 2 (getty) root 51 0.0 0.1 10 4 04 I 0:00 - 2 (getty) root 50 0.0 0.1 10 4 03 I 0:00 - 2 (getty) root 49 0.0 0.1 10 4 02 I 0:00 - 2 (getty) root 48 0.0 0.1 10 4 01 I 0:00 - 2 (getty) root 33 0.0 0.2 17 9 ? S 0:00 /etc/comsat root 62 0.0 0.5 56 31 co R 0:00 ps aux # who root console Feb 22 21:23 # iostat 5 tty hp0 hp1 hp2 hp3 cpu tin tout sps tps msps sps tps msps sps tps msps sps tps msps us ni sy id 2 142 11 12 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0100 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0100 0 16 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0100 0 16 2 3 0.0 0 0 0.0 0 0 0.0 0 0 0.0 0 0 0100 CTRL+C^C# /etc/shutdown -h +1 Shutdown at 21:25 (in 1 minute) [pid 66] *** System shutdown message from root *** System going down in 60 seconds # *** System shutdown message from root *** System going down in 30 seconds *** System shutdown message from root *** System going down in 20 seconds *** System shutdown message from root *** System going down in 10 seconds *** System shutdown message from root *** System going down IMMEDIATELY *** System shutdown message from root *** System going down IMMEDIATELY System shutdown time has arrived syncing disks... done halting (in tight loop); hit ^P HALT Infinite loop, PC: 80003AD5 (BRB 80003AD5) sim> q Goodbye $
Comments
Post a Comment