<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=Installing_4.1_BSD_on_SIMH</id>
		<title>Installing 4.1 BSD on SIMH - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=Installing_4.1_BSD_on_SIMH"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_4.1_BSD_on_SIMH&amp;action=history"/>
		<updated>2026-05-11T14:19:38Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_4.1_BSD_on_SIMH&amp;diff=11428&amp;oldid=prev</id>
		<title>Neozeed: initial version</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_4.1_BSD_on_SIMH&amp;diff=11428&amp;oldid=prev"/>
				<updated>2016-02-02T05:32:50Z</updated>
		
		<summary type="html">&lt;p&gt;initial version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is the procedure is loosely inspired from [http://zazie.tom-yam.or.jp/starunix/4.0bsd/4.0bsd.html Naoki Hamada] to install [[4.0 BSD]] onto [[SIMH]]'s [[VAX 11/780]] emulator.  I can't get the standalone programs to run on SIMH, so instead I'm using the 4.0 standalone to bootstrap 4.1.  So the ini files, and initial disk prep is the same.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* You will need a working copy of SIMH's vax780.exe for your platform.&lt;br /&gt;
* A modified 4.1 BSD install tape.  You can download one from [http://sourceforge.net/projects/bsd42/files/Install%20tapes/4.1%20BSD/4.1_BSD_19810710-modified.7z/download sourceforge]&lt;br /&gt;
* The 4.0 standalone boot program, avilable on [http://sourceforge.net/projects/bsd42/files/Install%20tapes/4.0%20BSD/boot/download sourceforge]&lt;br /&gt;
* A copy of [[7zip]] to decompress the tape image&lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
The first step is to decompress the tape image with 7zip.  This should be very straightforward:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
7zip x 4.1_BSD_19810710-modified.7z&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to create two ini files, one for the tape boot, and the other for the disk boot.&lt;br /&gt;
&lt;br /&gt;
=== tboot.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set tto 7b&lt;br /&gt;
set rq dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set hk dis&lt;br /&gt;
set rq dis&lt;br /&gt;
set rqb dis&lt;br /&gt;
set rqc dis&lt;br /&gt;
set rqd dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set dz lines=8&lt;br /&gt;
set rp0 rp06&lt;br /&gt;
at rp0 rp06.disk&lt;br /&gt;
set tu0 te16&lt;br /&gt;
at tu0 4.1_BSD_19810710-modified.tap&lt;br /&gt;
D 50000 20009FDE&lt;br /&gt;
D 50004 D0512001&lt;br /&gt;
D 50008 3204A101&lt;br /&gt;
D 5000C C113C08F&lt;br /&gt;
D 50010 A1D40424&lt;br /&gt;
D 50014 008FD00C&lt;br /&gt;
D 50018 C1800000&lt;br /&gt;
D 5001C 8F320800&lt;br /&gt;
D 50020 10A1FE00&lt;br /&gt;
D 50024 00C139D0&lt;br /&gt;
D 50028 04c1d004&lt;br /&gt;
D 5002C 07e15004&lt;br /&gt;
D 50030 0000f750&lt;br /&gt;
run 50000&lt;br /&gt;
run 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== dboot.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set tto 7b&lt;br /&gt;
set rq dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set hk dis&lt;br /&gt;
set rq dis&lt;br /&gt;
set rqb dis&lt;br /&gt;
set rqc dis&lt;br /&gt;
set rqd dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set dz lines=8&lt;br /&gt;
set rp0 rp06&lt;br /&gt;
at rp0 rp06.disk&lt;br /&gt;
set tu0 te16&lt;br /&gt;
load -o boot 0&lt;br /&gt;
run 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will also need to extract the boot program.  You can download it from [http://sourceforge.net/projects/bsd42/files/Install%20tapes/4.0%20BSD/boot/download sourceforge], or [[uudecode]] the following [[4.0 BSD boot|boot]] program that is injected into SIMH's memory.&lt;br /&gt;
&lt;br /&gt;
== Booting from tape ==&lt;br /&gt;
Simply boot up from tape by invoking SIMH's VAX 11/780 with the tape boot ini as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C:\bsd40&amp;gt;vax780.exe tboot.ini&lt;br /&gt;
&lt;br /&gt;
VAX780 simulator V3.8-1&lt;br /&gt;
RP: creating new file&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 00050033 (HALT)&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will get you to the bootloader which we can then use to invoke the mkfs/restore commands.  There isn't any need to lowlevel format in the emulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=mkfs&lt;br /&gt;
file sys size: 7942&lt;br /&gt;
file system: hp(0,0)&lt;br /&gt;
isize = 5072&lt;br /&gt;
m/n = 3 500&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now to restore the root/boot partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=restor&lt;br /&gt;
Tape? ht(0,1)&lt;br /&gt;
Disk? hp(0,0)&lt;br /&gt;
Last chance before scribbling on disk.&lt;br /&gt;
End of tape&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hit enter when prompted &amp;quot;Last chance before scribbling on disk.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now we can invoke the boot program to load up the kernel so we can continue the install.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we can specify the disk &amp;amp; kernel, as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: hp(0,0)vmunix&lt;br /&gt;
123060+27528+24628 start 0xF5C&lt;br /&gt;
Berkeley VAX/UNIX Version 4.9  Wed Feb 17 15:27:46 PST 1982&lt;br /&gt;
real mem  = 8322048&lt;br /&gt;
avail mem = 7738368&lt;br /&gt;
mcr0 at tr1&lt;br /&gt;
mcr1 at tr2&lt;br /&gt;
uba0 at tr3&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
mba0 at tr8&lt;br /&gt;
hp0 at mba0 drive 0&lt;br /&gt;
hp1 at mba0 drive 1&lt;br /&gt;
hp2 at mba0 drive 2&lt;br /&gt;
hp3 at mba0 drive 3&lt;br /&gt;
mba1 at tr9&lt;br /&gt;
ht0 at mba1 drive 0&lt;br /&gt;
tu0 at ht0 slave 0&lt;br /&gt;
tu1 at ht0 slave 1&lt;br /&gt;
root device?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we will be prompted for the root device, in this case it's hp0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root device? hp0&lt;br /&gt;
WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!&lt;br /&gt;
WARNING: should run interleaved swap with &amp;gt;= 2Mb&lt;br /&gt;
erase ^?, kill ^U, intr ^C&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended that you run fsck to ensure that the 'a' partition is in good health. Run fsck as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# fsck /dev/rhp0a&lt;br /&gt;
&lt;br /&gt;
/dev/rhp0a&lt;br /&gt;
File System:&lt;br /&gt;
&lt;br /&gt;
** Checking /dev/rhp0a&lt;br /&gt;
** Phase 1 - Check Blocks and Sizes&lt;br /&gt;
** Phase 2 - Check Pathnames&lt;br /&gt;
** Phase 3 - Check Connectivity&lt;br /&gt;
** Phase 4 - Check Reference Counts&lt;br /&gt;
** Phase 5 - Check Free List&lt;br /&gt;
663 files 4277 blocks 3346 free&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we format the 'g' partition which we will then mount under /usr and restore from tape.  Take note that we specify the size as that isn't detected, and that mkfs lives in /etc!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mkfs /dev/hp0g 145673&lt;br /&gt;
isize = 65488&lt;br /&gt;
m/n = 3 500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we link the tape device to rmt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /dev&lt;br /&gt;
MAKE ht0&lt;br /&gt;
cd /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we mount the partition, advance the tape, and restore.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/mount /dev/hp0g /usr&lt;br /&gt;
# cd /usr&lt;br /&gt;
# mt rew&lt;br /&gt;
# mt fsf 2&lt;br /&gt;
# tar xpb 20&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will take about a minute to complete.&lt;br /&gt;
&lt;br /&gt;
Next we'll install a bootblock.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/usr/mdec/uboot of=/dev/rhp0a bs=1b count=1&lt;br /&gt;
1+0 records in&lt;br /&gt;
1+0 records out&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No create the fstab by copying the example rp file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp /etc/fstab.rp06 /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can test that its working with a 'df'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# df&lt;br /&gt;
Filesystem  Mounted on  kbytes    used    free  % used&lt;br /&gt;
/dev/hp0a   /             7623    4278    3345     56%&lt;br /&gt;
/dev/hp0g   /usr        141578    9198  132380      6%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then we fix some mount permissions, and shutdown the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /&lt;br /&gt;
# chmod 755 / /usr&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# ^E&lt;br /&gt;
Simulation stopped, PC: 80000963 (MTPR #0,#12)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\bsd40&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The operating system is now installed.&lt;br /&gt;
&lt;br /&gt;
== Booting from disk ==&lt;br /&gt;
This part relies on you having extracted the 4.0 BSD boot program, as there is no console floppy in SIMH.  Or I haven't figured out how to create one, so it is injected into memory and executed.  Load the simulator as follows and it'll boot up to the login prompt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\bsd40&amp;gt;vax780.exe dboot.ini&lt;br /&gt;
&lt;br /&gt;
VAX780 simulator V3.8-1&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: hp(0,0)vmunix&lt;br /&gt;
123060+27528+24628 start 0xF5C&lt;br /&gt;
Berkeley VAX/UNIX Version 4.9  Wed Feb 17 15:27:46 PST 1982&lt;br /&gt;
real mem  = 8322048&lt;br /&gt;
avail mem = 7738368&lt;br /&gt;
mcr0 at tr1&lt;br /&gt;
mcr1 at tr2&lt;br /&gt;
uba0 at tr3&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
mba0 at tr8&lt;br /&gt;
hp0 at mba0 drive 0&lt;br /&gt;
hp1 at mba0 drive 1&lt;br /&gt;
hp2 at mba0 drive 2&lt;br /&gt;
hp3 at mba0 drive 3&lt;br /&gt;
mba1 at tr9&lt;br /&gt;
ht0 at mba1 drive 0&lt;br /&gt;
tu0 at ht0 slave 0&lt;br /&gt;
tu1 at ht0 slave 1&lt;br /&gt;
root on hp0&lt;br /&gt;
WARNING: clock lost 152 days -- CHECK AND RESET THE DATE!&lt;br /&gt;
WARNING: should run interleaved swap with &amp;gt;= 2Mb&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Mon Feb  2 13:31:59 GMT 1976&lt;br /&gt;
/dev/hp0a: 676 files 4278 blocks 3345 free&lt;br /&gt;
/dev/rhp0g: 1333 files 9198 blocks 132380 free&lt;br /&gt;
Mon Feb  2 13:31:59 GMT 1976&lt;br /&gt;
Mounted /usr on /dev/hp0g&lt;br /&gt;
preserving editor files&lt;br /&gt;
clearing /tmp&lt;br /&gt;
starting daemons: update        Mon Feb  2 13:31:59 GMT 1976&lt;br /&gt;
&lt;br /&gt;
 cron accounting network mail printer.&lt;br /&gt;
Mon Feb  2 13:31:59 GMT 1976&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Berkeley 4.1 VAX/UNIX (Amnesia-Vax)&lt;br /&gt;
&lt;br /&gt;
login:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can follow the `Taking the system up and down' Section of [[4.1 BSD setup|setup]] document.&lt;br /&gt;
&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;/div&gt;</summary>
		<author><name>Neozeed</name></author>	</entry>

	</feed>