<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dugo</id>
		<title>Computer History Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dugo"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/wiki/Special:Contributions/Dugo"/>
		<updated>2026-05-22T01:53:12Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22450</id>
		<title>Installing 4.3 BSD Quasijarus on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22450"/>
				<updated>2020-06-27T21:23:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: reinstate the hint aboute the TYPE command on windows boxen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that I have used to install [[4.3 BSD]] onto [[SIMH]]'s [[MicroVAX II]] emulator.  Please note that this is the Quasijarus release of 4.3 BSD.&lt;br /&gt;
&lt;br /&gt;
== Obtaining an install tape ==&lt;br /&gt;
&lt;br /&gt;
You have two choices now, either you can create your own, or you can download a pre-made tape on [https://sourceforge.net/project/showfiles.php?group_id=204974&amp;amp;package_id=309407&amp;amp;release_id=659789 sourceforge].  If you want to build your own tape image, then follow the next section.&lt;br /&gt;
&lt;br /&gt;
== Building your own tape image ==&lt;br /&gt;
&lt;br /&gt;
I will describe what is needed, and how to create your own Quasijarus tape image, that is suitable for installing with SIMH.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
You will need the following materials to put together a 4.3 BSD Quasijarus installation:&lt;br /&gt;
&lt;br /&gt;
*A working perl interpeter to make the tape images.&amp;lt;br&amp;gt;&lt;br /&gt;
*A copy of gzip.&amp;lt;br&amp;gt;&lt;br /&gt;
*A working C compiler.&amp;lt;br&amp;gt;&lt;br /&gt;
*A compiled binary of vax from [[SIMH]], along with the ka655x.bin again from [[SIMH]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need the following files from any 4 BSD archive from the Quasijarus0c directory.  I have used the files from [https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/ Sourceforge].  You you will have to use a web browser to download them, to deal with the sourceforge download system.  But that's the price of free hosting.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/stand.Z/download stand.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/miniroot.Z/download miniroot.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/rootdump.Z/download rootdump.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/usr.tar.Z/download usr.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/srcsys.tar.Z/download srcsys.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/src.tar.Z/download src.tar.Z]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gzcompat ===&lt;br /&gt;
&lt;br /&gt;
Next it's easier on a host machine to convert the downloaded Quasijarus files into gzip, then uncompress them using gzip.  For this you will need the [[gzcompat]] program.  The sourcecode and a patch for windows compatibility on the link, as it's getting hard to find. Simply compile gzcompat.c. It should be straightforward. The original location for gzcompat is [[http://ifctfvax.superglobalmegacorp.com/releases/UNIX/components/compress.tar here]] and a known good copy is [[http://www.tuhs.org/Archive/4BSD/Distributions/components/compress.tar here]].&lt;br /&gt;
&lt;br /&gt;
On most instances with gcc simply run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gcc gzcompat.c -o gzcompat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And that should be it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing for installation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the files downloaded you will need to uncompress them all and then create the tape file.  With the different compression this will be somewhat involved.&lt;br /&gt;
&lt;br /&gt;
The following command will decompress the tape files, on a UNIX install.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat miniroot.Z | gzcompat | gzip -dc &amp;gt; miniroot&lt;br /&gt;
cat rootdump.Z | gzcompat | gzip -dc &amp;gt; rootdump&lt;br /&gt;
cat src.tar.Z | gzcompat | gzip -dc &amp;gt; src.tar&lt;br /&gt;
cat srcsys.tar.Z | gzcompat | gzip -dc &amp;gt; srcsys.tar&lt;br /&gt;
cat stand.Z | gzcompat | gzip -dc &amp;gt; stand&lt;br /&gt;
cat usr.tar.Z | gzcompat | gzip -dc &amp;gt; usr.tar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tape needs to be created with the [[mkdisttap.pl]] program. Simply run the program and redirect it into a file called quas.tap. You may need to make a few small edits and use TYPE instead of cat when running on Windows. Hints in the link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ./mkdisttap.pl  &amp;gt; quas.tap&lt;br /&gt;
% ls -l quas.tap&lt;br /&gt;
-rw-r--r--  1 Neozeed  None_ploc  84450876 Feb  6 17:10 quas.tap&lt;br /&gt;
%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An empty RA82 can be created with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% dd if=/dev/zero of=quas.dsk bs=512 count=1216665&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have our tape and disk, so we are ready to proceed with the install.  For those wondering, unlike the 11/780 emulator, the MicrovaxII can run it's microcode in a logical fashion and we are able to boot from tape in this release.&lt;br /&gt;
&lt;br /&gt;
==  Boot 1. ==&lt;br /&gt;
&lt;br /&gt;
I disable as many of the devices as possible to get a 'clean' install.  So this is the install.ini that I'm going to use.&lt;br /&gt;
&lt;br /&gt;
=== install.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
You then simply run the emulator and pass it the config file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe install.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
RQ: creating new file&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;boot mua0:&lt;br /&gt;
(BOOT/R5:0 MUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-MUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the BIOS has done it's POST, it will prompt what device to boot off of at the &amp;gt;&amp;gt;&amp;gt; prompt.  The first tape device is mua0:.  Once the tape has done the first boot you'll be greeted with the = prompt.  From here we are going to load the copy program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copy&lt;br /&gt;
tms(0,1)&lt;br /&gt;
ra(0,1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will copy the second file onto tape, onto the second file position on our hard disk.  The output should be the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=copy&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
From: tms(0,1)&lt;br /&gt;
To: ra(0,1)&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
Copy completed: 308 records copied&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we run the boot program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot&lt;br /&gt;
ra(0,1)vmunix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting output should be the following.  The kernel will then prompt for the root partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=boot&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: ra(0,1)vmunix&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: no disk label: ra81, size = 891072 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
root device?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will answer with the first ra disk, in a special format, because we have not put a disklabel onto the disk yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ra0*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the disk has been mounted we will be dumped to the root prompt.  The next step will be creating the default disk label.&lt;br /&gt;
&lt;br /&gt;
=== Creating the disk label ===&lt;br /&gt;
&lt;br /&gt;
Using the disklabel command we will setup the slices automatically (it's done from a file disktab) then install the boot programs.  This way we can boot from disk.&lt;br /&gt;
&lt;br /&gt;
Simply type in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disklabel -rw ra0 ra82 “Quasijarus” /usr/mdec/rdboot /usr/mdec/bootra&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the disk will now be labled, and bootable from the firmware.&lt;br /&gt;
&lt;br /&gt;
=== Restoring the rootdump ===&lt;br /&gt;
&lt;br /&gt;
From here we are now running from the miniroot.  The next step is to run the xtr program to restore the root, and then shutdown the emulator.  Enter in the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the following will happen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
Build root file system&lt;br /&gt;
Warning: 361 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0a:     15884 sectors in 19 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        8.1MB in 2 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776,&lt;br /&gt;
Check the file system&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on&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 Cyl groups&lt;br /&gt;
1 files, 1 used, 7092 free (20 frags, 884 blocks, 0.3% fragmentation)&lt;br /&gt;
Rewind tape&lt;br /&gt;
Restore the dump image of the root&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on /a&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 Cyl groups&lt;br /&gt;
426 files, 5195 used, 1898 free (18 frags, 235 blocks, 0.3% fragmentation)&lt;br /&gt;
Root filesystem extracted&lt;br /&gt;
&lt;br /&gt;
If this is an 8650 or 8600, update the console rl02&lt;br /&gt;
If this is a 780 or 785, update the floppy&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this stage, I just sync the disk a few times, then halt the emulator (CONTROL+E) and exit out.  Now we are ready for stage two.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
&lt;br /&gt;
Simulation stopped, PC: 800029AF (BNEQ 800029C6)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Boot 2. ==&lt;br /&gt;
&lt;br /&gt;
Now that the install disk is prepared, we need to use a different config file to reflect the emulator being able to autoboot to the disk.  The new configuration is as follows:&lt;br /&gt;
&lt;br /&gt;
=== boot.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
att nvr nvram.dat&lt;br /&gt;
dep bdr 1&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
Now boot up the emulator with the boot.ini  The first time we boot up in this configuration the emulator will prompt for what device will be the default device.  If you typo this, you will have to delete the nvram.dat file, and try again.  The default device will be dua0: which is the primary rq disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: creating new file&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
No default boot device has been specified.&lt;br /&gt;
&lt;br /&gt;
Available devices.&lt;br /&gt;
-DUA0 (RA 82)&lt;br /&gt;
-MUA0 (TK 50)&lt;br /&gt;
-MUA1 (TK 50)&lt;br /&gt;
-MUA2 (TK 50)&lt;br /&gt;
-MUA3 (TK 50)&lt;br /&gt;
&lt;br /&gt;
Device? [XQA0]: dua0:&lt;br /&gt;
&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:47:10 PST 2004&lt;br /&gt;
Can't open checklist file: /etc/fstab&lt;br /&gt;
Automatic reboot failed... help!&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;
=== Preparing the disk ===&lt;br /&gt;
&lt;br /&gt;
Now we have to prep the machine for both the tape, and the type of disk.  Type in the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
/dev/rra0g:     841320 sectors in 984 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        430.8MB in 62 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632, 301376, 315120, 328864, 342608, 356352,&lt;br /&gt;
 370096, 383840, 397584, 411328, 425072, 437792, 451536, 465280, 479024,&lt;br /&gt;
 492768, 506512, 520256, 534000, 547744, 561488, 575232, 588976, 602720,&lt;br /&gt;
 616464, 630208, 643952, 656672, 670416, 684160, 697904, 711648, 725392,&lt;br /&gt;
 739136, 752880, 766624, 780368, 794112, 807856, 821600, 835344,&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
Warning: 209 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0h:     291346 sectors in 341 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        149.2MB in 22 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632,&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the usr slice ===&lt;br /&gt;
&lt;br /&gt;
The disk's /usr slice will not have been formatted.  We can not go ahead and mount it, and restore the /usr files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr&lt;br /&gt;
# mt rew&lt;br /&gt;
# mt fsf 3&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# mkdir src&lt;br /&gt;
# cd src&lt;br /&gt;
# mkdir sys&lt;br /&gt;
# cd sys&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# cd ..&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuring the fstab ===&lt;br /&gt;
&lt;br /&gt;
Now we just need to create the fstab then we can reboot the emulator into multiuser mode.  Enter in the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /etc&lt;br /&gt;
# cat &amp;gt; fstab&lt;br /&gt;
/dev/ra0a:/:rw:1:1&lt;br /&gt;
/dev/ra0h:/home:rw:1:3&lt;br /&gt;
/dev/ra0g:/usr:rw:1:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you need to press CONTROL+d which will end the stream. Finally you can tell the emulator to reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reboot&lt;br /&gt;
syncing disks... done&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 8002F4F8 (BRB 8002F4F7)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
NVR: writing buffer to file &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== First Multiuser Boot ==&lt;br /&gt;
&lt;br /&gt;
Now we can just re-run the last command, and we should boot multiuser!  By default there is no root password.  Also the system will run fsck uppon boot, so depending on your host computer this could take a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:59:45 PST 2004&lt;br /&gt;
/dev/ra0a: 448 files, 5199 used, 1894 free (22 frags, 234 blocks, 0.3% fragmentation)&lt;br /&gt;
/dev/rra0g: 12312 files, 71682 used, 323169 free (417 frags, 40344 blocks, 0.1% fragmentation)&lt;br /&gt;
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)&lt;br /&gt;
Fri Feb  6 09:59:58 PST 2004&lt;br /&gt;
checking quotas: done.&lt;br /&gt;
starting system logger&lt;br /&gt;
&lt;br /&gt;
preserving editor files&lt;br /&gt;
clearing /tmp&lt;br /&gt;
standard daemons: update cron accounting.&lt;br /&gt;
starting network daemons: routedFeb  6 10:00:00 myname named[79]: /etc/named.boo&lt;br /&gt;
t: No such file or directory&lt;br /&gt;
 named inetd printer.&lt;br /&gt;
starting local daemons: sendmail.&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we can simply logon as root.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login: root&lt;br /&gt;
Feb  6 10:01:26 myname login: ROOT LOGIN console&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
&lt;br /&gt;
Welcome to UNIX!&lt;br /&gt;
&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;
From here you can explore the system.  All of the man pages are installed, and there is enough of a base system to get going.  Right now the networking is outside of the scope of this guide.&lt;br /&gt;
&lt;br /&gt;
=== Enabling remote users ===&lt;br /&gt;
&lt;br /&gt;
Shutdown the OS, and add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..).  This will allow for 8 users to connect on tcp port 8888.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set dz lines=8&lt;br /&gt;
att dz 8888&lt;br /&gt;
set dz 7b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would also recommend to windows users, either [[putty]], or [[syncterm]].  The default telnet client sucks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22449</id>
		<title>Installing 4.3 BSD Quasijarus on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22449"/>
				<updated>2020-06-27T18:24:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: add windows tips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that I have used to install [[4.3 BSD]] onto [[SIMH]]'s [[MicroVAX II]] emulator.  Please note that this is the Quasijarus release of 4.3 BSD.&lt;br /&gt;
&lt;br /&gt;
== Obtaining an install tape ==&lt;br /&gt;
&lt;br /&gt;
You have two choices now, either you can create your own, or you can download a pre-made tape on [https://sourceforge.net/project/showfiles.php?group_id=204974&amp;amp;package_id=309407&amp;amp;release_id=659789 sourceforge].  If you want to build your own tape image, then follow the next section.&lt;br /&gt;
&lt;br /&gt;
== Building your own tape image ==&lt;br /&gt;
&lt;br /&gt;
I will describe what is needed, and how to create your own Quasijarus tape image, that is suitable for installing with SIMH.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
You will need the following materials to put together a 4.3 BSD Quasijarus installation:&lt;br /&gt;
&lt;br /&gt;
*A working perl interpeter to make the tape images.&amp;lt;br&amp;gt;&lt;br /&gt;
*A copy of gzip.&amp;lt;br&amp;gt;&lt;br /&gt;
*A working C compiler.&amp;lt;br&amp;gt;&lt;br /&gt;
*A compiled binary of vax from [[SIMH]], along with the ka655x.bin again from [[SIMH]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need the following files from any 4 BSD archive from the Quasijarus0c directory.  I have used the files from [https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/ Sourceforge].  You you will have to use a web browser to download them, to deal with the sourceforge download system.  But that's the price of free hosting.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/stand.Z/download stand.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/miniroot.Z/download miniroot.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/rootdump.Z/download rootdump.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/usr.tar.Z/download usr.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/srcsys.tar.Z/download srcsys.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/src.tar.Z/download src.tar.Z]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gzcompat ===&lt;br /&gt;
&lt;br /&gt;
Next it's easier on a host machine to convert the downloaded Quasijarus files into gzip, then uncompress them using gzip.  For this you will need the [[gzcompat]] program.  The sourcecode and a patch for windows compatibility on the link, as it's getting hard to find. Simply compile gzcompat.c. It should be straightforward. The original location for gzcompat is [[http://ifctfvax.superglobalmegacorp.com/releases/UNIX/components/compress.tar here]] and a known good copy is [[http://www.tuhs.org/Archive/4BSD/Distributions/components/compress.tar here]].&lt;br /&gt;
&lt;br /&gt;
On most instances with gcc simply run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gcc gzcompat.c -o gzcompat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And that should be it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing for installation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the files downloaded you will need to uncompress them all and then create the tape file.  With the different compression this will be somewhat involved.&lt;br /&gt;
&lt;br /&gt;
The following command will decompress the tape files, on a UNIX install.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat miniroot.Z | gzcompat | gzip -dc &amp;gt; miniroot&lt;br /&gt;
cat rootdump.Z | gzcompat | gzip -dc &amp;gt; rootdump&lt;br /&gt;
cat src.tar.Z | gzcompat | gzip -dc &amp;gt; src.tar&lt;br /&gt;
cat srcsys.tar.Z | gzcompat | gzip -dc &amp;gt; srcsys.tar&lt;br /&gt;
cat stand.Z | gzcompat | gzip -dc &amp;gt; stand&lt;br /&gt;
cat usr.tar.Z | gzcompat | gzip -dc &amp;gt; usr.tar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tape needs to be created with the [[mkdisttap.pl]] program. Simply run the program and redirect it into a file called quas.tap. You may need to make small edit when running on Windows. Instructions in the link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ./mkdisttap.pl  &amp;gt; quas.tap&lt;br /&gt;
% ls -l quas.tap&lt;br /&gt;
-rw-r--r--  1 Neozeed  None_ploc  84450876 Feb  6 17:10 quas.tap&lt;br /&gt;
%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An empty RA82 can be created with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% dd if=/dev/zero of=quas.dsk bs=512 count=1216665&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have our tape and disk, so we are ready to proceed with the install.  For those wondering, unlike the 11/780 emulator, the MicrovaxII can run it's microcode in a logical fashion and we are able to boot from tape in this release.&lt;br /&gt;
&lt;br /&gt;
==  Boot 1. ==&lt;br /&gt;
&lt;br /&gt;
I disable as many of the devices as possible to get a 'clean' install.  So this is the install.ini that I'm going to use.&lt;br /&gt;
&lt;br /&gt;
=== install.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
You then simply run the emulator and pass it the config file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe install.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
RQ: creating new file&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;boot mua0:&lt;br /&gt;
(BOOT/R5:0 MUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-MUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the BIOS has done it's POST, it will prompt what device to boot off of at the &amp;gt;&amp;gt;&amp;gt; prompt.  The first tape device is mua0:.  Once the tape has done the first boot you'll be greeted with the = prompt.  From here we are going to load the copy program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copy&lt;br /&gt;
tms(0,1)&lt;br /&gt;
ra(0,1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will copy the second file onto tape, onto the second file position on our hard disk.  The output should be the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=copy&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
From: tms(0,1)&lt;br /&gt;
To: ra(0,1)&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
Copy completed: 308 records copied&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we run the boot program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot&lt;br /&gt;
ra(0,1)vmunix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting output should be the following.  The kernel will then prompt for the root partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=boot&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: ra(0,1)vmunix&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: no disk label: ra81, size = 891072 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
root device?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will answer with the first ra disk, in a special format, because we have not put a disklabel onto the disk yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ra0*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the disk has been mounted we will be dumped to the root prompt.  The next step will be creating the default disk label.&lt;br /&gt;
&lt;br /&gt;
=== Creating the disk label ===&lt;br /&gt;
&lt;br /&gt;
Using the disklabel command we will setup the slices automatically (it's done from a file disktab) then install the boot programs.  This way we can boot from disk.&lt;br /&gt;
&lt;br /&gt;
Simply type in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disklabel -rw ra0 ra82 “Quasijarus” /usr/mdec/rdboot /usr/mdec/bootra&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the disk will now be labled, and bootable from the firmware.&lt;br /&gt;
&lt;br /&gt;
=== Restoring the rootdump ===&lt;br /&gt;
&lt;br /&gt;
From here we are now running from the miniroot.  The next step is to run the xtr program to restore the root, and then shutdown the emulator.  Enter in the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the following will happen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
Build root file system&lt;br /&gt;
Warning: 361 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0a:     15884 sectors in 19 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        8.1MB in 2 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776,&lt;br /&gt;
Check the file system&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on&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 Cyl groups&lt;br /&gt;
1 files, 1 used, 7092 free (20 frags, 884 blocks, 0.3% fragmentation)&lt;br /&gt;
Rewind tape&lt;br /&gt;
Restore the dump image of the root&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on /a&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 Cyl groups&lt;br /&gt;
426 files, 5195 used, 1898 free (18 frags, 235 blocks, 0.3% fragmentation)&lt;br /&gt;
Root filesystem extracted&lt;br /&gt;
&lt;br /&gt;
If this is an 8650 or 8600, update the console rl02&lt;br /&gt;
If this is a 780 or 785, update the floppy&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this stage, I just sync the disk a few times, then halt the emulator (CONTROL+E) and exit out.  Now we are ready for stage two.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
&lt;br /&gt;
Simulation stopped, PC: 800029AF (BNEQ 800029C6)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Boot 2. ==&lt;br /&gt;
&lt;br /&gt;
Now that the install disk is prepared, we need to use a different config file to reflect the emulator being able to autoboot to the disk.  The new configuration is as follows:&lt;br /&gt;
&lt;br /&gt;
=== boot.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
att nvr nvram.dat&lt;br /&gt;
dep bdr 1&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
Now boot up the emulator with the boot.ini  The first time we boot up in this configuration the emulator will prompt for what device will be the default device.  If you typo this, you will have to delete the nvram.dat file, and try again.  The default device will be dua0: which is the primary rq disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: creating new file&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
No default boot device has been specified.&lt;br /&gt;
&lt;br /&gt;
Available devices.&lt;br /&gt;
-DUA0 (RA 82)&lt;br /&gt;
-MUA0 (TK 50)&lt;br /&gt;
-MUA1 (TK 50)&lt;br /&gt;
-MUA2 (TK 50)&lt;br /&gt;
-MUA3 (TK 50)&lt;br /&gt;
&lt;br /&gt;
Device? [XQA0]: dua0:&lt;br /&gt;
&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:47:10 PST 2004&lt;br /&gt;
Can't open checklist file: /etc/fstab&lt;br /&gt;
Automatic reboot failed... help!&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;
=== Preparing the disk ===&lt;br /&gt;
&lt;br /&gt;
Now we have to prep the machine for both the tape, and the type of disk.  Type in the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
/dev/rra0g:     841320 sectors in 984 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        430.8MB in 62 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632, 301376, 315120, 328864, 342608, 356352,&lt;br /&gt;
 370096, 383840, 397584, 411328, 425072, 437792, 451536, 465280, 479024,&lt;br /&gt;
 492768, 506512, 520256, 534000, 547744, 561488, 575232, 588976, 602720,&lt;br /&gt;
 616464, 630208, 643952, 656672, 670416, 684160, 697904, 711648, 725392,&lt;br /&gt;
 739136, 752880, 766624, 780368, 794112, 807856, 821600, 835344,&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
Warning: 209 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0h:     291346 sectors in 341 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        149.2MB in 22 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632,&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the usr slice ===&lt;br /&gt;
&lt;br /&gt;
The disk's /usr slice will not have been formatted.  We can not go ahead and mount it, and restore the /usr files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr&lt;br /&gt;
# mt rew&lt;br /&gt;
# mt fsf 3&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# mkdir src&lt;br /&gt;
# cd src&lt;br /&gt;
# mkdir sys&lt;br /&gt;
# cd sys&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# cd ..&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuring the fstab ===&lt;br /&gt;
&lt;br /&gt;
Now we just need to create the fstab then we can reboot the emulator into multiuser mode.  Enter in the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /etc&lt;br /&gt;
# cat &amp;gt; fstab&lt;br /&gt;
/dev/ra0a:/:rw:1:1&lt;br /&gt;
/dev/ra0h:/home:rw:1:3&lt;br /&gt;
/dev/ra0g:/usr:rw:1:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you need to press CONTROL+d which will end the stream. Finally you can tell the emulator to reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reboot&lt;br /&gt;
syncing disks... done&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 8002F4F8 (BRB 8002F4F7)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
NVR: writing buffer to file &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== First Multiuser Boot ==&lt;br /&gt;
&lt;br /&gt;
Now we can just re-run the last command, and we should boot multiuser!  By default there is no root password.  Also the system will run fsck uppon boot, so depending on your host computer this could take a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:59:45 PST 2004&lt;br /&gt;
/dev/ra0a: 448 files, 5199 used, 1894 free (22 frags, 234 blocks, 0.3% fragmentation)&lt;br /&gt;
/dev/rra0g: 12312 files, 71682 used, 323169 free (417 frags, 40344 blocks, 0.1% fragmentation)&lt;br /&gt;
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)&lt;br /&gt;
Fri Feb  6 09:59:58 PST 2004&lt;br /&gt;
checking quotas: done.&lt;br /&gt;
starting system logger&lt;br /&gt;
&lt;br /&gt;
preserving editor files&lt;br /&gt;
clearing /tmp&lt;br /&gt;
standard daemons: update cron accounting.&lt;br /&gt;
starting network daemons: routedFeb  6 10:00:00 myname named[79]: /etc/named.boo&lt;br /&gt;
t: No such file or directory&lt;br /&gt;
 named inetd printer.&lt;br /&gt;
starting local daemons: sendmail.&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we can simply logon as root.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login: root&lt;br /&gt;
Feb  6 10:01:26 myname login: ROOT LOGIN console&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
&lt;br /&gt;
Welcome to UNIX!&lt;br /&gt;
&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;
From here you can explore the system.  All of the man pages are installed, and there is enough of a base system to get going.  Right now the networking is outside of the scope of this guide.&lt;br /&gt;
&lt;br /&gt;
=== Enabling remote users ===&lt;br /&gt;
&lt;br /&gt;
Shutdown the OS, and add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..).  This will allow for 8 users to connect on tcp port 8888.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set dz lines=8&lt;br /&gt;
att dz 8888&lt;br /&gt;
set dz 7b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would also recommend to windows users, either [[putty]], or [[syncterm]].  The default telnet client sucks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Mkdisttap.pl&amp;diff=22448</id>
		<title>Mkdisttap.pl</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Mkdisttap.pl&amp;diff=22448"/>
				<updated>2020-06-27T18:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: add tip for running this on windows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a simple perl script to create a tape suitable for SIMH to use.  Importantly, it places end of file markers so you can have multiple files on a 'tape' image, much like how a real tape operates.&lt;br /&gt;
&lt;br /&gt;
== Quasijarus 0c &amp;amp; 4.3 BSD UWisc ==&lt;br /&gt;
&lt;br /&gt;
The following is the script formatted for [[4.3 BSD]] Quasijarus 0c, however it can easily be adapted for the other BSD's.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/local/bin/perl -w&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# Based on mkdisttap.pl&lt;br /&gt;
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Based on the example in the HOWTO using dd.  Does not work!&lt;br /&gt;
# add_file(&amp;quot;cat mtboot mtboot boot |&amp;quot;, 512);&lt;br /&gt;
&lt;br /&gt;
# Based on the maketape.c program and the maketape.data data file.&lt;br /&gt;
add_file(&amp;quot;stand&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;miniroot&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;rootdump&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;usr.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;srcsys.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;src.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
end_file();&lt;br /&gt;
&lt;br /&gt;
sub end_file {&lt;br /&gt;
  print &amp;quot;\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub add_file {&lt;br /&gt;
  my($filename, $blocksize) = @_;&lt;br /&gt;
  my($block, $bytes_read, $length);&lt;br /&gt;
&lt;br /&gt;
  open(FILE, $filename) || die(&amp;quot;Can't open $filename: $!&amp;quot;);&lt;br /&gt;
  while($bytes_read = read(FILE, $block, $blocksize)) {&lt;br /&gt;
    if($bytes_read &amp;lt; $blocksize) {&lt;br /&gt;
      $block .= &amp;quot;\x00&amp;quot; x ($blocksize - $bytes_read);&lt;br /&gt;
      $bytes_read = $blocksize;&lt;br /&gt;
    }&lt;br /&gt;
    $length = pack(&amp;quot;V&amp;quot;, $bytes_read);&lt;br /&gt;
    print $length, $block, $length;&lt;br /&gt;
  }&lt;br /&gt;
  close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4.2 &amp;amp; 4.3 BSD ==&lt;br /&gt;
&lt;br /&gt;
This is the format of the script to generate 42.tap for [[4.2 BSD]], and the 43.tap for [[4.3 BSD]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/local/bin/perl -w&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# Based on mkdisttap.pl&lt;br /&gt;
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Based on the example in the HOWTO using dd.  Does not work!&lt;br /&gt;
# add_file(&amp;quot;cat mtboot mtboot boot |&amp;quot;, 512);&lt;br /&gt;
&lt;br /&gt;
# Based on the maketape.c program and the maketape.data data file.&lt;br /&gt;
add_file(&amp;quot;stand&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;miniroot&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;rootdump&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;srcsys.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;usr.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;vfont.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;src.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;new.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;ingres.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
end_file();&lt;br /&gt;
&lt;br /&gt;
sub end_file {&lt;br /&gt;
  print &amp;quot;\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub add_file {&lt;br /&gt;
  my($filename, $blocksize) = @_;&lt;br /&gt;
  my($block, $bytes_read, $length);&lt;br /&gt;
&lt;br /&gt;
  open(FILE, $filename) || die(&amp;quot;Can't open $filename: $!&amp;quot;);&lt;br /&gt;
  while($bytes_read = read(FILE, $block, $blocksize)) {&lt;br /&gt;
    if($bytes_read &amp;lt; $blocksize) {&lt;br /&gt;
      $block .= &amp;quot;\x00&amp;quot; x ($blocksize - $bytes_read);&lt;br /&gt;
      $bytes_read = $blocksize;&lt;br /&gt;
    }&lt;br /&gt;
    $length = pack(&amp;quot;V&amp;quot;, $bytes_read);&lt;br /&gt;
    print $length, $block, $length;&lt;br /&gt;
  }&lt;br /&gt;
  close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4.3 RENO ==&lt;br /&gt;
&lt;br /&gt;
This is the config file for RENO:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/local/bin/perl -w&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# Based on mkdisttap.pl&lt;br /&gt;
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Based on the example in the HOWTO using dd.  Does not work!&lt;br /&gt;
# add_file(&amp;quot;cat mtboot mtboot boot |&amp;quot;, 512);&lt;br /&gt;
&lt;br /&gt;
# Based on the maketape.c program and the maketape.data data file.&lt;br /&gt;
add_file(&amp;quot;stand&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;miniroot&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;rootdump&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;usr.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;src.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;srcsys.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;contrib.tar&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
end_file();&lt;br /&gt;
&lt;br /&gt;
sub end_file {&lt;br /&gt;
  print &amp;quot;\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub add_file {&lt;br /&gt;
  my($filename, $blocksize) = @_;&lt;br /&gt;
  my($block, $bytes_read, $length);&lt;br /&gt;
&lt;br /&gt;
  open(FILE, $filename) || die(&amp;quot;Can't open $filename: $!&amp;quot;);&lt;br /&gt;
  while($bytes_read = read(FILE, $block, $blocksize)) {&lt;br /&gt;
    if($bytes_read &amp;lt; $blocksize) {&lt;br /&gt;
      $block .= &amp;quot;\x00&amp;quot; x ($blocksize - $bytes_read);&lt;br /&gt;
      $bytes_read = $blocksize;&lt;br /&gt;
    }&lt;br /&gt;
    $length = pack(&amp;quot;V&amp;quot;, $bytes_read);&lt;br /&gt;
    print $length, $block, $length;&lt;br /&gt;
  }&lt;br /&gt;
  close(FILE);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ultrix 4.0 ==&lt;br /&gt;
&lt;br /&gt;
The following is the script formatted for [[Ultrix]] 4.0.  I would imagine it could be used for other Ultrix releases..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/local/bin/perl -w&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# Based on mkdisttap.pl&lt;br /&gt;
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Based on the example in the HOWTO using dd.  Does not work!&lt;br /&gt;
# add_file(&amp;quot;cat mtboot mtboot boot |&amp;quot;, 512);&lt;br /&gt;
&lt;br /&gt;
# Based on the maketape.c program and the maketape.data data file.&lt;br /&gt;
add_file(&amp;quot;file.01&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.02&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.03&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.04&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.05&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.06&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.07&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.08&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.09&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.10&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.11&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.12&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.13&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.14&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.15&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.16&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.17&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.18&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.19&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.20&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.21&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.22&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.23&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.24&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.25&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.26&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.27&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.28&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.29&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.30&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.31&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.32&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.33&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.34&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.35&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.36&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.37&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;file.38&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
end_file();&lt;br /&gt;
&lt;br /&gt;
sub end_file {&lt;br /&gt;
  print &amp;quot;\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub add_file {&lt;br /&gt;
  my($filename, $blocksize) = @_;&lt;br /&gt;
  my($block, $bytes_read, $length);&lt;br /&gt;
&lt;br /&gt;
  open(FILE, $filename) || die(&amp;quot;Can't open $filename: $!&amp;quot;);&lt;br /&gt;
  while($bytes_read = read(FILE, $block, $blocksize)) {&lt;br /&gt;
    if($bytes_read &amp;lt; $blocksize) {&lt;br /&gt;
      $block .= &amp;quot;\x00&amp;quot; x ($blocksize - $bytes_read);&lt;br /&gt;
      $bytes_read = $blocksize;&lt;br /&gt;
    }&lt;br /&gt;
    $length = pack(&amp;quot;V&amp;quot;, $bytes_read);&lt;br /&gt;
    print $length, $block, $length;&lt;br /&gt;
  }&lt;br /&gt;
  close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Research Unix v7 ==&lt;br /&gt;
&lt;br /&gt;
The following is the script formatted for [[Seventh Edition Unix]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/local/bin/perl -w&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# Based on mkdisttap.pl&lt;br /&gt;
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Based on the example in the HOWTO using dd.  Does not work!&lt;br /&gt;
# add_file(&amp;quot;cat mtboot mtboot boot |&amp;quot;, 512);&lt;br /&gt;
&lt;br /&gt;
# Based on the maketape.c program and the maketape.data data file.&lt;br /&gt;
add_file(&amp;quot;f0&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f1&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f2&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f3&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f4&amp;quot;, 512);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f5&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
add_file(&amp;quot;f6&amp;quot;, 10240);&lt;br /&gt;
end_file();&lt;br /&gt;
end_file();&lt;br /&gt;
&lt;br /&gt;
sub end_file {&lt;br /&gt;
  print &amp;quot;\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub add_file {&lt;br /&gt;
  my($filename, $blocksize) = @_;&lt;br /&gt;
  my($block, $bytes_read, $length);&lt;br /&gt;
&lt;br /&gt;
  open(FILE, $filename) || die(&amp;quot;Can't open $filename: $!&amp;quot;);&lt;br /&gt;
  while($bytes_read = read(FILE, $block, $blocksize)) {&lt;br /&gt;
    if($bytes_read &amp;lt; $blocksize) {&lt;br /&gt;
      $block .= &amp;quot;\x00&amp;quot; x ($blocksize - $bytes_read);&lt;br /&gt;
      $bytes_read = $blocksize;&lt;br /&gt;
    }&lt;br /&gt;
    $length = pack(&amp;quot;V&amp;quot;, $bytes_read);&lt;br /&gt;
    print $length, $block, $length;&lt;br /&gt;
  }&lt;br /&gt;
  close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running mkdisttap.pl on Windows ==&lt;br /&gt;
&lt;br /&gt;
To avoid issues with the different line/file endings on Windows add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
binmode STDOUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..after the `use strict;' line and&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
binmode FILE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
after the `open(FILE, $filename)....' line&lt;br /&gt;
&lt;br /&gt;
[[Category: Emulators]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Gzcompat&amp;diff=22447</id>
		<title>Gzcompat</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Gzcompat&amp;diff=22447"/>
				<updated>2020-06-27T18:09:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: Add patch for windows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gzcompat is a utility to convert from Sokolov compression into gzip.  The primary use is to convert the Quasijarus install files into gzip, so that they can easily be decompressed.  This is for the [[4.3 BSD]] Quasijarus Operating System.&lt;br /&gt;
&lt;br /&gt;
== source code ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef lint&lt;br /&gt;
static char sccsid[] = &amp;quot;@(#)gzcompat.c	5.2 (Berkeley) 12/21/00&amp;quot;;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/* gzcompat converts between compress -s and gzip formats. */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char magic_strong[2] = {037, 0241};&lt;br /&gt;
char magic_gzip[2]   = {037, 0213};&lt;br /&gt;
&lt;br /&gt;
struct gzheader {&lt;br /&gt;
	unsigned char cm;&lt;br /&gt;
	unsigned char flg;&lt;br /&gt;
	unsigned char mtime[4];&lt;br /&gt;
	unsigned char xfl;&lt;br /&gt;
	unsigned char os;&lt;br /&gt;
} gzheader;&lt;br /&gt;
&lt;br /&gt;
#define CM_DEFLATE 0x08&lt;br /&gt;
&lt;br /&gt;
#define FTEXT    0x01&lt;br /&gt;
#define FHCRC    0x02&lt;br /&gt;
#define FEXTRA   0x04&lt;br /&gt;
#define FNAME    0x08&lt;br /&gt;
#define FCOMMENT 0x10&lt;br /&gt;
#define FRSVD    0xE0&lt;br /&gt;
&lt;br /&gt;
#define OS_UNIX 0x03&lt;br /&gt;
&lt;br /&gt;
int main(argc, argv)&lt;br /&gt;
	char **argv;&lt;br /&gt;
{&lt;br /&gt;
	FILE *infile;&lt;br /&gt;
	char *inname;&lt;br /&gt;
	char buf[4096];&lt;br /&gt;
	int len;&lt;br /&gt;
	int mkgzip;&lt;br /&gt;
&lt;br /&gt;
	if (argc == 1) {&lt;br /&gt;
		infile = stdin;&lt;br /&gt;
		inname = &amp;quot;stdin&amp;quot;;&lt;br /&gt;
	} else if (argc == 2) {&lt;br /&gt;
		inname = argv[1];&lt;br /&gt;
		infile = fopen(inname, &amp;quot;r&amp;quot;);&lt;br /&gt;
		if (infile == NULL) {&lt;br /&gt;
			perror(inname);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		fprintf(stderr, &amp;quot;usage: %s [infile]\n&amp;quot;, argv[0]);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* First read the input magic number. */&lt;br /&gt;
	len = fread(buf, 1, 2, infile);&lt;br /&gt;
	if (len &amp;lt; 0) {&lt;br /&gt;
		perror(inname);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
	if (len != 2) {&lt;br /&gt;
		fprintf(stderr, &amp;quot;%s: not in compress -s or gzip format\n&amp;quot;,&lt;br /&gt;
			inname);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
	if (buf[0] == magic_strong[0] &amp;amp;&amp;amp; buf[1] == magic_strong[1])&lt;br /&gt;
		mkgzip = 1;&lt;br /&gt;
	else if (buf[0] == magic_gzip[0] &amp;amp;&amp;amp; buf[1] == magic_gzip[1])&lt;br /&gt;
		mkgzip = 0;&lt;br /&gt;
	else {&lt;br /&gt;
		fprintf(stderr, &amp;quot;%s: not in compress -s or gzip format\n&amp;quot;,&lt;br /&gt;
			inname);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Now read and check the gzip header if necessary. */&lt;br /&gt;
	if (!mkgzip) {&lt;br /&gt;
		len = fread(&amp;amp;gzheader, sizeof(struct gzheader), 1, infile);&lt;br /&gt;
		if (len &amp;lt; 0) {&lt;br /&gt;
			perror(inname);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
		if (len != 1) {&lt;br /&gt;
			fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;, inname);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
		if (gzheader.cm != CM_DEFLATE || gzheader.flg &amp;amp; FRSVD) {&lt;br /&gt;
			fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;, inname);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
		if (gzheader.flg &amp;amp; FEXTRA) {&lt;br /&gt;
			int count;&lt;br /&gt;
&lt;br /&gt;
			count = getc(infile);&lt;br /&gt;
			if (ferror(infile)) {&lt;br /&gt;
				perror(inname);&lt;br /&gt;
				exit(1);&lt;br /&gt;
			}&lt;br /&gt;
			if (feof(infile)) {&lt;br /&gt;
				fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;,&lt;br /&gt;
					inname);&lt;br /&gt;
				exit(1);&lt;br /&gt;
			}&lt;br /&gt;
			while (count) {&lt;br /&gt;
				getc(infile);&lt;br /&gt;
				if (ferror(infile)) {&lt;br /&gt;
					perror(inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
				if (feof(infile)) {&lt;br /&gt;
					fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;, inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
				count--;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (gzheader.flg &amp;amp; FNAME) {&lt;br /&gt;
			int ch;&lt;br /&gt;
&lt;br /&gt;
			do {&lt;br /&gt;
				ch = getc(infile);&lt;br /&gt;
				if (ferror(infile)) {&lt;br /&gt;
					perror(inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
				if (feof(infile)) {&lt;br /&gt;
					fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;, inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			while (ch);&lt;br /&gt;
		}&lt;br /&gt;
		if (gzheader.flg &amp;amp; FCOMMENT) {&lt;br /&gt;
			int ch;&lt;br /&gt;
&lt;br /&gt;
			do {&lt;br /&gt;
				ch = getc(infile);&lt;br /&gt;
				if (ferror(infile)) {&lt;br /&gt;
					perror(inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
				if (feof(infile)) {&lt;br /&gt;
					fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;, inname);&lt;br /&gt;
					exit(1);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			while (ch);&lt;br /&gt;
		}&lt;br /&gt;
		if (gzheader.flg &amp;amp; FHCRC) {&lt;br /&gt;
			len = fread(buf, 1, 2, infile);&lt;br /&gt;
			if (len &amp;lt; 0) {&lt;br /&gt;
				perror(inname);&lt;br /&gt;
				exit(1);&lt;br /&gt;
			}&lt;br /&gt;
			if (len != 2) {&lt;br /&gt;
				fprintf(stderr, &amp;quot;%s: invalid gzip header\n&amp;quot;,&lt;br /&gt;
					inname);&lt;br /&gt;
				exit(1);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Now write the output magic number. */&lt;br /&gt;
	if (mkgzip) {&lt;br /&gt;
		if (fwrite(magic_gzip, 1, 2, stdout) != 2) {&lt;br /&gt;
			perror(&amp;quot;stdout&amp;quot;);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	else {&lt;br /&gt;
		if (fwrite(magic_strong, 1, 2, stdout) != 2) {&lt;br /&gt;
			perror(&amp;quot;stdout&amp;quot;);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Now write the gzip header if necessary. */&lt;br /&gt;
	if (mkgzip) {&lt;br /&gt;
		gzheader.cm = CM_DEFLATE;&lt;br /&gt;
		gzheader.flg = 0;&lt;br /&gt;
		gzheader.mtime[0] = 0;&lt;br /&gt;
		gzheader.mtime[1] = 0;&lt;br /&gt;
		gzheader.mtime[2] = 0;&lt;br /&gt;
		gzheader.mtime[3] = 0;&lt;br /&gt;
		gzheader.xfl = 0;&lt;br /&gt;
		gzheader.os = OS_UNIX;&lt;br /&gt;
		if (fwrite(&amp;amp;gzheader, sizeof(struct gzheader), 1, stdout) != 1) {&lt;br /&gt;
			perror(&amp;quot;stdout&amp;quot;);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Now actually copy the data! */&lt;br /&gt;
	for (;;) {&lt;br /&gt;
		len = fread(buf, 1, sizeof(buf), infile);&lt;br /&gt;
		if (len &amp;lt; 0) {&lt;br /&gt;
			perror(inname);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
		if (len == 0)&lt;br /&gt;
			break;&lt;br /&gt;
		if (fwrite(buf, 1, len, stdout) != len) {&lt;br /&gt;
			perror(&amp;quot;stdout&amp;quot;);&lt;br /&gt;
			exit(1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* I can't believe we're done! */&lt;br /&gt;
	if (argc == 2)&lt;br /&gt;
		fclose(infile);&lt;br /&gt;
	return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== patch for building/running on windows ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
7a8,12&lt;br /&gt;
&amp;gt; #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&amp;gt; #ifdef _WIN32&lt;br /&gt;
&amp;gt;   #include &amp;lt;io.h&amp;gt;&lt;br /&gt;
&amp;gt;   #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
&amp;gt; #endif&lt;br /&gt;
31a37&lt;br /&gt;
&amp;gt;         int argc;&lt;br /&gt;
39c45,48&lt;br /&gt;
&amp;lt; &lt;br /&gt;
---&lt;br /&gt;
&amp;gt; #ifdef _WIN32&lt;br /&gt;
&amp;gt;         setmode(fileno(stdout),O_BINARY);&lt;br /&gt;
&amp;gt;         setmode(fileno(stdin),O_BINARY);&lt;br /&gt;
&amp;gt; #endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Compression Software]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22446</id>
		<title>Installing 4.3 BSD Quasijarus on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_4.3_BSD_Quasijarus_on_SIMH&amp;diff=22446"/>
				<updated>2020-06-27T10:26:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: The original gzcompat doesn't do well on windows unless you coerce fread/fwrite to binary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that I have used to install [[4.3 BSD]] onto [[SIMH]]'s [[MicroVAX II]] emulator.  Please note that this is the Quasijarus release of 4.3 BSD.&lt;br /&gt;
&lt;br /&gt;
== Obtaining an install tape ==&lt;br /&gt;
&lt;br /&gt;
You have two choices now, either you can create your own, or you can download a pre-made tape on [https://sourceforge.net/project/showfiles.php?group_id=204974&amp;amp;package_id=309407&amp;amp;release_id=659789 sourceforge].  If you want to build your own tape image, then follow the next section.&lt;br /&gt;
&lt;br /&gt;
== Building your own tape image ==&lt;br /&gt;
&lt;br /&gt;
I will describe what is needed, and how to create your own Quasijarus tape image, that is suitable for installing with SIMH.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
You will need the following materials to put together a 4.3 BSD Quasijarus installation:&lt;br /&gt;
&lt;br /&gt;
*A working perl interpeter to make the tape images.&amp;lt;br&amp;gt;&lt;br /&gt;
*A copy of gzip.&amp;lt;br&amp;gt;&lt;br /&gt;
*A working C compiler.&amp;lt;br&amp;gt;&lt;br /&gt;
*A compiled binary of vax from [[SIMH]], along with the ka655x.bin again from [[SIMH]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need the following files from any 4 BSD archive from the Quasijarus0c directory.  I have used the files from [https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/ Sourceforge].  You you will have to use a web browser to download them, to deal with the sourceforge download system.  But that's the price of free hosting.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/stand.Z/download stand.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/miniroot.Z/download miniroot.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/rootdump.Z/download rootdump.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/usr.tar.Z/download usr.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/srcsys.tar.Z/download srcsys.tar.Z]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/src.tar.Z/download src.tar.Z]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gzcompat ===&lt;br /&gt;
&lt;br /&gt;
Next it's easier on a host machine to convert the downloaded Quasijarus files into gzip, then uncompress them using gzip.  For this you will need the [[gzcompat]] program.  I've included the sourcecode on the link, as it's getting harder to find.. Simply compile the gzcompat.c into an exe.  It should be somewhat straightforward. The original location for gzcompat is [[http://ifctfvax.superglobalmegacorp.com/releases/UNIX/components/compress.tar here]] and a known good copy is [[http://www.tuhs.org/Archive/4BSD/Distributions/components/compress.tar here]].&lt;br /&gt;
&lt;br /&gt;
On most instances with gcc simply run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gcc gzcompat.c -o gzcompat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And that should be it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing for installation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the files downloaded you will need to uncompress them all and then create the tape file.  With the different compression this will be somewhat involved.&lt;br /&gt;
&lt;br /&gt;
The following command will decompress the tape files, on a UNIX install.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat miniroot.Z | gzcompat | gzip -dc &amp;gt; miniroot&lt;br /&gt;
cat rootdump.Z | gzcompat | gzip -dc &amp;gt; rootdump&lt;br /&gt;
cat src.tar.Z | gzcompat | gzip -dc &amp;gt; src.tar&lt;br /&gt;
cat srcsys.tar.Z | gzcompat | gzip -dc &amp;gt; srcsys.tar&lt;br /&gt;
cat stand.Z | gzcompat | gzip -dc &amp;gt; stand&lt;br /&gt;
cat usr.tar.Z | gzcompat | gzip -dc &amp;gt; usr.tar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tape needs to be created with the [[mkdisttap.pl]] program.  Simply run the program and redirect it into a file called quas.tap .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ./mkdisttap.pl  &amp;gt; quas.tap&lt;br /&gt;
% ls -l quas.tap&lt;br /&gt;
-rw-r--r--  1 Neozeed  None_ploc  84450876 Feb  6 17:10 quas.tap&lt;br /&gt;
%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An empty RA82 can be created with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% dd if=/dev/zero of=quas.dsk bs=512 count=1216665&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have our tape and disk, so we are ready to proceed with the install.  For those wondering, unlike the 11/780 emulator, the MicrovaxII can run it's microcode in a logical fashion and we are able to boot from tape in this release.&lt;br /&gt;
&lt;br /&gt;
==  Boot 1. ==&lt;br /&gt;
&lt;br /&gt;
I disable as many of the devices as possible to get a 'clean' install.  So this is the install.ini that I'm going to use.&lt;br /&gt;
&lt;br /&gt;
=== install.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
You then simply run the emulator and pass it the config file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe install.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
RQ: creating new file&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;boot mua0:&lt;br /&gt;
(BOOT/R5:0 MUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-MUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the BIOS has done it's POST, it will prompt what device to boot off of at the &amp;gt;&amp;gt;&amp;gt; prompt.  The first tape device is mua0:.  Once the tape has done the first boot you'll be greeted with the = prompt.  From here we are going to load the copy program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copy&lt;br /&gt;
tms(0,1)&lt;br /&gt;
ra(0,1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will copy the second file onto tape, onto the second file position on our hard disk.  The output should be the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=copy&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
From: tms(0,1)&lt;br /&gt;
To: ra(0,1)&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
Copy completed: 308 records copied&lt;br /&gt;
=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we run the boot program.  Simply type in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot&lt;br /&gt;
ra(0,1)vmunix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting output should be the following.  The kernel will then prompt for the root partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=boot&lt;br /&gt;
cpu: uVAX 3000&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: ra(0,1)vmunix&lt;br /&gt;
ra0: unlabeled&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: no disk label: ra81, size = 891072 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
root device?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will answer with the first ra disk, in a special format, because we have not put a disklabel onto the disk yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ra0*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the disk has been mounted we will be dumped to the root prompt.  The next step will be creating the default disk label.&lt;br /&gt;
&lt;br /&gt;
=== Creating the disk label ===&lt;br /&gt;
&lt;br /&gt;
Using the disklabel command we will setup the slices automatically (it's done from a file disktab) then install the boot programs.  This way we can boot from disk.&lt;br /&gt;
&lt;br /&gt;
Simply type in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disklabel -rw ra0 ra82 “Quasijarus” /usr/mdec/rdboot /usr/mdec/bootra&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the disk will now be labled, and bootable from the firmware.&lt;br /&gt;
&lt;br /&gt;
=== Restoring the rootdump ===&lt;br /&gt;
&lt;br /&gt;
From here we are now running from the miniroot.  The next step is to run the xtr program to restore the root, and then shutdown the emulator.  Enter in the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the following will happen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# disk=ra0 type=ra82 tape=tms xtr&lt;br /&gt;
Build root file system&lt;br /&gt;
Warning: 361 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0a:     15884 sectors in 19 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        8.1MB in 2 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776,&lt;br /&gt;
Check the file system&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on&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 Cyl groups&lt;br /&gt;
1 files, 1 used, 7092 free (20 frags, 884 blocks, 0.3% fragmentation)&lt;br /&gt;
Rewind tape&lt;br /&gt;
Restore the dump image of the root&lt;br /&gt;
** /dev/rra0a&lt;br /&gt;
** Last Mounted on /a&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 Cyl groups&lt;br /&gt;
426 files, 5195 used, 1898 free (18 frags, 235 blocks, 0.3% fragmentation)&lt;br /&gt;
Root filesystem extracted&lt;br /&gt;
&lt;br /&gt;
If this is an 8650 or 8600, update the console rl02&lt;br /&gt;
If this is a 780 or 785, update the floppy&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this stage, I just sync the disk a few times, then halt the emulator (CONTROL+E) and exit out.  Now we are ready for stage two.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If this is a 730, update the cassette&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
&lt;br /&gt;
Simulation stopped, PC: 800029AF (BNEQ 800029C6)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Boot 2. ==&lt;br /&gt;
&lt;br /&gt;
Now that the install disk is prepared, we need to use a different config file to reflect the emulator being able to autoboot to the disk.  The new configuration is as follows:&lt;br /&gt;
&lt;br /&gt;
=== boot.ini ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cr dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set ry dis&lt;br /&gt;
set ts dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set rq0 ra82&lt;br /&gt;
att rq0 quas.dsk&lt;br /&gt;
set rq1 dis&lt;br /&gt;
set rq2 dis&lt;br /&gt;
set rq3 dis&lt;br /&gt;
att tq0 quas.tap&lt;br /&gt;
set tti 7b&lt;br /&gt;
set tto 7b&lt;br /&gt;
att nvr nvram.dat&lt;br /&gt;
dep bdr 1&lt;br /&gt;
boot cpu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting the emulator ===&lt;br /&gt;
&lt;br /&gt;
Now boot up the emulator with the boot.ini  The first time we boot up in this configuration the emulator will prompt for what device will be the default device.  If you typo this, you will have to delete the nvram.dat file, and try again.  The default device will be dua0: which is the primary rq disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: creating new file&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
No default boot device has been specified.&lt;br /&gt;
&lt;br /&gt;
Available devices.&lt;br /&gt;
-DUA0 (RA 82)&lt;br /&gt;
-MUA0 (TK 50)&lt;br /&gt;
-MUA1 (TK 50)&lt;br /&gt;
-MUA2 (TK 50)&lt;br /&gt;
-MUA3 (TK 50)&lt;br /&gt;
&lt;br /&gt;
Device? [XQA0]: dua0:&lt;br /&gt;
&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:47:10 PST 2004&lt;br /&gt;
Can't open checklist file: /etc/fstab&lt;br /&gt;
Automatic reboot failed... help!&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;
=== Preparing the disk ===&lt;br /&gt;
&lt;br /&gt;
Now we have to prep the machine for both the tape, and the type of disk.  Type in the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# newfs ra0g ra82&lt;br /&gt;
/dev/rra0g:     841320 sectors in 984 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        430.8MB in 62 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632, 301376, 315120, 328864, 342608, 356352,&lt;br /&gt;
 370096, 383840, 397584, 411328, 425072, 437792, 451536, 465280, 479024,&lt;br /&gt;
 492768, 506512, 520256, 534000, 547744, 561488, 575232, 588976, 602720,&lt;br /&gt;
 616464, 630208, 643952, 656672, 670416, 684160, 697904, 711648, 725392,&lt;br /&gt;
 739136, 752880, 766624, 780368, 794112, 807856, 821600, 835344,&lt;br /&gt;
# newfs ra0h ra82&lt;br /&gt;
Warning: 209 sector(s) in last cylinder unallocated&lt;br /&gt;
/dev/rra0h:     291346 sectors in 341 cylinders of 15 tracks, 57 sectors&lt;br /&gt;
        149.2MB in 22 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)&lt;br /&gt;
super-block backups (for fsck -b #) at:&lt;br /&gt;
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,&lt;br /&gt;
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,&lt;br /&gt;
 246400, 260144, 273888, 287632,&lt;br /&gt;
# mkdir /home&lt;br /&gt;
# mount /dev/ra0g /usr&lt;br /&gt;
# cd /dev&lt;br /&gt;
# MAKEDEV tmscp0&lt;br /&gt;
# MAKEDEV dz0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the usr slice ===&lt;br /&gt;
&lt;br /&gt;
The disk's /usr slice will not have been formatted.  We can not go ahead and mount it, and restore the /usr files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr&lt;br /&gt;
# mt rew&lt;br /&gt;
# mt fsf 3&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# mkdir src&lt;br /&gt;
# cd src&lt;br /&gt;
# mkdir sys&lt;br /&gt;
# cd sys&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
# cd ..&lt;br /&gt;
# mt fsf&lt;br /&gt;
# tar xpbf 20 /dev/rmt12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuring the fstab ===&lt;br /&gt;
&lt;br /&gt;
Now we just need to create the fstab then we can reboot the emulator into multiuser mode.  Enter in the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /etc&lt;br /&gt;
# cat &amp;gt; fstab&lt;br /&gt;
/dev/ra0a:/:rw:1:1&lt;br /&gt;
/dev/ra0h:/home:rw:1:3&lt;br /&gt;
/dev/ra0g:/usr:rw:1:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you need to press CONTROL+d which will end the stream. Finally you can tell the emulator to reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reboot&lt;br /&gt;
syncing disks... done&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 8002F4F8 (BRB 8002F4F7)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
NVR: writing buffer to file &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== First Multiuser Boot ==&lt;br /&gt;
&lt;br /&gt;
Now we can just re-run the last command, and we should boot multiuser!  By default there is no root password.  Also the system will run fsck uppon boot, so depending on your host computer this could take a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Quasijarus0c\work&amp;gt;vax.exe boot.ini&lt;br /&gt;
&lt;br /&gt;
VAX simulator V3.8-0&lt;br /&gt;
NVR: buffering file in memory&lt;br /&gt;
Loading boot code from ka655x.bin&lt;br /&gt;
&lt;br /&gt;
←[c&lt;br /&gt;
KA655-B V5.3, VMB 2.7&lt;br /&gt;
Performing normal system tests.&lt;br /&gt;
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..&lt;br /&gt;
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..&lt;br /&gt;
08..07..06..05..04..03..&lt;br /&gt;
Tests completed.&lt;br /&gt;
Loading system software.&lt;br /&gt;
(BOOT/R5:0 DUA0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2..&lt;br /&gt;
-DUA0&lt;br /&gt;
  1..0..&lt;br /&gt;
&lt;br /&gt;
loading boot&lt;br /&gt;
&lt;br /&gt;
Boot&lt;br /&gt;
: /vmunix&lt;br /&gt;
326312+104440+130352 start 0x23b8&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC&lt;br /&gt;
real mem  = 16744448&lt;br /&gt;
SYSPTSIZE limits number of buffers to 112&lt;br /&gt;
avail mem = 14920704&lt;br /&gt;
using 112 buffers containing 917504 bytes of memory&lt;br /&gt;
MicroVAX 3000, ucode rev 6&lt;br /&gt;
tmscp0 at uba0 csr 174500 vec 774, ipl 15&lt;br /&gt;
tms0 at tmscp0 slave 0&lt;br /&gt;
tms1 at tmscp0 slave 1&lt;br /&gt;
uda0 at uba0 csr 172150 vec 770, ipl 15&lt;br /&gt;
uda0: version 3 model 3&lt;br /&gt;
uda0: DMA burst size set to 4&lt;br /&gt;
ra0 at uda0 slave 0: ra82, size = 1216665 sectors&lt;br /&gt;
dz0 at uba0 csr 160100 vec 300, ipl 15&lt;br /&gt;
dz1 at uba0 csr 160110 vec 310, ipl 15&lt;br /&gt;
dz2 at uba0 csr 160120 vec 320, ipl 15&lt;br /&gt;
dz3 at uba0 csr 160130 vec 330, ipl 15&lt;br /&gt;
Changing root device to ra0a&lt;br /&gt;
Automatic reboot in progress...&lt;br /&gt;
Fri Feb  6 09:59:45 PST 2004&lt;br /&gt;
/dev/ra0a: 448 files, 5199 used, 1894 free (22 frags, 234 blocks, 0.3% fragmentation)&lt;br /&gt;
/dev/rra0g: 12312 files, 71682 used, 323169 free (417 frags, 40344 blocks, 0.1% fragmentation)&lt;br /&gt;
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)&lt;br /&gt;
Fri Feb  6 09:59:58 PST 2004&lt;br /&gt;
checking quotas: done.&lt;br /&gt;
starting system logger&lt;br /&gt;
&lt;br /&gt;
preserving editor files&lt;br /&gt;
clearing /tmp&lt;br /&gt;
standard daemons: update cron accounting.&lt;br /&gt;
starting network daemons: routedFeb  6 10:00:00 myname named[79]: /etc/named.boo&lt;br /&gt;
t: No such file or directory&lt;br /&gt;
 named inetd printer.&lt;br /&gt;
starting local daemons: sendmail.&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we can simply logon as root.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fri Feb  6 10:00:01 PST 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.3 BSD UNIX (myname.my.domain) (console)&lt;br /&gt;
&lt;br /&gt;
login: root&lt;br /&gt;
Feb  6 10:01:26 myname login: ROOT LOGIN console&lt;br /&gt;
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004&lt;br /&gt;
&lt;br /&gt;
Welcome to UNIX!&lt;br /&gt;
&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;
From here you can explore the system.  All of the man pages are installed, and there is enough of a base system to get going.  Right now the networking is outside of the scope of this guide.&lt;br /&gt;
&lt;br /&gt;
=== Enabling remote users ===&lt;br /&gt;
&lt;br /&gt;
Shutdown the OS, and add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..).  This will allow for 8 users to connect on tcp port 8888.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set dz lines=8&lt;br /&gt;
att dz 8888&lt;br /&gt;
set dz 7b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would also recommend to windows users, either [[putty]], or [[syncterm]].  The default telnet client sucks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User_talk:Dugo&amp;diff=20990</id>
		<title>User talk:Dugo</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User_talk:Dugo&amp;diff=20990"/>
				<updated>2019-04-11T09:31:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interest: Running Net/2 on bochs.&lt;br /&gt;
&lt;br /&gt;
==Template:My sandbox==&lt;br /&gt;
&lt;br /&gt;
So someone noticed you're using [[Template:My sandbox]] to create your user page; this is a slightly dodgy thing to do, using a system-wide space for personal stuff.&lt;br /&gt;
&lt;br /&gt;
If you're using just using a template as a way to 'transclude' (the term Wikimedia uses for including one page's contents in another), the &amp;lt;nowiki&amp;gt;{{}}&amp;lt;/nowiki&amp;gt; syntax can transclude pages/sub-pages from namespaces other than Template:, all one has to do is specify the namespace. So &amp;lt;nowiki&amp;gt;{{User:Dugo/My sandbox}}&amp;lt;/nowiki&amp;gt; would do the exact same thing, but insert that sub-page of your User: page.&lt;br /&gt;
&lt;br /&gt;
So, if you're OK with it, we'd like move that Template page (including all its history) to be a sub-page of your User: page, and adjust the latter to transclude if from there - unless there's some good reason we haven't understood why it's in Template:.&lt;br /&gt;
&lt;br /&gt;
If this is OK, I'll do it for you (as an admin I can get rid of the leftover redirects, etc); just let us know. Thanks! [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:16, 9 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
: Go ahead jnc. It has been years ago I took notes on the fuzzballs, but I'm sure it was just that and not my idea for a system-wide template. [[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 00:23, 11 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
:: OK, will  do. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 01:01, 11 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: Thanks jnc! [[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 11:30, 11 April 2019 (CEST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User_talk:ForOldHack&amp;diff=20989</id>
		<title>User talk:ForOldHack</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User_talk:ForOldHack&amp;diff=20989"/>
				<updated>2019-04-11T09:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: RE: HELP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Sigs on Talk: pages==&lt;br /&gt;
&lt;br /&gt;
We generally try and follow the Wikipedia style of signing posts on Talk: pages (so that people reading them will know straight off, without having to look in the history, who made comments, and when). There's even special Wiki syntax to do this easily; just add &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to the end of your post, and it will be automagically transformed in this sig, with the user and time. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 13:21, 11 March 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
: Hmm, something else is going on. '[[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 01:41, 12 March 2019 (CET)' gives me date and time, and &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; gives me 4 tildies.&lt;br /&gt;
&lt;br /&gt;
: Oh, now I understand to escape the wiki process and get tildies, use &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;, but to get the sig use [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 01:42, 12 March 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
:: I have not seen such a funny time stamp in 34 years, when we were using uwasa.fi as a mail relay. ( Time is Wasausa, Finland ) [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 01:45, 12 March 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
: Please don't forget; I can add the sig manually, but it's easier for you. Thanks! [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:52, 22 March 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
I would like to print to npib78003.local [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 05:45, 27 March 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
== Infobox line captions ==&lt;br /&gt;
&lt;br /&gt;
The captions in infoboxes are specified in the template, as are the argument names; trying to change either in the invocation has no effect.&lt;br /&gt;
&lt;br /&gt;
If you want to change the 'Year introduced' caption, I'd be OK with that, but just to 'Introduced' I think might be potentially confusing without something to indicate that it's a temporal meaning - e.g. 'Date introduced', or something. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 12:04, 7 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
== External link syntax ==&lt;br /&gt;
&lt;br /&gt;
We generally like to give the title of our external links, using the syntax &amp;lt;nowiki&amp;gt;'[URL title]'&amp;lt;/nowiki&amp;gt;, so instead of:&lt;br /&gt;
&lt;br /&gt;
[http://ana-3.lcs.mit.edu/~jnc/tech/DECIndicatorPanels.html]&lt;br /&gt;
&lt;br /&gt;
one sees this:&lt;br /&gt;
&lt;br /&gt;
[http://ana-3.lcs.mit.edu/~jnc/tech/DECIndicatorPanels.html Digital Equipment Corporation Indicator Panels]&lt;br /&gt;
&lt;br /&gt;
Much nicer for our readers! The title is formally given inside &amp;lt;title&amp;gt; tags in the HTML of the page, and displayed by the browser (often in the window title bar, but exactly how will depend on the browser and OS).&lt;br /&gt;
&lt;br /&gt;
PS: You shouldn't stick a sig in additions to ''content'' pages (where it intrudes), you only need to do it on Talk: pages. The reasoning (it dates to a very early stage on Wikipedia, before even I started there) seems to be that if one wants to know where something in a content page comes from, one looks at the History of that page; on Talk: pages (especially if one is reading one later - see for example the discussion at [[Help talk:Introduction to Categories]]), one can easily see who posted a given item directly, without needing to grub around in the history. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 15:25, 7 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Very sorry, I had forgot, and even forgot to look it up. I am so amazed by the tiny bits I have found, I only used some of those machines a few times, they were apprently very popular because they were so fantastic. &lt;br /&gt;
:Ill follow this convention on. [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 04:57, 8 April 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
Sure. BTW, [https://en.wikipedia.org/wiki/Wikipedia:SIG here] is the Wikipedia sig policy, which we follow (although we don't follow Wikipedia in most things, in this one we do). [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 15:12, 9 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
== new user ==&lt;br /&gt;
&lt;br /&gt;
I don't see a new user. You are the newest user since 8 March 2019.&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 11:25, 11 April 2019 (CEST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User_talk:Dugo&amp;diff=20980</id>
		<title>User talk:Dugo</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User_talk:Dugo&amp;diff=20980"/>
				<updated>2019-04-10T22:23:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Template:My sandbox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interest: Running Net/2 on bochs.&lt;br /&gt;
&lt;br /&gt;
==Template:My sandbox==&lt;br /&gt;
&lt;br /&gt;
So someone noticed you're using [[Template:My sandbox]] to create your user page; this is a slightly dodgy thing to do, using a system-wide space for personal stuff.&lt;br /&gt;
&lt;br /&gt;
If you're using just using a template as a way to 'transclude' (the term Wikimedia uses for including one page's contents in another), the &amp;lt;nowiki&amp;gt;{{}}&amp;lt;/nowiki&amp;gt; syntax can transclude pages/sub-pages from namespaces other than Template:, all one has to do is specify the namespace. So &amp;lt;nowiki&amp;gt;{{User:Dugo/My sandbox}}&amp;lt;/nowiki&amp;gt; would do the exact same thing, but insert that sub-page of your User: page.&lt;br /&gt;
&lt;br /&gt;
So, if you're OK with it, we'd like move that Template page (including all its history) to be a sub-page of your User: page, and adjust the latter to transclude if from there - unless there's some good reason we haven't understood why it's in Template:.&lt;br /&gt;
&lt;br /&gt;
If this is OK, I'll do it for you (as an admin I can get rid of the leftover redirects, etc); just let us know. Thanks! [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:16, 9 April 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
Go ahead jnc. It has been years ago I took notes on the fuzzballs, but I'm sure it was just that and not my idea for a system-wide template.&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 00:23, 11 April 2019 (CEST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20933</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20933"/>
				<updated>2019-04-01T23:32:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: elaborate on milestones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that fails you probably have a very recent version of bximage, in that case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;1\nhd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. The CHANGES file reads “Changes from 386bsd 0.1 + patchkit 0.2.2” and “some alpha patchkit 0.2.3 stuff (piecemeal, and in some cases improved)”.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patch kits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. Rodney Grimes announced patchkit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993. The guided tour will bring 386BSD all up to the point where maintaining the patch kits became rather cumbersome. The shortest and most available route is installing the last two official unofficial patch kits and skipping 0.2.2.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
Disk images created by roughly automating the above steps with github and travis-ci is available via this trilogy https://github.com/dugoh/386bsd0.1-c&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
*  Upgrade to 0.x https://github.com/386bsd/386bsd/tree/0.1&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Talk:FreeBSD&amp;diff=20932</id>
		<title>Talk:FreeBSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Talk:FreeBSD&amp;diff=20932"/>
				<updated>2019-04-01T20:49:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: Created page with &amp;quot;&amp;quot;I think we need to literally find and link every archive we can find... but that is just me..&amp;quot;  Check http://callfortesting.org/tests/ ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;I think we need to literally find and link every archive we can find... but that is just me..&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Check http://callfortesting.org/tests/&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 22:49, 1 April 2019 (CEST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20931</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20931"/>
				<updated>2019-04-01T20:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: add link to automated build&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that fails you probably have a very recent version of bximage, in that case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;1\nhd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
Disk images created by roughly automating the above steps with github and travis-ci is available via this trilogy https://github.com/dugoh/386bsd0.1-c&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
*  Upgrade to 0.x https://github.com/386bsd/386bsd/tree/0.1&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20930</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=20930"/>
				<updated>2019-04-01T19:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: add link to 0.x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that fails you probably have a very recent version of bximage, in that case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;1\nhd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
*  Upgrade to 0.x https://github.com/386bsd/386bsd/tree/0.1&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=386BSD&amp;diff=12365</id>
		<title>386BSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=386BSD&amp;diff=12365"/>
				<updated>2016-10-10T06:54:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: Add 2.0 source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:386BSD logo.jpg|thumb|150px|left|386BSD logo]]&lt;br /&gt;
{{Infobox OS &lt;br /&gt;
| image = 386bsd.png&lt;br /&gt;
| caption = Logging into a 386 BSD system&lt;br /&gt;
| name = 386 BSD&lt;br /&gt;
| creator = CSRG, University of California, Berkeley&lt;br /&gt;
| current version = 1.0 (1993)&lt;br /&gt;
| year introduced = 1991&lt;br /&gt;
| type = Multitasking, multiuser&lt;br /&gt;
| architecture = [[i386]] theoretically portable&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
386 BSD was the first time that the [[Net/2]] project was put into a functional release onto commodity hardware, and into the public under the BSD license. As the project eventually stalled, it became the starting point for both [[NetBSD]] &amp;amp; [[FreeBSD]], via the patchkits.  While 386 BSD may be of historical significance, it's not up to the challenge of day to day usage, as it hasn't received any updates or patches in over 15 years.&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
There seems to have been four releases of 386 BSD, starting with it being freely available on the internet, then only available to those who purchased CD-ROMs.&lt;br /&gt;
&lt;br /&gt;
=== 0.0 ===&lt;br /&gt;
This is the first version of 386 BSD that was released.  This version doesn't share it's disk with MS-DOS or any other OS's, and uses a VAX style disktab/disklabel, making it difficult to install.&lt;br /&gt;
&lt;br /&gt;
*[[386BSD 0.0]]&lt;br /&gt;
&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
The 0.1 release was the most popular, as 0.0 proved to be very difficult to install, I'd think because it was more &amp;quot;VAX&amp;quot; like in how it treated the disks, and most people are not familiar with disklabels.  There were 2 revisions to 0.1, with the patchkits, that eventually gave birth to both [[NetBSD]] and [[FreeBSD]]. Once patchkit 023 is installed, 386BSD will then run under [[Qemu]] 0.11.x&lt;br /&gt;
&lt;br /&gt;
*[[386 BSD 0.1]]&lt;br /&gt;
*[[386 BSD 0.1 pl23]]&lt;br /&gt;
*[[386 BSD 0.1 pl24]]&lt;br /&gt;
&lt;br /&gt;
*X11  I've found a massive lead [http://cd.textfiles.com/ldr199410/DISC2/X11/XFREE861/ here].  Thanks to shovelware CD makers!&lt;br /&gt;
&lt;br /&gt;
=== 0.2 ===&lt;br /&gt;
An update for ISO-9660 and Rock Ridge extensions. See DrDobbs July 1993.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
This was the CD-ROM / DrDobbs release&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
In an email with Lynne Jolitz, she has confirmed that there was a 2.0 release. In 2016 it was re-released on [https://github.com/386bsd/386bsd github]&lt;br /&gt;
&lt;br /&gt;
== Where can I get a copy ==&lt;br /&gt;
&lt;br /&gt;
At the moment the only known places to get copies are:&lt;br /&gt;
&lt;br /&gt;
* [http://www.oldlinux.org/Linux.old/distributions/386BSD/ oldlinux.org] 0.0, 0.1 and the two patchkits.&lt;br /&gt;
* [ftp://minnie.tuhs.org/BSD/ tuhs.org] 0.0, 0.1 and the two patchkits.&lt;br /&gt;
* [ftp://ftp1.am.freebsd.org/pub/ancientBSD/386BSD/cd1.iso freebsd.org] ISO with 0.0, 0.1, the patchkits in various states, a large number of other contributions to 0.0 and 0.1 and a USENET archive of comp.unix.bsd.&lt;br /&gt;
&lt;br /&gt;
== How do I get this to run?! ==&lt;br /&gt;
Right now the only version fully running in emulation is 0.1&lt;br /&gt;
The quickest way is to use [https://sourceforge.net/projects/bsd42/files/4BSD%20under%20Windows/v0.4/386BSD-0.1.exe/download 386BSD-0.1exe] which is a ready to run package for Windows users that includes a preconfigured Qemu &amp;amp; disk image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Nav Unix}}&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11920</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11920"/>
				<updated>2016-07-18T10:59:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Create a disk image */ for use with new bximage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that fails you probably have a very recent version of bximage, in that case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;1\nhd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11919</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11919"/>
				<updated>2016-07-18T10:57:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Configure Bochs */ fix the symlink tun/tun0 issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11918</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11918"/>
				<updated>2016-07-18T10:56:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Prepare the host for networking Bochs */ iptables update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*0/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that newer iptables has a slightly different syntax. -d ! has become ! -d.&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11917</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11917"/>
				<updated>2016-07-11T23:22:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Fourth boot, multiuser mode */ thinly veiled commercial for Reeds book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. 386BSD 0.2 never came and in early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot;&lt;br /&gt;
A few months later Chris Demetriou wrote “So you say you want an interim release of 386bsd?” and officially announced the first version of NetBSD. These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There is a BSD history book in the making by Jeremy C. Reed. It is very detailed and has a full annotated chapter on the patchkits. It is not yet in print, but rumor has the chapter can be obtained together with a warezed copy of NetBSD 0.8 in a manilla folder from a coughing, chain smoking guy in a raincoat if you know the right parking garage. For now see:&lt;br /&gt;
&lt;br /&gt;
*http://reedmedia.net/books/bsd-history/&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11916</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11916"/>
				<updated>2016-07-11T22:08:08Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Start up Bochs */ Manage expectations about speed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a while you should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11915</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11915"/>
				<updated>2016-07-11T21:44:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Get, patch, configure and compile Bochs */ fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [https://sourceforge.net/p/bochs/code/9959/ patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11914</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11914"/>
				<updated>2016-07-11T21:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Restart Bochs */ fix looks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11913</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11913"/>
				<updated>2016-07-11T21:29:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* First boot, Tiny 386BSD */ fix looks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11912</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11912"/>
				<updated>2016-07-11T21:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Restart Bochs */ fix looks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:12px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11911</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11911"/>
				<updated>2016-07-11T21:20:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Get, patch, configure and compile Bochs */ compile tip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
Pasting into Bochs is a drag. Playing with BX_KBD_ELEMENTS in iodev/keyboard.h here and keyboard_paste_delay later on in the Bochs configuration can help, but YMMV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:3px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Coherent&amp;diff=11252</id>
		<title>Coherent</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Coherent&amp;diff=11252"/>
				<updated>2015-01-19T09:20:37Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Getting it to run */  add tip for fsck speed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coherent 4 print ad.jpg|200px|thumb|right|A print Coherent ad]]&lt;br /&gt;
&lt;br /&gt;
Coherent was a 'clean room' clone of [[Seventh Edition Unix|Unix v7]], originally written for the PDP-11 in 1980. It was ported to run on the IBM PC in 1983 and to the [[Zilog Z8000]]-based [[Commodore 900]] in 1985. Coherent was somewhat famous for being audited by Bell Labs and was vetted to be free of AT&amp;amp;T code.  Despite its low price it failed to achieve any significant market share.&lt;br /&gt;
&lt;br /&gt;
A review from 1991 can be found [http://aplawrence.com/Reviews/coherent_1991.html here]&lt;br /&gt;
&lt;br /&gt;
Coherent has been recently opensourced, under a 3-clause BSD license.&lt;br /&gt;
&lt;br /&gt;
More information about the source code to Coherent can be found at [http://www.nesssoftware.com/home/mwc/source.php www.nesssoftware.com].&lt;br /&gt;
&lt;br /&gt;
== Getting it to run ==&lt;br /&gt;
Right now the easiest way is to use [[Qemu]].  I've found that a memory size of 8MB is the best, as I had several issues with 12MB.  The fsck of a large disk during boot does take a long time, so you need to be patient or use a small disk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Nav Unix}}&lt;br /&gt;
[[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_UNIX_v6_(PDP-11)_on_SIMH&amp;diff=11251</id>
		<title>Installing UNIX v6 (PDP-11) on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_UNIX_v6_(PDP-11)_on_SIMH&amp;diff=11251"/>
				<updated>2015-01-19T09:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Tape boot */ add note on how to do it on simh beta&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm going to try to describe the install procedure used by [http://mailman.trailing-edge.com/pipermail/simh/2010-October/006009.html Tim Newsham] for [[Unix_System_6|Unix v6]] on the [[PDP-11/40]].&lt;br /&gt;
&lt;br /&gt;
NOTE: Comments at the end of a line of the form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[## Comment]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
are just to tell you what to do when there is ambiguity; please do not type them in literally!.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
I'm going to expect you to have the [[SIMH]] emulator, 3.8-1 or higher, and a Unix v6 tape [http://sourceforge.net/projects/bsd42/files/Install%20tapes/Research%20Unix/Unix-v6-Ken-Wellsch.tap.bz2/download Unix-v6-Ken-Wellsch.tap]&lt;br /&gt;
&lt;br /&gt;
== Tape boot ==&lt;br /&gt;
Here we load the bootblock and load up the root partition onto the rk disk file...&lt;br /&gt;
&lt;br /&gt;
First the tboot.ini file. On more recent simh builds, remove the semicolons and the comments behind them.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach tm0 dist.tap&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
d cpu 100000 012700        ; mov #172526,R0&lt;br /&gt;
d cpu 100002 172526&lt;br /&gt;
d cpu 100004 010040        ; mov R0,-(R0)&lt;br /&gt;
d cpu 100006 012740        ; mov #60003,-(R0)&lt;br /&gt;
d cpu 100010 060003&lt;br /&gt;
d cpu 100012 000777        ; br 100012&lt;br /&gt;
g 100000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once this is run, the simulation will 'lock', hit CTRL+E to break the emulation, and then execute the stand alone program to prepare the hard disk.  Type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the stand alone program will be ready to respond.  Here is my install session:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
sim&amp;gt; set cpu 11/40&lt;br /&gt;
Disabling XQ&lt;br /&gt;
sim&amp;gt; set tm0 locked&lt;br /&gt;
sim&amp;gt; attach tm0 dist.tap&lt;br /&gt;
sim&amp;gt; attach rk0 rk0&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; attach rk1 rk1&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; attach rk2 rk2&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; d cpu 100000 012700&lt;br /&gt;
sim&amp;gt; d cpu 100002 172526&lt;br /&gt;
sim&amp;gt; d cpu 100004 010040&lt;br /&gt;
sim&amp;gt; d cpu 100006 012740&lt;br /&gt;
sim&amp;gt; d cpu 100010 060003&lt;br /&gt;
sim&amp;gt; d cpu 100012 000777&lt;br /&gt;
sim&amp;gt; g 100000&lt;br /&gt;
&lt;br /&gt;
Simulation stopped, PC: 100012 (BR 100012)&lt;br /&gt;
sim&amp;gt; g 0&lt;br /&gt;
=tmrk&lt;br /&gt;
disk offset&lt;br /&gt;
0&lt;br /&gt;
tape offset&lt;br /&gt;
100&lt;br /&gt;
count&lt;br /&gt;
1&lt;br /&gt;
=tmrk&lt;br /&gt;
disk offset&lt;br /&gt;
1&lt;br /&gt;
tape offset&lt;br /&gt;
101&lt;br /&gt;
count&lt;br /&gt;
3999&lt;br /&gt;
=                                              [## Hit CTRL-E here]&lt;br /&gt;
Simulation stopped, PC: 137300 (BGE 137274)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== disk install ==&lt;br /&gt;
&lt;br /&gt;
Here is our dboot.ini for booting from the hard disk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set tto 7b&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach tm0 dist.tap&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
dep system sr 173030&lt;br /&gt;
boot rk0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting up to single user mode ===&lt;br /&gt;
And this will boot us up to the bootloader, to which we just tell it to load the 'unix' kernel.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
sim&amp;gt; set cpu 11/40&lt;br /&gt;
Disabling XQ&lt;br /&gt;
sim&amp;gt; set tto 7b&lt;br /&gt;
sim&amp;gt; set tm0 locked&lt;br /&gt;
sim&amp;gt; attach tm0 dist.tap&lt;br /&gt;
sim&amp;gt; attach rk0 rk0&lt;br /&gt;
sim&amp;gt; attach rk1 rk1&lt;br /&gt;
sim&amp;gt; attach rk2 rk2&lt;br /&gt;
sim&amp;gt; dep system sr 173030&lt;br /&gt;
sim&amp;gt; boot rk0&lt;br /&gt;
@rkunix&lt;br /&gt;
mem = 1030&lt;br /&gt;
RESTRICTED RIGHTS&lt;br /&gt;
&lt;br /&gt;
Use, duplication or disclosure is subject to&lt;br /&gt;
restrictions stated in Contract with Western&lt;br /&gt;
Electric Company, Inc.&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixing the Terminal ===&lt;br /&gt;
The first thing we are going to do with UNIX loaded is set the terminal back to lowercase...  Enter the following command in lower case, it'll echo back in upper case, but that's just the way it works.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# STTY -LCASE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the kernel ===&lt;br /&gt;
We are going to rebuild the kernel to support the appropriate hardware that SIMH provides.  First we must build the mkconf program&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chdir /usr/sys/conf&lt;br /&gt;
cc mkconf.c&lt;br /&gt;
mv a.out mkconf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the mkconf program built, we then feed it a basic configuration file.  To do this we just run mkconf, then type in the list of devices we want.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rk&lt;br /&gt;
tm&lt;br /&gt;
tc&lt;br /&gt;
8dc&lt;br /&gt;
lp&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you'll get this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./mkconf&lt;br /&gt;
rk&lt;br /&gt;
tm&lt;br /&gt;
tc&lt;br /&gt;
8dc&lt;br /&gt;
lp&lt;br /&gt;
done&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we can compile the config, and link in the rest of the kernel, and copy it to the root.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
as m40.s&lt;br /&gt;
mv a.out m40.o&lt;br /&gt;
cc -c c.c&lt;br /&gt;
as l.s&lt;br /&gt;
ld -x a.out m40.o c.o ../lib1 ../lib2&lt;br /&gt;
mv a.out /unix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And to verify, our kernel should be 30kb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls -l /unix&lt;br /&gt;
-rwxrwxrwx  1 root    30346 Oct 10 12:43 /unix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== building device files ===&lt;br /&gt;
Now we'll build the device files.  Just copy &amp;amp; paste this in.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/mknod /dev/rk0 b 0 0&lt;br /&gt;
/etc/mknod /dev/rk1 b 0 1&lt;br /&gt;
/etc/mknod /dev/rk2 b 0 2&lt;br /&gt;
/etc/mknod /dev/mt0 b 3 0&lt;br /&gt;
/etc/mknod /dev/tap0 b 4 0&lt;br /&gt;
/etc/mknod /dev/rrk0 c 9 0&lt;br /&gt;
/etc/mknod /dev/rrk1 c 9 1&lt;br /&gt;
/etc/mknod /dev/rrk2 c 9 2&lt;br /&gt;
/etc/mknod /dev/rmt0 c 12 0&lt;br /&gt;
/etc/mknod /dev/lp0 c 2 0&lt;br /&gt;
/etc/mknod /dev/tty0 c 3 0&lt;br /&gt;
/etc/mknod /dev/tty1 c 3 1&lt;br /&gt;
/etc/mknod /dev/tty2 c 3 2&lt;br /&gt;
/etc/mknod /dev/tty3 c 3 3&lt;br /&gt;
/etc/mknod /dev/tty4 c 3 4&lt;br /&gt;
/etc/mknod /dev/tty5 c 3 5&lt;br /&gt;
/etc/mknod /dev/tty6 c 3 6&lt;br /&gt;
/etc/mknod /dev/tty7 c 3 7&lt;br /&gt;
chmod 640 /dev/*rk*&lt;br /&gt;
chmod 640 /dev/*mt*&lt;br /&gt;
chmod 640 /dev/*tap*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the rest of the OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100&lt;br /&gt;
mkdir /usr/doc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure boot ===&lt;br /&gt;
&lt;br /&gt;
I just use cat to append the boot statements for the other disks.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
/etc/mount /dev/rk2 /usr/doc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I append them like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat &amp;gt;&amp;gt; /etc/rc&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
/etc/mount /dev/rk2 /usr/doc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then hit CTRL+D&lt;br /&gt;
&lt;br /&gt;
=== rebuild the df command ===&lt;br /&gt;
To config the df:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chdir /usr/source/s1&lt;br /&gt;
# ed df.c&lt;br /&gt;
/rp0/d&lt;br /&gt;
.-2a&lt;br /&gt;
  &amp;quot;/dev/rk0&amp;quot;,&lt;br /&gt;
  &amp;quot;/dev/rk1&amp;quot;,&lt;br /&gt;
.&lt;br /&gt;
w&lt;br /&gt;
q&lt;br /&gt;
# cc -s -O df.c&lt;br /&gt;
# cp a.out /bin/df&lt;br /&gt;
# rm a.out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check filesystems ===&lt;br /&gt;
fsck didn't exist back then... So we run icheck/dcheck.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
icheck /dev/rrk0&lt;br /&gt;
dcheck /dev/rrk0&lt;br /&gt;
icheck /dev/rrk1&lt;br /&gt;
dcheck /dev/rrk1&lt;br /&gt;
icheck /dev/rrk2&lt;br /&gt;
dcheck /dev/rrk2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enable multiser ===&lt;br /&gt;
The default /etc/ttys file isn't listening on the serial ports, so we change that by simply editing the file.... &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ed /etc/ttys&lt;br /&gt;
1,8s/^0/1/p&lt;br /&gt;
w&lt;br /&gt;
q&lt;br /&gt;
# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== reboot ===&lt;br /&gt;
There is no reboot command so run sync a few times, then Control+E to interrupt and quit the simulator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
#                               [## Hit CTRL-E here]&lt;br /&gt;
Simulation stopped, PC: 002502 (MOV (SP)+,177776)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\temp\v6\myv6&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running normally ==&lt;br /&gt;
With the install all done, let's use the following ini file for normal operations.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set cpu idle&lt;br /&gt;
set tto 7b&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
attach lpt printer.txt&lt;br /&gt;
set dci en&lt;br /&gt;
set dci lines=8&lt;br /&gt;
set dco 7b&lt;br /&gt;
att dci 5555&lt;br /&gt;
boot rk0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we fire up the emulator we can then attach on tcp port 5555 for additional users.  To boot unix, just pass the name unix to the bootloader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling XQ&lt;br /&gt;
Listening on port 5555 (socket 108)&lt;br /&gt;
@unix&lt;br /&gt;
&lt;br /&gt;
login: root&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It's also worth noting that there is no root password.&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_UNIX_v6_(PDP-11)_on_SIMH&amp;diff=11250</id>
		<title>Installing UNIX v6 (PDP-11) on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_UNIX_v6_(PDP-11)_on_SIMH&amp;diff=11250"/>
				<updated>2015-01-19T09:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* rebuild the df command */ do it like `run' would do it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm going to try to describe the install procedure used by [http://mailman.trailing-edge.com/pipermail/simh/2010-October/006009.html Tim Newsham] for [[Unix_System_6|Unix v6]] on the [[PDP-11/40]].&lt;br /&gt;
&lt;br /&gt;
NOTE: Comments at the end of a line of the form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[## Comment]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
are just to tell you what to do when there is ambiguity; please do not type them in literally!.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
I'm going to expect you to have the [[SIMH]] emulator, 3.8-1 or higher, and a Unix v6 tape [http://sourceforge.net/projects/bsd42/files/Install%20tapes/Research%20Unix/Unix-v6-Ken-Wellsch.tap.bz2/download Unix-v6-Ken-Wellsch.tap]&lt;br /&gt;
&lt;br /&gt;
== Tape boot ==&lt;br /&gt;
Here we load the bootblock and load up the root partition onto the rk disk file...&lt;br /&gt;
&lt;br /&gt;
First the tboot.ini file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach tm0 dist.tap&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
d cpu 100000 012700        ; mov #172526,R0&lt;br /&gt;
d cpu 100002 172526&lt;br /&gt;
d cpu 100004 010040        ; mov R0,-(R0)&lt;br /&gt;
d cpu 100006 012740        ; mov #60003,-(R0)&lt;br /&gt;
d cpu 100010 060003&lt;br /&gt;
d cpu 100012 000777        ; br 100012&lt;br /&gt;
g 100000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once this is run, the simulation will 'lock', hit CTRL+E to break the emulation, and then execute the stand alone program to prepare the hard disk.  Type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the stand alone program will be ready to respond.  Here is my install session:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
sim&amp;gt; set cpu 11/40&lt;br /&gt;
Disabling XQ&lt;br /&gt;
sim&amp;gt; set tm0 locked&lt;br /&gt;
sim&amp;gt; attach tm0 dist.tap&lt;br /&gt;
sim&amp;gt; attach rk0 rk0&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; attach rk1 rk1&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; attach rk2 rk2&lt;br /&gt;
RK: creating new file&lt;br /&gt;
sim&amp;gt; d cpu 100000 012700&lt;br /&gt;
sim&amp;gt; d cpu 100002 172526&lt;br /&gt;
sim&amp;gt; d cpu 100004 010040&lt;br /&gt;
sim&amp;gt; d cpu 100006 012740&lt;br /&gt;
sim&amp;gt; d cpu 100010 060003&lt;br /&gt;
sim&amp;gt; d cpu 100012 000777&lt;br /&gt;
sim&amp;gt; g 100000&lt;br /&gt;
&lt;br /&gt;
Simulation stopped, PC: 100012 (BR 100012)&lt;br /&gt;
sim&amp;gt; g 0&lt;br /&gt;
=tmrk&lt;br /&gt;
disk offset&lt;br /&gt;
0&lt;br /&gt;
tape offset&lt;br /&gt;
100&lt;br /&gt;
count&lt;br /&gt;
1&lt;br /&gt;
=tmrk&lt;br /&gt;
disk offset&lt;br /&gt;
1&lt;br /&gt;
tape offset&lt;br /&gt;
101&lt;br /&gt;
count&lt;br /&gt;
3999&lt;br /&gt;
=                                              [## Hit CTRL-E here]&lt;br /&gt;
Simulation stopped, PC: 137300 (BGE 137274)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== disk install ==&lt;br /&gt;
&lt;br /&gt;
Here is our dboot.ini for booting from the hard disk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set tto 7b&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach tm0 dist.tap&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
dep system sr 173030&lt;br /&gt;
boot rk0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting up to single user mode ===&lt;br /&gt;
And this will boot us up to the bootloader, to which we just tell it to load the 'unix' kernel.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
sim&amp;gt; set cpu 11/40&lt;br /&gt;
Disabling XQ&lt;br /&gt;
sim&amp;gt; set tto 7b&lt;br /&gt;
sim&amp;gt; set tm0 locked&lt;br /&gt;
sim&amp;gt; attach tm0 dist.tap&lt;br /&gt;
sim&amp;gt; attach rk0 rk0&lt;br /&gt;
sim&amp;gt; attach rk1 rk1&lt;br /&gt;
sim&amp;gt; attach rk2 rk2&lt;br /&gt;
sim&amp;gt; dep system sr 173030&lt;br /&gt;
sim&amp;gt; boot rk0&lt;br /&gt;
@rkunix&lt;br /&gt;
mem = 1030&lt;br /&gt;
RESTRICTED RIGHTS&lt;br /&gt;
&lt;br /&gt;
Use, duplication or disclosure is subject to&lt;br /&gt;
restrictions stated in Contract with Western&lt;br /&gt;
Electric Company, Inc.&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixing the Terminal ===&lt;br /&gt;
The first thing we are going to do with UNIX loaded is set the terminal back to lowercase...  Enter the following command in lower case, it'll echo back in upper case, but that's just the way it works.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# STTY -LCASE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the kernel ===&lt;br /&gt;
We are going to rebuild the kernel to support the appropriate hardware that SIMH provides.  First we must build the mkconf program&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chdir /usr/sys/conf&lt;br /&gt;
cc mkconf.c&lt;br /&gt;
mv a.out mkconf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the mkconf program built, we then feed it a basic configuration file.  To do this we just run mkconf, then type in the list of devices we want.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rk&lt;br /&gt;
tm&lt;br /&gt;
tc&lt;br /&gt;
8dc&lt;br /&gt;
lp&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you'll get this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./mkconf&lt;br /&gt;
rk&lt;br /&gt;
tm&lt;br /&gt;
tc&lt;br /&gt;
8dc&lt;br /&gt;
lp&lt;br /&gt;
done&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we can compile the config, and link in the rest of the kernel, and copy it to the root.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
as m40.s&lt;br /&gt;
mv a.out m40.o&lt;br /&gt;
cc -c c.c&lt;br /&gt;
as l.s&lt;br /&gt;
ld -x a.out m40.o c.o ../lib1 ../lib2&lt;br /&gt;
mv a.out /unix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And to verify, our kernel should be 30kb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls -l /unix&lt;br /&gt;
-rwxrwxrwx  1 root    30346 Oct 10 12:43 /unix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== building device files ===&lt;br /&gt;
Now we'll build the device files.  Just copy &amp;amp; paste this in.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/mknod /dev/rk0 b 0 0&lt;br /&gt;
/etc/mknod /dev/rk1 b 0 1&lt;br /&gt;
/etc/mknod /dev/rk2 b 0 2&lt;br /&gt;
/etc/mknod /dev/mt0 b 3 0&lt;br /&gt;
/etc/mknod /dev/tap0 b 4 0&lt;br /&gt;
/etc/mknod /dev/rrk0 c 9 0&lt;br /&gt;
/etc/mknod /dev/rrk1 c 9 1&lt;br /&gt;
/etc/mknod /dev/rrk2 c 9 2&lt;br /&gt;
/etc/mknod /dev/rmt0 c 12 0&lt;br /&gt;
/etc/mknod /dev/lp0 c 2 0&lt;br /&gt;
/etc/mknod /dev/tty0 c 3 0&lt;br /&gt;
/etc/mknod /dev/tty1 c 3 1&lt;br /&gt;
/etc/mknod /dev/tty2 c 3 2&lt;br /&gt;
/etc/mknod /dev/tty3 c 3 3&lt;br /&gt;
/etc/mknod /dev/tty4 c 3 4&lt;br /&gt;
/etc/mknod /dev/tty5 c 3 5&lt;br /&gt;
/etc/mknod /dev/tty6 c 3 6&lt;br /&gt;
/etc/mknod /dev/tty7 c 3 7&lt;br /&gt;
chmod 640 /dev/*rk*&lt;br /&gt;
chmod 640 /dev/*mt*&lt;br /&gt;
chmod 640 /dev/*tap*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the rest of the OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100&lt;br /&gt;
mkdir /usr/doc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure boot ===&lt;br /&gt;
&lt;br /&gt;
I just use cat to append the boot statements for the other disks.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
/etc/mount /dev/rk2 /usr/doc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I append them like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat &amp;gt;&amp;gt; /etc/rc&lt;br /&gt;
/etc/mount /dev/rk1 /usr/source&lt;br /&gt;
/etc/mount /dev/rk2 /usr/doc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then hit CTRL+D&lt;br /&gt;
&lt;br /&gt;
=== rebuild the df command ===&lt;br /&gt;
To config the df:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chdir /usr/source/s1&lt;br /&gt;
# ed df.c&lt;br /&gt;
/rp0/d&lt;br /&gt;
.-2a&lt;br /&gt;
  &amp;quot;/dev/rk0&amp;quot;,&lt;br /&gt;
  &amp;quot;/dev/rk1&amp;quot;,&lt;br /&gt;
.&lt;br /&gt;
w&lt;br /&gt;
q&lt;br /&gt;
# cc -s -O df.c&lt;br /&gt;
# cp a.out /bin/df&lt;br /&gt;
# rm a.out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check filesystems ===&lt;br /&gt;
fsck didn't exist back then... So we run icheck/dcheck.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
icheck /dev/rrk0&lt;br /&gt;
dcheck /dev/rrk0&lt;br /&gt;
icheck /dev/rrk1&lt;br /&gt;
dcheck /dev/rrk1&lt;br /&gt;
icheck /dev/rrk2&lt;br /&gt;
dcheck /dev/rrk2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enable multiser ===&lt;br /&gt;
The default /etc/ttys file isn't listening on the serial ports, so we change that by simply editing the file.... &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ed /etc/ttys&lt;br /&gt;
1,8s/^0/1/p&lt;br /&gt;
w&lt;br /&gt;
q&lt;br /&gt;
# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== reboot ===&lt;br /&gt;
There is no reboot command so run sync a few times, then Control+E to interrupt and quit the simulator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
# sync&lt;br /&gt;
#                               [## Hit CTRL-E here]&lt;br /&gt;
Simulation stopped, PC: 002502 (MOV (SP)+,177776)&lt;br /&gt;
sim&amp;gt; q&lt;br /&gt;
Goodbye&lt;br /&gt;
&lt;br /&gt;
C:\temp\v6\myv6&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running normally ==&lt;br /&gt;
With the install all done, let's use the following ini file for normal operations.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set cpu 11/40&lt;br /&gt;
set cpu idle&lt;br /&gt;
set tto 7b&lt;br /&gt;
set tm0 locked&lt;br /&gt;
attach rk0 rk0&lt;br /&gt;
attach rk1 rk1&lt;br /&gt;
attach rk2 rk2&lt;br /&gt;
attach lpt printer.txt&lt;br /&gt;
set dci en&lt;br /&gt;
set dci lines=8&lt;br /&gt;
set dco 7b&lt;br /&gt;
att dci 5555&lt;br /&gt;
boot rk0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we fire up the emulator we can then attach on tcp port 5555 for additional users.  To boot unix, just pass the name unix to the bootloader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling XQ&lt;br /&gt;
Listening on port 5555 (socket 108)&lt;br /&gt;
@unix&lt;br /&gt;
&lt;br /&gt;
login: root&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It's also worth noting that there is no root password.&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11207</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11207"/>
				<updated>2014-06-22T14:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Fuzzball dsd 880 notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits.&lt;br /&gt;
A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2&lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball clock notes. ===&lt;br /&gt;
&lt;br /&gt;
The STARTF.COM on Mills fuzzball archive runs this before booting BOS.&lt;br /&gt;
&lt;br /&gt;
        DATE 1-JAN-92&lt;br /&gt;
        R SETCLK&lt;br /&gt;
&lt;br /&gt;
It is used to set time and date from local reference. The clocks in vogue at the time often don't provide the year, so this is specified first with the RT-11 DATE command.&lt;br /&gt;
&lt;br /&gt;
SETCLK can be conditionally assembled. Assuming the defaults were used (suspend disbelief here) there is a PST/Traconexattached to what simh console keyboard uses as console keyboard.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address&lt;br /&gt;
        .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type&lt;br /&gt;
&lt;br /&gt;
Simh:&lt;br /&gt;
        sim&amp;gt; sh TTI&lt;br /&gt;
        TTI address=17777560-17777563, vector=60&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COM12:  .ASCIZ  'Enter date (mm/dd/yy): '&amp;lt;200&amp;gt;&lt;br /&gt;
COM13:  .ASCIZ  'Enter time (hh:mm:ss): '&amp;lt;200&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball CPU / bus/ MMU / LTC / disk notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; SIMH config file to emulate DCN6 fuzzball hardware&lt;br /&gt;
;&lt;br /&gt;
; &amp;quot;Laugh it up, fuzzball.&amp;quot;&lt;br /&gt;
;  Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;br /&gt;
;&lt;br /&gt;
; disable a lot of stuff first&lt;br /&gt;
;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set CR dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set rq dis&lt;br /&gt;
; &lt;br /&gt;
; From SUP6.MAC, the system conditionals for dcn6&lt;br /&gt;
; CPU == 5    ;sup cpu/bus type (22-bit I/D space)&lt;br /&gt;
;&lt;br /&gt;
; The CPU and memory configuration can be:&lt;br /&gt;
;&lt;br /&gt;
; CPU   PS      Memory&lt;br /&gt;
; -----------------------------------------------------------------&lt;br /&gt;
; 0     no      16      LSI-11/2 (without PS), 16-bit bus&lt;br /&gt;
; 1     yes     16      PDP11, LSI-11/2/23/73 (with PS), 16-bit bus&lt;br /&gt;
; 2     yes     18      PDP11, LSI-11/23/73 18-bit bus (default)&lt;br /&gt;
; 3     yes     22      LSI-11/23/73 22-bit bus&lt;br /&gt;
; 4     yes     22      LSI-11/73 22-bit bus with coincident i/d space&lt;br /&gt;
; 5     yes     22      LSI-11/73 22-bit bus with separate i/d space&lt;br /&gt;
;&lt;br /&gt;
; The 11/73 has an MMU, so let's give this a shot w/ 5, else try 3 and 4&lt;br /&gt;
;&lt;br /&gt;
set cpu 11/73 2048K&lt;br /&gt;
;&lt;br /&gt;
; Print listings until we have TCT/IP up!&lt;br /&gt;
;&lt;br /&gt;
set lpt enabled&lt;br /&gt;
ATTACH LPT LPT.TXT&lt;br /&gt;
;&lt;br /&gt;
; not sure if this is right,&lt;br /&gt;
; maybe 7b works better w/&lt;br /&gt;
; KED and friends?&lt;br /&gt;
; Mills does a &lt;br /&gt;
; SET TT: WIDTH=80&lt;br /&gt;
; SET TT: TAB&lt;br /&gt;
; SET TT: SCOPE&lt;br /&gt;
; in STARTF.COM&lt;br /&gt;
;&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
;&lt;br /&gt;
; Hardware clocks&lt;br /&gt;
;&lt;br /&gt;
; For UNIBUS systems the interval timer and system clock functions&lt;br /&gt;
; can be provided by the KW11-L or KW11-P. For Q-BUS systems these&lt;br /&gt;
; functions can be provided by the integral LTC or KWV11-A/C. For the&lt;br /&gt;
; highest accuracy and lowest overhead, the combination of LTC as the&lt;br /&gt;
; interval timer plus KWV11-A/C as the system clock is recommended.&lt;br /&gt;
;&lt;br /&gt;
; HDWCLK Timer          Clock&lt;br /&gt;
; --------------------------------------------------------------&lt;br /&gt;
; 0     KW11-L/LTC      KW11-L/LTC      UNIBUS and Q-BUS&lt;br /&gt;
; 1     KW11-P          KW11-P          UNIBUS only&lt;br /&gt;
; 2     KWV11-A/C       KWV11-A/C       Q-BUS only&lt;br /&gt;
; 3     LTC             KWV11-A/C       Q-BUS only&lt;br /&gt;
;&lt;br /&gt;
; DCN6 had:&lt;br /&gt;
; HDWCLK  ==      3               ;sup hardware clock (kwv11-a/c)&lt;br /&gt;
; but simh doesn't have that (yet).&lt;br /&gt;
; 1 is available in a simh qbus system, but that's a bit weird.&lt;br /&gt;
; I'll go for 0 for now.&lt;br /&gt;
;&lt;br /&gt;
SET CLK 60HZ&lt;br /&gt;
;&lt;br /&gt;
; Now for disks&lt;br /&gt;
; there is the DSK     Disk driver process&lt;br /&gt;
; and...&lt;br /&gt;
; DSKDU   MSCP disk driver&lt;br /&gt;
; DSKDY   RX21/RX02 disk driver&lt;br /&gt;
; DSKDL   RL11/RL01/RL02 disk driver&lt;br /&gt;
; DSKVM   RAM disk driver&lt;br /&gt;
; DSKFD   AED 6200 disk driver&lt;br /&gt;
; &lt;br /&gt;
; DCN6 had:&lt;br /&gt;
; CS.D22 ==  2  ;dskdy rx02 controller (sigma rxv31 22-bit)&lt;br /&gt;
; well.. that's DSKDY   &lt;br /&gt;
;&lt;br /&gt;
;; Pdp11/dcn rx21/rx02 disk driver&lt;br /&gt;
;;&lt;br /&gt;
;; This module is an extension of the disk driver process. it services&lt;br /&gt;
;; The dec rx21/rxv21 disk controller with up to two rx02 drives and ssdd&lt;br /&gt;
;; disks. It also supports 22-bit mode and dsdd disks using the dsd 880 or&lt;br /&gt;
;; sigma rxv31 controllers. This driver does not support sssd disks.&lt;br /&gt;
;;&lt;br /&gt;
;; Max blocks: 988/1976, rt-11 directory segments: 4 (8 blocks), rt-11 id: 6&lt;br /&gt;
;;&lt;br /&gt;
;; Note: standard csr/vector addresses are 777170/264.&lt;br /&gt;
;;&lt;br /&gt;
;; Conditional assembly switches&lt;br /&gt;
;;&lt;br /&gt;
;.IIF NDF,CS.D22 CS.D22 == 0     ;0: dec rxv21, 1: dsd 880, 2: sigma rxv31&lt;br /&gt;
;;&lt;br /&gt;
;&lt;br /&gt;
; &lt;br /&gt;
; no simh clue here&lt;br /&gt;
; The RX211 is disabled in a Qbus system with more than 256KB&lt;br /&gt;
; so much for dskdy&lt;br /&gt;
; with the below I can get a build system up at least..&lt;br /&gt;
;&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
;&lt;br /&gt;
;&lt;br /&gt;
; That's simhese for the RQDX3/UDA50 MSCP Disk Controllers (RQ, RQB, RQC, RQD)&lt;br /&gt;
; with a RD54 drive.&lt;br /&gt;
;&lt;br /&gt;
; there might be some support for that in the fuzz..&lt;br /&gt;
;&lt;br /&gt;
; Pdp11/dcn mscp disk driver&lt;br /&gt;
;&lt;br /&gt;
; This module is an extension of the disk driver process. it services&lt;br /&gt;
; the dec uda50 mscp disk controller and drives. Note that this driver&lt;br /&gt;
; supports up to six partitions on mscp unit 0 (hard disk), together&lt;br /&gt;
; with one partition each on mscp units 1 and 2 (floppette disks). RT-11&lt;br /&gt;
; drives 0-5 are associated with the six partitions on unit 0, while&lt;br /&gt;
; drive 6 is associated with unit 1 and drive 7 with unit 2.&lt;br /&gt;
;&lt;br /&gt;
; Max blocks: 65535, rt-11 directory segments: 32 (64 blocks), rt-11 id:&lt;br /&gt;
; 50&lt;br /&gt;
;&lt;br /&gt;
; Note: standard csr/vector addresses are 172150/154.&lt;br /&gt;
;&lt;br /&gt;
;;&lt;br /&gt;
; The dsd 880 mentioned above is an interesting beast.&lt;br /&gt;
; brochure at https://archive.org/details/bitsavers_dsdDSD880B_7659665&lt;br /&gt;
; ..and, this lucky chap got the front panel of one of those disks from a fuzzie&lt;br /&gt;
; http://www.vintagecomputer.net/browse_thread.cfm?id=357&lt;br /&gt;
;&lt;br /&gt;
sh dev&lt;br /&gt;
; this should show smth like&lt;br /&gt;
; CLK     60Hz, address=17777546-17777547, vector=100&lt;br /&gt;
; TTI     address=17777560-17777563, vector=60&lt;br /&gt;
; TTO     address=17777564-17777567, vector=64&lt;br /&gt;
; LPT     address=17777514-17777517, vector=200&lt;br /&gt;
; RQ      address=17772150-17772153, no vector, RQDX3, 4 units&lt;br /&gt;
;&lt;br /&gt;
; far from done, but hey..&lt;br /&gt;
boot rq0&lt;br /&gt;
quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=SIMH&amp;diff=11206</id>
		<title>SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=SIMH&amp;diff=11206"/>
				<updated>2014-06-22T07:30:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Emulated Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://sourceforge.net/projects/simh/ SIMH] ([http://simh.trailing-edge.com/ home page]) consists of simulators for about 20 different machines, and as such, is a very important emulator for anyone interested in computer history, in particular, that of [[DEC]] systems, as the PDPs and even the [[VAX]] are well emulated by it.  It can even emulate network interfaces for the [[PDP-10]], [[PDP-11]] and VAX, so the emulated systems can network directly onto the Internet, if the emulated operating system supports it, like BSD or [[VMS]].&lt;br /&gt;
&lt;br /&gt;
SIMH was primarily written by Bob Supnik of Zork porting fame, and is now widely contributed to by others as well.&lt;br /&gt;
&lt;br /&gt;
The current version is 3.9-0, released on May 3rd, 2012.  More up to date developments may be found on their [https://github.com/simh/simh source code repository].&lt;br /&gt;
&lt;br /&gt;
== Emulated Systems ==&lt;br /&gt;
=== Altair 8800 ===&lt;br /&gt;
This is the Altair 8800 emulator which can run both AltairDOS and CP/M 2.2&lt;br /&gt;
&lt;br /&gt;
=== Altair Z80 ===&lt;br /&gt;
&lt;br /&gt;
SIMH emulates the [[Altair]] architecture with your choice of either a [[Z80]] or [[Intel 8080]] processor.  It can run [[CP/M]].&lt;br /&gt;
&lt;br /&gt;
=== Honeywell H316/H516 ===&lt;br /&gt;
&lt;br /&gt;
Emulates the work horse behind the ARPANET IMPs. In 2013 the emulator was modified to bring up the original IMP code and connect them together (tunnelled over IP). Demo instructions are available in the latest source.  The IMP side of the 1822 is there, but there is not much of a host side yet. I don't see anything in simh that would be able to plug in anyway. An associated computer consultants (acc) 1822 card for the pdp-11 would be a start.&lt;br /&gt;
&lt;br /&gt;
=== HP2100 ===&lt;br /&gt;
&lt;br /&gt;
I really don't know much about this machine, but I included a way to run the basic1 program I found online.  It kind of reminds me of the ROMBASIC back 'in the day'... It's basic with line  numbers so I know it's kind of old..  I really don't know much otherwise about this machine.&lt;br /&gt;
&lt;br /&gt;
=== Interdata 8/32 ===&lt;br /&gt;
&lt;br /&gt;
The interdata 8/32 micro was the first non [[PDP-11]] to run UNIX.  SIMH can run both v6 &amp;amp; v7 research editions for the Interdata.&lt;br /&gt;
&lt;br /&gt;
=== Nova ===&lt;br /&gt;
&lt;br /&gt;
SIMH can run [[RDOS]] 7.5 for the [[Nova]].&lt;br /&gt;
&lt;br /&gt;
SIMH also includes [[Data General Eclipse]] support, but there is no available OS.&lt;br /&gt;
&lt;br /&gt;
=== DEC PDP-1 === &lt;br /&gt;
&lt;br /&gt;
The original [[PDP-1]] is emulated although most of the software is expected to be toggled from the console, or loaded from paper tape.  SIMH does not emulate the display needed for [[spacewar]].&lt;br /&gt;
&lt;br /&gt;
=== DEC PDP-8 ===&lt;br /&gt;
&lt;br /&gt;
The [[PDP-8]] was the first 'affordable' microcomputer... [[OS/8]] runs under SIMH.&lt;br /&gt;
&lt;br /&gt;
=== DEC PDP-10 ===&lt;br /&gt;
&lt;br /&gt;
The [[PDP-10]] model KS processor is emulated and will run all but the latest versions of the [[TOPS-10]] and [[TOPS-20]] operating systems.&lt;br /&gt;
&lt;br /&gt;
=== DEC PDP-11 ===&lt;br /&gt;
&lt;br /&gt;
The [[PDP-11]] is emulated enough to run most PDP-11 operating systems including the early Unixes (v1,4,5,6,7 are known to run).&lt;br /&gt;
&lt;br /&gt;
=== MicroVAX II ===&lt;br /&gt;
&lt;br /&gt;
SIMH can run the [[MicroVAX II]] with as much as 256mb of emulated ram.  Both VMS, NetBSD, OpenBSD and original BSD can run on this emulator.  Additionally, the network adapter functions correctly under this emulator, unlike the [[VAX-11/780]].&lt;br /&gt;
&lt;br /&gt;
=== VAX 11/780 ===&lt;br /&gt;
&lt;br /&gt;
SIMH can also emulate the first model of the VAX, the [[VAX-11/780]].  This is appropriate for older operating systems like VMS release 1.x and the original 32v, 3BSD and all 4BSD releases.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
SIMH can either take in configuration parameters interactively, or you can store them in a file.  If the file is the name of the emulator+.ini it will load them automatically (eg vax.exe loads vax.ini automatically).  The CONTROL+E key will break the emulation and bring you back to the SIMH console where you can alter the running state.&lt;br /&gt;
&lt;br /&gt;
Networking is covered in the [[Networking with SIMH]] guide.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
While not immediately obvious, there is a mailing list here [http://mailman.trailing-edge.com/pipermail/simh/ http://mailman.trailing-edge.com/pipermail/simh/].  I would recommend searching the thing, and you'll be amazed how much good information there is in there.  Likewise, I'd recommend joining the list if you are interested in running SIMH.  You can join [http://mailman.trailing-edge.com/mailman/listinfo/simh here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11201</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11201"/>
				<updated>2014-06-12T18:44:49Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Fuzzball CPU .. more notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits.&lt;br /&gt;
A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2&lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball clock notes. ===&lt;br /&gt;
&lt;br /&gt;
The STARTF.COM on Mills fuzzball archive runs this before booting BOS.&lt;br /&gt;
&lt;br /&gt;
        DATE 1-JAN-92&lt;br /&gt;
        R SETCLK&lt;br /&gt;
&lt;br /&gt;
It is used to set time and date from local reference. The clocks in vogue at the time often don't provide the year, so this is specified first with the RT-11 DATE command.&lt;br /&gt;
&lt;br /&gt;
SETCLK can be conditionally assembled. Assuming the defaults were used (suspend disbelief here) there is a PST/Traconexattached to what simh console keyboard uses as console keyboard.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address&lt;br /&gt;
        .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type&lt;br /&gt;
&lt;br /&gt;
Simh:&lt;br /&gt;
        sim&amp;gt; sh TTI&lt;br /&gt;
        TTI address=17777560-17777563, vector=60&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COM12:  .ASCIZ  'Enter date (mm/dd/yy): '&amp;lt;200&amp;gt;&lt;br /&gt;
COM13:  .ASCIZ  'Enter time (hh:mm:ss): '&amp;lt;200&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball CPU / bus/ MMU / LTC / disk notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; SIMH config file to emulate DCN6 fuzzball hardware&lt;br /&gt;
;&lt;br /&gt;
; &amp;quot;Laugh it up, fuzzball.&amp;quot;&lt;br /&gt;
;  Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;br /&gt;
;&lt;br /&gt;
; disable a lot of stuff first&lt;br /&gt;
;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
set CR dis&lt;br /&gt;
set rl dis&lt;br /&gt;
set rq dis&lt;br /&gt;
; &lt;br /&gt;
; From SUP6.MAC, the system conditionals for dcn6&lt;br /&gt;
; CPU == 5    ;sup cpu/bus type (22-bit I/D space)&lt;br /&gt;
;&lt;br /&gt;
; The CPU and memory configuration can be:&lt;br /&gt;
;&lt;br /&gt;
; CPU   PS      Memory&lt;br /&gt;
; -----------------------------------------------------------------&lt;br /&gt;
; 0     no      16      LSI-11/2 (without PS), 16-bit bus&lt;br /&gt;
; 1     yes     16      PDP11, LSI-11/2/23/73 (with PS), 16-bit bus&lt;br /&gt;
; 2     yes     18      PDP11, LSI-11/23/73 18-bit bus (default)&lt;br /&gt;
; 3     yes     22      LSI-11/23/73 22-bit bus&lt;br /&gt;
; 4     yes     22      LSI-11/73 22-bit bus with coincident i/d space&lt;br /&gt;
; 5     yes     22      LSI-11/73 22-bit bus with separate i/d space&lt;br /&gt;
;&lt;br /&gt;
; The 11/73 has an MMU, so let's give this a shot w/ 5, else try 3 and 4&lt;br /&gt;
;&lt;br /&gt;
set cpu 11/73 2048K&lt;br /&gt;
;&lt;br /&gt;
; Print listings until we have TCT/IP up!&lt;br /&gt;
;&lt;br /&gt;
set lpt enabled&lt;br /&gt;
ATTACH LPT LPT.TXT&lt;br /&gt;
;&lt;br /&gt;
; not sure if this is right,&lt;br /&gt;
; maybe 7b works better w/&lt;br /&gt;
; KED and friends?&lt;br /&gt;
; Mills does a &lt;br /&gt;
; SET TT: WIDTH=80&lt;br /&gt;
; SET TT: TAB&lt;br /&gt;
; SET TT: SCOPE&lt;br /&gt;
; in STARTF.COM&lt;br /&gt;
;&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
;&lt;br /&gt;
; Hardware clocks&lt;br /&gt;
;&lt;br /&gt;
; For UNIBUS systems the interval timer and system clock functions&lt;br /&gt;
; can be provided by the KW11-L or KW11-P. For Q-BUS systems these&lt;br /&gt;
; functions can be provided by the integral LTC or KWV11-A/C. For the&lt;br /&gt;
; highest accuracy and lowest overhead, the combination of LTC as the&lt;br /&gt;
; interval timer plus KWV11-A/C as the system clock is recommended.&lt;br /&gt;
;&lt;br /&gt;
; HDWCLK Timer          Clock&lt;br /&gt;
; --------------------------------------------------------------&lt;br /&gt;
; 0     KW11-L/LTC      KW11-L/LTC      UNIBUS and Q-BUS&lt;br /&gt;
; 1     KW11-P          KW11-P          UNIBUS only&lt;br /&gt;
; 2     KWV11-A/C       KWV11-A/C       Q-BUS only&lt;br /&gt;
; 3     LTC             KWV11-A/C       Q-BUS only&lt;br /&gt;
;&lt;br /&gt;
; DCN6 had:&lt;br /&gt;
; HDWCLK  ==      3               ;sup hardware clock (kwv11-a/c)&lt;br /&gt;
; but simh doesn't have that (yet).&lt;br /&gt;
; 1 is available in a simh qbus system, but that's a bit weird.&lt;br /&gt;
; I'll go for 0 for now.&lt;br /&gt;
;&lt;br /&gt;
SET CLK 60HZ&lt;br /&gt;
;&lt;br /&gt;
; Now for disks&lt;br /&gt;
; there is the DSK     Disk driver process&lt;br /&gt;
; and...&lt;br /&gt;
; DSKDU   MSCP disk driver&lt;br /&gt;
; DSKDY   RX21/RX02 disk driver&lt;br /&gt;
; DSKDL   RL11/RL01/RL02 disk driver&lt;br /&gt;
; DSKVM   RAM disk driver&lt;br /&gt;
; DSKFD   AED 6200 disk driver&lt;br /&gt;
; &lt;br /&gt;
; DCN6 had:&lt;br /&gt;
; CS.D22 ==  2  ;dskdy rx02 controller (sigma rxv31 22-bit)&lt;br /&gt;
; well.. that's DSKDY   &lt;br /&gt;
;&lt;br /&gt;
;; Pdp11/dcn rx21/rx02 disk driver&lt;br /&gt;
;;&lt;br /&gt;
;; This module is an extension of the disk driver process. it services&lt;br /&gt;
;; The dec rx21/rxv21 disk controller with up to two rx02 drives and ssdd&lt;br /&gt;
;; disks. It also supports 22-bit mode and dsdd disks using the dsd 880 or&lt;br /&gt;
;; sigma rxv31 controllers. This driver does not support sssd disks.&lt;br /&gt;
;;&lt;br /&gt;
;; Max blocks: 988/1976, rt-11 directory segments: 4 (8 blocks), rt-11 id: 6&lt;br /&gt;
;;&lt;br /&gt;
;; Note: standard csr/vector addresses are 777170/264.&lt;br /&gt;
;;&lt;br /&gt;
;; Conditional assembly switches&lt;br /&gt;
;;&lt;br /&gt;
;.IIF NDF,CS.D22 CS.D22 == 0     ;0: dec rxv21, 1: dsd 880, 2: sigma rxv31&lt;br /&gt;
;;&lt;br /&gt;
;&lt;br /&gt;
; &lt;br /&gt;
; no simh clue here&lt;br /&gt;
; The RX211 is disabled in a Qbus system with more than 256KB&lt;br /&gt;
; so much for dskdy&lt;br /&gt;
; with the below I can get a build system up at least..&lt;br /&gt;
;&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
;&lt;br /&gt;
; That's simhese for the RQDX3/UDA50 MSCP Disk Controllers (RQ, RQB, RQC, RQD)&lt;br /&gt;
; with a RD54 drive.&lt;br /&gt;
;&lt;br /&gt;
; there might be some support for that in the fuzz..&lt;br /&gt;
;&lt;br /&gt;
; Pdp11/dcn mscp disk driver&lt;br /&gt;
;&lt;br /&gt;
; This module is an extension of the disk driver process. it services&lt;br /&gt;
; the dec uda50 mscp disk controller and drives. Note that this driver&lt;br /&gt;
; supports up to six partitions on mscp unit 0 (hard disk), together&lt;br /&gt;
; with one partition each on mscp units 1 and 2 (floppette disks). RT-11&lt;br /&gt;
; drives 0-5 are associated with the six partitions on unit 0, while&lt;br /&gt;
; drive 6 is associated with unit 1 and drive 7 with unit 2.&lt;br /&gt;
;&lt;br /&gt;
; Max blocks: 65535, rt-11 directory segments: 32 (64 blocks), rt-11 id:&lt;br /&gt;
; 50&lt;br /&gt;
;&lt;br /&gt;
; Note: standard csr/vector addresses are 172150/154.&lt;br /&gt;
;&lt;br /&gt;
sh dev&lt;br /&gt;
; this should show smth like&lt;br /&gt;
; CLK     60Hz, address=17777546-17777547, vector=100&lt;br /&gt;
; TTI     address=17777560-17777563, vector=60&lt;br /&gt;
; TTO     address=17777564-17777567, vector=64&lt;br /&gt;
; LPT     address=17777514-17777517, vector=200&lt;br /&gt;
; RQ      address=17772150-17772153, no vector, RQDX3, 4 units&lt;br /&gt;
;&lt;br /&gt;
; far from done, but hey..&lt;br /&gt;
boot rq0&lt;br /&gt;
quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11137</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11137"/>
				<updated>2014-02-23T22:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits.&lt;br /&gt;
A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2&lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball clock notes. ===&lt;br /&gt;
&lt;br /&gt;
The STARTF.COM on Mills fuzzball archive runs this before booting BOS.&lt;br /&gt;
&lt;br /&gt;
        DATE 1-JAN-92&lt;br /&gt;
        R SETCLK&lt;br /&gt;
&lt;br /&gt;
It is used to set time and date from local reference. The clocks in vogue at the time often don't provide the year, so this is specified first with the RT-11 DATE command.&lt;br /&gt;
&lt;br /&gt;
SETCLK can be conditionally assembled. Assuming the defaults were used (suspend disbelief here) there is a PST/Traconexattached to what simh console keyboard uses as console keyboard.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address&lt;br /&gt;
        .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type&lt;br /&gt;
&lt;br /&gt;
Simh:&lt;br /&gt;
        sim&amp;gt; sh TTI&lt;br /&gt;
        TTI address=17777560-17777563, vector=60&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COM12:  .ASCIZ  'Enter date (mm/dd/yy): '&amp;lt;200&amp;gt;&lt;br /&gt;
COM13:  .ASCIZ  'Enter time (hh:mm:ss): '&amp;lt;200&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball CPU / memory notes ===&lt;br /&gt;
&lt;br /&gt;
The supervisor can be assembled for the following 5 configurations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; CPU   PS      Memory&lt;br /&gt;
; -----------------------------------------------------------------&lt;br /&gt;
; 0     no      16      LSI-11/2 (without PS), 16-bit bus&lt;br /&gt;
; 1     yes     16      PDP11, LSI-11/2/23/73 (with PS), 16-bit bus&lt;br /&gt;
; 2     yes     18      PDP11, LSI-11/23/73 18-bit bus (default)&lt;br /&gt;
; 3     yes     22      LSI-11/23/73 22-bit bus&lt;br /&gt;
; 4     yes     22      LSI-11/73 22-bit bus with coincident i/d space&lt;br /&gt;
; 5     yes     22      LSI-11/73 22-bit bus with separate i/d space&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11136</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=11136"/>
				<updated>2014-02-02T13:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: clock note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits.&lt;br /&gt;
A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2&lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
=== Fuzzball clock notes. ===&lt;br /&gt;
&lt;br /&gt;
The STARTF.COM on Mills fuzzball archive runs this before booting BOS.&lt;br /&gt;
&lt;br /&gt;
        DATE 1-JAN-92&lt;br /&gt;
        R SETCLK&lt;br /&gt;
&lt;br /&gt;
It is used to set time and date from local reference. The clocks in vogue at the time often don't provide the year, so this is specified first with the RT-11 DATE command.&lt;br /&gt;
&lt;br /&gt;
SETCLK can be conditionally assembled. Assuming the defaults were used (suspend disbelief here) there is a PST/Traconexattached to what simh console keyboard uses as console keyboard.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address&lt;br /&gt;
        .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type&lt;br /&gt;
&lt;br /&gt;
Simh:&lt;br /&gt;
        sim&amp;gt; sh TTI&lt;br /&gt;
        TTI address=17777560-17777563, vector=60&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COM12:  .ASCIZ  'Enter date (mm/dd/yy): '&amp;lt;200&amp;gt;&lt;br /&gt;
COM13:  .ASCIZ  'Enter time (hh:mm:ss): '&amp;lt;200&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=386BSD&amp;diff=11121</id>
		<title>386BSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=386BSD&amp;diff=11121"/>
				<updated>2014-01-06T19:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: added 0.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:386BSD logo.jpg|thumb|150px|left|386BSD logo]]&lt;br /&gt;
{{Infobox OS &lt;br /&gt;
| image = 386bsd.png&lt;br /&gt;
| caption = Logging into a 386 BSD system&lt;br /&gt;
| name = 386 BSD&lt;br /&gt;
| creator = CSRG, University of California, Berkeley&lt;br /&gt;
| current version = 1.0 (1993)&lt;br /&gt;
| year introduced = 1991&lt;br /&gt;
| type = Multitasking, multiuser&lt;br /&gt;
| architecture = [[i386]] theoretically portable&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
386 BSD was the first time that the [[Net/2]] project was put into a functional release onto commodity hardware, and into the public under the BSD license. As the project eventually stalled, it became the starting point for both [[NetBSD]] &amp;amp; [[FreeBSD]], via the patchkits.  While 386 BSD may be of historical significance, it's not up to the challenge of day to day usage, as it hasn't received any updates or patches in over 15 years.&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
There seems to have been four releases of 386 BSD, starting with it being freely available on the internet, then only available to those who purchased CD-ROMs.&lt;br /&gt;
&lt;br /&gt;
=== 0.0 ===&lt;br /&gt;
This is the first version of 386 BSD that was released.  This version doesn't share it's disk with MS-DOS or any other OS's, and uses a VAX style disktab/disklabel, making it difficult to install.&lt;br /&gt;
&lt;br /&gt;
*[[386BSD 0.0]]&lt;br /&gt;
&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
The 0.1 release was the most popular, as 0.0 proved to be very difficult to install, I'd think because it was more &amp;quot;VAX&amp;quot; like in how it treated the disks, and most people are not familiar with disklabels.  There were 2 revisions to 0.1, with the patchkits, that eventually gave birth to both [[NetBSD]] and [[FreeBSD]]. Once patchkit 023 is installed, 386BSD will then run under [[Qemu]] 0.11.x&lt;br /&gt;
&lt;br /&gt;
*[[386 BSD 0.1]]&lt;br /&gt;
*[[386 BSD 0.1 pl23]]&lt;br /&gt;
*[[386 BSD 0.1 pl24]]&lt;br /&gt;
&lt;br /&gt;
*X11  I've found a massive lead [http://cd.textfiles.com/ldr199410/DISC2/X11/XFREE861/ here].  Thanks to shovelware CD makers!&lt;br /&gt;
&lt;br /&gt;
=== 0.2 ===&lt;br /&gt;
An update for ISO-9660 and Rock Ridge extensions. See DrDobbs July 1993.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
This was the CD-ROM / DrDobbs release&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
In an email with Lynne Jolitz, she has confirmed that there was a 2.0 release.&lt;br /&gt;
&lt;br /&gt;
== Where can I get a copy ==&lt;br /&gt;
&lt;br /&gt;
At the moment the only known places to get copies are:&lt;br /&gt;
&lt;br /&gt;
* [http://www.oldlinux.org/Linux.old/distributions/386BSD/ oldlinux.org] 0.0, 0.1 and the two patchkits.&lt;br /&gt;
* [ftp://minnie.tuhs.org/BSD/ tuhs.org] 0.0, 0.1 and the two patchkits.&lt;br /&gt;
* [ftp://ftp1.am.freebsd.org/pub/ancientBSD/386BSD/cd1.iso freebsd.org] ISO with 0.0, 0.1, the patchkits in various states, a large number of other contributions to 0.0 and 0.1 and a USENET archive of comp.unix.bsd.&lt;br /&gt;
&lt;br /&gt;
== How do I get this to run?! ==&lt;br /&gt;
Right now the only version fully running in emulation is 0.1&lt;br /&gt;
The quickest way is to use [https://sourceforge.net/projects/bsd42/files/4BSD%20under%20Windows/v0.4/386BSD-0.1.exe/download 386BSD-0.1exe] which is a ready to run package for Windows users that includes a preconfigured Qemu &amp;amp; disk image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Nav Unix}}&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Talk:386BSD&amp;diff=11120</id>
		<title>Talk:386BSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Talk:386BSD&amp;diff=11120"/>
				<updated>2014-01-06T10:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* 64 bit Jolix */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can get 386BSD to run in a patched bochs 2.4.2, full blown with all the patches, triple make world, the works. Ok, ok, try to compile perl-5.10.1 and the compiler segfaults, but what is in the distro works. Everything works. There exists a broken (in a mere two pieces) shell script that reproduces a bochs image and environment on an AWS default fedora server. The script is of such questionable and perverted command line art that it is deemed unredistributable in its current form. It can be done!&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
Can you give more details?&lt;br /&gt;
Suddenly this is interesting again... !&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 17:57, 3 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Ok here goes. Take a eg. Basic Fedora Core 8 box and install required software.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 386BSD bootflop does something odd. The workaround is to patch bochs to ignore it instead of panic when 386BSD tries to write 0x02 to port 20h. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# get bochs&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz?use_mirror=kent&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. There is a catch 22. 386BSD comes without gzip, but the patches are gzipped, here your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
printf 'date; echo ${1##/*/} &amp;gt;/tmp/x'  &amp;gt;&amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=/root/bsd/tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy for our box with a fancy 1.44MB floppy drive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a hard drive for the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm disk.img; printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now be able to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bochs will come up booting a tiny 386BSD from floppy, this needs to go to disk, which can be done with a simple&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now try to reboot with..:&lt;br /&gt;
&amp;lt;pre&amp;gt;shutdown -r now&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
..this will go horribly wrong but don't panic. Boch will probably crash, just fire it up  with..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;bochs -q -f bochsrc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD comes up and shuts down immediately causing bochs to crash again. This is a reoccuring theme, don't worry about it and fire bochs up again anytime this happens. Next, the real work, installing the distro.&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
The tiny 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, so try to do as much as possible with shell scripts. In this case everything just goes into .netrc.&lt;br /&gt;
&lt;br /&gt;
Extract will complain about something being missing, according to an ancient FAQ this is a joke from Jolitz. Extract also opens more files than tiny 386BSD sh can handle, hence the use csh.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
# .netrc is now ready to do the installaion&lt;br /&gt;
# fire up the network and go, go go&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all goes well bochs crashes when 386BSD shuts down. Restart twice and 386BSD should greet you with a login prompt and scold you for loging in as root (no password) when you do. Next up, patch the system and do a buildworld.&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
Now run the first pile of patches.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch /dist&lt;br /&gt;
cd /dist&lt;br /&gt;
cd bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
cd /patch&lt;br /&gt;
cd bin&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
cd /patch&lt;br /&gt;
cd bin&lt;br /&gt;
sh -x afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recompile the GENERIC kernel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When bochs goes down because of the reboot, up the amount of mem or the following will take ages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /dist/bin&lt;br /&gt;
buildworld.sh&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now do it all again with the second patch set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd patch/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
sh -x afterinstall.sh&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For good meassure and proof the box works do another buildworld. Then go do something fun with it. Hack a uname system call into the kernel, fix the ancient zoneinfo, fail at getting ssh to work on it, etc..&lt;br /&gt;
&lt;br /&gt;
If something is broken in the commands/scripts above, sorry, I fsckd up, but they should contain enough hints to get a 386BSD box emulated.&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
:Very interesting. I was using the 0.1 release (actually it may have been the 0.0 release, around Jan. 1992) for a short while when it came out, the reason I switched over to Linux 0.95 (early 1992) was IIRC something about the disk usage - I seem to recall that 386BSD wanted the whole disk while it was easy enough to partition with Linux. Or something other that made it easier to let Linux co-exist. Fuzzy memory. -- [[User:Tor|Tor]] 13:43, 30 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Damn dude, that's like an install article... feel free to write one (use any tutorial as a template if you want) or I'll just do it...&lt;br /&gt;
&lt;br /&gt;
Thanks that's some great work thought!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 04:21, 5 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I'll try to iron out any misdirections in the above and fold it into a networking with bochs and a 386BSD on bochs tutorial.&lt;br /&gt;
[[User:Dugo|Dugo]] 10:23, 5 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Awesome job so far!&lt;br /&gt;
[[User:Neozeed|neozeed]] 20:40, 9 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Getting there. While I think it is important to have this piece of history (386BSD 0.1 + patchkits) preserved for future emulator use there is something missing. Anyone with a clue where I can get an ISO of the 386BSD 1.0 release William &amp;amp; Lynne Jolitz show off on their website http://www.386bsd.org/past ?&lt;br /&gt;
[[User:Dugo|Dugo]] 05:26, 13 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Re: ''&amp;quot;The 386BSD bootflop does something odd. The workaround is to patch bochs to ignore it instead of panic when 386BSD tries to write 0x02 to port 20h.&amp;quot;''&lt;br /&gt;
:I had a look at bochs-2.4.6, and it appears to have the 386BSD workaround patch included now. --[[User:Tor|Tor]] ([[User talk:Tor|talk]]) 01:40, 2 April 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thx, updated the install manual. [[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 03:43, 3 April 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== 2.0 ==&lt;br /&gt;
&lt;br /&gt;
I browsed through a load of old DDJ in the late 90s but can't remember a full blown 2.0 CDROM release. A Net release would have left traces on &amp;lt;strike&amp;gt;Dejanews&amp;lt;/strike&amp;gt; google news. The German wiki on 386BSD mentions something about an update disk.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ebenfalls von Dr. Dobb's Journal wurde schließlich 1995 noch ein Update auf die letzte öffentliche Version 386BSD 2.0 in Form einer Update-Diskette herausgegeben.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 64 bit Jolix ==&lt;br /&gt;
&lt;br /&gt;
Just musings I suppose..&lt;br /&gt;
http://blog.jolix.com/categorylist_html?cat_id=6&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11111</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11111"/>
				<updated>2013-07-08T15:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: Y2K info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As explained in http://www.os2museum.com/wp/?p=1907 the initial kernel suffers from a Y2K bug. This can result in timestamps with the year 1970. Unfortunately the boot floppy doesn't let you work around this because it is missing the date command. If it bothers you creating new files and directories with a timestamp predating the release date you can set the time to eg. the 16th of July 1992 using bochsrc until you have the date command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clock: time0=711244800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you are running with patch 00077 installed, Y2K+ bios dates shouldn't be a problem anymore.&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:3px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2 never happened. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Upgrade to NetBSD 0.8 ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=NetBSD&amp;diff=11110</id>
		<title>NetBSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=NetBSD&amp;diff=11110"/>
				<updated>2013-06-19T21:13:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| name = NetBSD&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| current version = NetBSD 6.1 (May 18, 2013)&lt;br /&gt;
| image = NetBSD imps.jpg&lt;br /&gt;
| caption = Of course it runs NetBSD!&lt;br /&gt;
| architecture = multiplatform&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
NetBSD is a bit of a blessing for many hobbyists, as it includes support for the [[VAX]], [[Amiga]], 68k [[Mac]]s, various [[Sun Microsystems|Sun]] systems like the [[Sun-3]] as well as a wide variety of toasters and the [[HP300]].  You might want to check the entire list at the [http://netbsd.org/Ports/ NetBSD list of ports].  There's even some discussion of a port to [[PDP-10]]s!&lt;br /&gt;
&lt;br /&gt;
NetBSD started out as a derivative of [[386 BSD]], as at the time it was a collection of patches to 386BSD.  People grew dissatisfied with the lack of updates with 386BSD, and how the patchkit kept getting larger and larger &amp;amp; unwieldy leading to the various authors of the patches to start their own fork of 386BSD, called NetBSD as it was created on the 'internet'. NetBSD focuses on portability and simplicity of the code.&lt;br /&gt;
&lt;br /&gt;
It's worth noting that a political fight within NetBSD led to the formation of [[OpenBSD]].&lt;br /&gt;
&lt;br /&gt;
== Version 0.8, 0.9, 0.9a ==&lt;br /&gt;
These early versions were heavily based on [[386 BSD]] + patchkits and contained Net/2 files subject to USL scrutiny. Due to an agreement with USL these distributions are no longer officially available.&lt;br /&gt;
&lt;br /&gt;
According to [http://www.onlamp.com/pub/a/bsd/2006/09/14/netbsd_future.html?page=2 Charles M. Hannum], &amp;quot;..the agreement is very clear, and nobody cares about that early code history any more--so this is all water under the bridge.&amp;quot;. Historians beg to differ. &lt;br /&gt;
&lt;br /&gt;
As we locate the older versions I'll add information about each release here.&lt;br /&gt;
&lt;br /&gt;
*[[NetBSD 0.8]]&lt;br /&gt;
*[[NetBSD 0.9]]&lt;br /&gt;
*[[NetBSD 0.9a]]&lt;br /&gt;
&lt;br /&gt;
== Version 1.2 ==&lt;br /&gt;
*[[NetBSD 1.2]]&lt;br /&gt;
&lt;br /&gt;
This version restored support for the [[VAX]] Platform.  Additionally more platforms were added solidifying NetBSD as a portable OS.&lt;br /&gt;
&lt;br /&gt;
== Version 5.0.2 ==&lt;br /&gt;
The exiting change (well to me) was the inclusion of unit tests in the OS so that users of less used ports (VAX) can certify that their OS is performing as it should be...&lt;br /&gt;
&lt;br /&gt;
[[Installing NetBSD 5.0.2 on the SIMH MicroVAX II]]&lt;br /&gt;
&lt;br /&gt;
== Version 5.1 ==&lt;br /&gt;
For what its worth I've installed it on SIMH&lt;br /&gt;
[[Installing NetBSD 5.1 on the SIMH MicroVAX II]]&lt;br /&gt;
&lt;br /&gt;
== Version 6.0 ==&lt;br /&gt;
Released on October 21 2012.&lt;br /&gt;
&lt;br /&gt;
== Version 6.1 ==&lt;br /&gt;
As of May 18, 2013, this is the current version.&lt;br /&gt;
&lt;br /&gt;
I'll tackle this at a later time.&lt;br /&gt;
&lt;br /&gt;
== other ==&lt;br /&gt;
[[Running NetBSD on a VAX]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Nav Unix}}&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=NetBSD&amp;diff=11109</id>
		<title>NetBSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=NetBSD&amp;diff=11109"/>
				<updated>2013-06-19T21:06:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Version 0.8, 0.9, 0.9a */ updated link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| name = NetBSD&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| current version = NetBSD 6.0 (October 15, 2012)&lt;br /&gt;
| image = NetBSD imps.jpg&lt;br /&gt;
| caption = Of course it runs NetBSD!&lt;br /&gt;
| architecture = multiplatform&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
NetBSD is a bit of a blessing for many hobbyists, as it includes support for the [[VAX]], [[Amiga]], 68k [[Mac]]s, various [[Sun Microsystems|Sun]] systems like the [[Sun-3]] as well as a wide variety of toasters and the [[HP300]].  You might want to check the entire list at the [http://netbsd.org/Ports/ NetBSD list of ports].  There's even some discussion of a port to [[PDP-10]]s!&lt;br /&gt;
&lt;br /&gt;
NetBSD started out as a derivative of [[386 BSD]], as at the time it was a collection of patches to 386BSD.  People grew dissatisfied with the lack of updates with 386BSD, and how the patchkit kept getting larger and larger &amp;amp; unwieldy leading to the various authors of the patches to start their own fork of 386BSD, called NetBSD as it was created on the 'internet'. NetBSD focuses on portability and simplicity of the code.&lt;br /&gt;
&lt;br /&gt;
It's worth noting that a political fight within NetBSD led to the formation of [[OpenBSD]].&lt;br /&gt;
&lt;br /&gt;
== Version 0.8, 0.9, 0.9a ==&lt;br /&gt;
These early versions were heavily based on [[386 BSD]] + patchkits and contained Net/2 files subject to USL scrutiny. Due to an agreement with USL these distributions are no longer officially available.&lt;br /&gt;
&lt;br /&gt;
According to [http://www.onlamp.com/pub/a/bsd/2006/09/14/netbsd_future.html?page=2 Charles M. Hannum], &amp;quot;..the agreement is very clear, and nobody cares about that early code history any more--so this is all water under the bridge.&amp;quot;. Historians beg to differ. &lt;br /&gt;
&lt;br /&gt;
As we locate the older versions I'll add information about each release here.&lt;br /&gt;
&lt;br /&gt;
*[[NetBSD 0.8]]&lt;br /&gt;
*[[NetBSD 0.9]]&lt;br /&gt;
*[[NetBSD 0.9a]]&lt;br /&gt;
&lt;br /&gt;
== Version 1.2 ==&lt;br /&gt;
*[[NetBSD 1.2]]&lt;br /&gt;
&lt;br /&gt;
This version restored support for the [[VAX]] Platform.  Additionally more platforms were added solidifying NetBSD as a portable OS.&lt;br /&gt;
&lt;br /&gt;
== Version 5.0.2 ==&lt;br /&gt;
The exiting change (well to me) was the inclusion of unit tests in the OS so that users of less used ports (VAX) can certify that their OS is performing as it should be...&lt;br /&gt;
&lt;br /&gt;
[[Installing NetBSD 5.0.2 on the SIMH MicroVAX II]]&lt;br /&gt;
&lt;br /&gt;
== Version 5.1 ==&lt;br /&gt;
For what its worth I've installed it on SIMH&lt;br /&gt;
[[Installing NetBSD 5.1 on the SIMH MicroVAX II]]&lt;br /&gt;
&lt;br /&gt;
== Version 6.0 ==&lt;br /&gt;
Released on October 21 2012.&lt;br /&gt;
&lt;br /&gt;
== Version 6.1 ==&lt;br /&gt;
As of May 18, 2013, this is the current version.&lt;br /&gt;
&lt;br /&gt;
I'll tackle this at a later time.&lt;br /&gt;
&lt;br /&gt;
== other ==&lt;br /&gt;
[[Running NetBSD on a VAX]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Nav Unix}}&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Talk:NetBSD_0.8&amp;diff=11108</id>
		<title>Talk:NetBSD 0.8</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Talk:NetBSD_0.8&amp;diff=11108"/>
				<updated>2013-06-18T14:27:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;apparently a complete binary/source has been located, waiting on details.&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] ([[User talk:Neozeed|talk]]) 18:46, 13 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
Wow, nearly everything that is in the missing list below is there!&lt;br /&gt;
There is no file named subr_disk.c, but it looks prety complete.&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 00:12, 17 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
What is subr_disk.c in the CVS tree, is ufs_disksubr.c in this 0.8(a?) dump.&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 07:27, 18 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tty.c needs to cantain a bit more than &amp;quot;revision 1.4 intentionally removed&amp;quot; to compile a 0.8 kernel&lt;br /&gt;
&lt;br /&gt;
The originals for these are missing in the tarball:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/netbsd-0.8/src/src/bin/df/df.c&lt;br /&gt;
/netbsd-0.8/src/src/include/ar.h&lt;br /&gt;
/netbsd-0.8/src/src/include/assert.h&lt;br /&gt;
/netbsd-0.8/src/src/include/ctype.h&lt;br /&gt;
/netbsd-0.8/src/src/include/grp.h&lt;br /&gt;
/netbsd-0.8/src/src/include/nlist.h&lt;br /&gt;
/netbsd-0.8/src/src/include/protocols/dumprestore.h&lt;br /&gt;
/netbsd-0.8/src/src/include/pwd.h&lt;br /&gt;
/netbsd-0.8/src/src/include/setjmp.h&lt;br /&gt;
/netbsd-0.8/src/src/include/time.h&lt;br /&gt;
/netbsd-0.8/src/src/include/utmp.h&lt;br /&gt;
/netbsd-0.8/src/src/lib/libc/gen/ctype_.c&lt;br /&gt;
/netbsd-0.8/src/src/lib/libc/gen/isctype.c&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/dirs.c&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/pathnames.h&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/restore.h&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/tape.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/arch/i386/i386/conf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/conf/param.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/init_main.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_acct.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_clock.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_descrip.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_exit.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_fork.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_prot.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_resource.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_sig.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_subr.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_synch.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/subr_disk.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/subr_prf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sys_generic.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sys_process.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sysv_shm.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/tty.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/tty_conf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_lookup.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_subr.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_syscalls.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_vnops.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/acct.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/buf.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/callout.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/conf.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/dkstat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/errno.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/exec.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/fcntl.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ioctl.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ioctl_compat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ipc.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/kernel.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/param.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/proc.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/shm.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/signal.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/stat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/systm.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/timeb.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/times.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/tty.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ttydefaults.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/types.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/dir.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/ufs_lookup.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/ufs_vfsops.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.bin/m4/serv.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.bin/mesg/mesg.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.sbin/lpr/common_source/common.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.sbin/lpr/lpr/lpr.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]] 14:45, 2 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've made way more progress.. now im making headway on re-making the install sets...&lt;br /&gt;
&lt;br /&gt;
from my notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
export DESTDIR=/tmp&lt;br /&gt;
 &lt;br /&gt;
find ./ -name 'obj' -exec rm {} \;&lt;br /&gt;
&lt;br /&gt;
make obj&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
etc&lt;br /&gt;
---&lt;br /&gt;
make distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I figure I'll leave the tgz's on a filesystem, boot with a floppy, rm -rf most of the file system, unpack, configure and go.&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 18:34, 5 December 2010 (PST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11107</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11107"/>
				<updated>2013-06-18T13:56:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:3px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2 never happened. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Add some date(1) commands to the tutorial to prevent files going epoch&lt;br /&gt;
*  Upgrade to NetBSD&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Talk:NetBSD_0.8&amp;diff=11106</id>
		<title>Talk:NetBSD 0.8</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Talk:NetBSD_0.8&amp;diff=11106"/>
				<updated>2013-06-17T07:12:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;apparently a complete binary/source has been located, waiting on details.&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] ([[User talk:Neozeed|talk]]) 18:46, 13 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
Wow, nearly everything that is in the missing list below is there!&lt;br /&gt;
There is no file named subr_disk.c, but it looks prety complete.&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 00:12, 17 June 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tty.c needs to cantain a bit more than &amp;quot;revision 1.4 intentionally removed&amp;quot; to compile a 0.8 kernel&lt;br /&gt;
&lt;br /&gt;
The originals for these are missing in the tarball:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/netbsd-0.8/src/src/bin/df/df.c&lt;br /&gt;
/netbsd-0.8/src/src/include/ar.h&lt;br /&gt;
/netbsd-0.8/src/src/include/assert.h&lt;br /&gt;
/netbsd-0.8/src/src/include/ctype.h&lt;br /&gt;
/netbsd-0.8/src/src/include/grp.h&lt;br /&gt;
/netbsd-0.8/src/src/include/nlist.h&lt;br /&gt;
/netbsd-0.8/src/src/include/protocols/dumprestore.h&lt;br /&gt;
/netbsd-0.8/src/src/include/pwd.h&lt;br /&gt;
/netbsd-0.8/src/src/include/setjmp.h&lt;br /&gt;
/netbsd-0.8/src/src/include/time.h&lt;br /&gt;
/netbsd-0.8/src/src/include/utmp.h&lt;br /&gt;
/netbsd-0.8/src/src/lib/libc/gen/ctype_.c&lt;br /&gt;
/netbsd-0.8/src/src/lib/libc/gen/isctype.c&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/dirs.c&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/pathnames.h&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/restore.h&lt;br /&gt;
/netbsd-0.8/src/src/sbin/restore/tape.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/arch/i386/i386/conf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/conf/param.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/init_main.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_acct.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_clock.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_descrip.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_exit.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_fork.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_prot.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_resource.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_sig.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_subr.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/kern_synch.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/subr_disk.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/subr_prf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sys_generic.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sys_process.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/sysv_shm.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/tty.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/tty_conf.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_lookup.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_subr.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_syscalls.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/kern/vfs_vnops.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/acct.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/buf.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/callout.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/conf.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/dkstat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/errno.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/exec.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/fcntl.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ioctl.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ioctl_compat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ipc.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/kernel.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/param.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/proc.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/shm.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/signal.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/stat.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/systm.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/timeb.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/times.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/tty.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/ttydefaults.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/sys/types.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/dir.h&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/ufs_lookup.c&lt;br /&gt;
/netbsd-0.8/src/src/sys/ufs/ufs_vfsops.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.bin/m4/serv.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.bin/mesg/mesg.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.sbin/lpr/common_source/common.c&lt;br /&gt;
/netbsd-0.8/src/src/usr.sbin/lpr/lpr/lpr.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]] 14:45, 2 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've made way more progress.. now im making headway on re-making the install sets...&lt;br /&gt;
&lt;br /&gt;
from my notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
export DESTDIR=/tmp&lt;br /&gt;
 &lt;br /&gt;
find ./ -name 'obj' -exec rm {} \;&lt;br /&gt;
&lt;br /&gt;
make obj&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
etc&lt;br /&gt;
---&lt;br /&gt;
make distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I figure I'll leave the tgz's on a filesystem, boot with a floppy, rm -rf most of the file system, unpack, configure and go.&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 18:34, 5 December 2010 (PST)&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Talk:386BSD&amp;diff=11068</id>
		<title>Talk:386BSD</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Talk:386BSD&amp;diff=11068"/>
				<updated>2013-04-03T10:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can get 386BSD to run in a patched bochs 2.4.2, full blown with all the patches, triple make world, the works. Ok, ok, try to compile perl-5.10.1 and the compiler segfaults, but what is in the distro works. Everything works. There exists a broken (in a mere two pieces) shell script that reproduces a bochs image and environment on an AWS default fedora server. The script is of such questionable and perverted command line art that it is deemed unredistributable in its current form. It can be done!&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
Can you give more details?&lt;br /&gt;
Suddenly this is interesting again... !&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 17:57, 3 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Ok here goes. Take a eg. Basic Fedora Core 8 box and install required software.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 386BSD bootflop does something odd. The workaround is to patch bochs to ignore it instead of panic when 386BSD tries to write 0x02 to port 20h. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# get bochs&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz?use_mirror=kent&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. There is a catch 22. 386BSD comes without gzip, but the patches are gzipped, here your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
printf 'date; echo ${1##/*/} &amp;gt;/tmp/x'  &amp;gt;&amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=/root/bsd/tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy for our box with a fancy 1.44MB floppy drive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a hard drive for the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm disk.img; printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now be able to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bochs will come up booting a tiny 386BSD from floppy, this needs to go to disk, which can be done with a simple&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now try to reboot with..:&lt;br /&gt;
&amp;lt;pre&amp;gt;shutdown -r now&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
..this will go horribly wrong but don't panic. Boch will probably crash, just fire it up  with..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;bochs -q -f bochsrc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD comes up and shuts down immediately causing bochs to crash again. This is a reoccuring theme, don't worry about it and fire bochs up again anytime this happens. Next, the real work, installing the distro.&lt;br /&gt;
&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
The tiny 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, so try to do as much as possible with shell scripts. In this case everything just goes into .netrc.&lt;br /&gt;
&lt;br /&gt;
Extract will complain about something being missing, according to an ancient FAQ this is a joke from Jolitz. Extract also opens more files than tiny 386BSD sh can handle, hence the use csh.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
# .netrc is now ready to do the installaion&lt;br /&gt;
# fire up the network and go, go go&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all goes well bochs crashes when 386BSD shuts down. Restart twice and 386BSD should greet you with a login prompt and scold you for loging in as root (no password) when you do. Next up, patch the system and do a buildworld.&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
&lt;br /&gt;
Now run the first pile of patches.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch /dist&lt;br /&gt;
cd /dist&lt;br /&gt;
cd bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
cd /patch&lt;br /&gt;
cd bin&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
cd /patch&lt;br /&gt;
cd bin&lt;br /&gt;
sh -x afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recompile the GENERIC kernel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When bochs goes down because of the reboot, up the amount of mem or the following will take ages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /dist/bin&lt;br /&gt;
buildworld.sh&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now do it all again with the second patch set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd patch/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
sh -x afterinstall.sh&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For good meassure and proof the box works do another buildworld. Then go do something fun with it. Hack a uname system call into the kernel, fix the ancient zoneinfo, fail at getting ssh to work on it, etc..&lt;br /&gt;
&lt;br /&gt;
If something is broken in the commands/scripts above, sorry, I fsckd up, but they should contain enough hints to get a 386BSD box emulated.&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
[[User:Dugo|Dugo]]&lt;br /&gt;
:Very interesting. I was using the 0.1 release (actually it may have been the 0.0 release, around Jan. 1992) for a short while when it came out, the reason I switched over to Linux 0.95 (early 1992) was IIRC something about the disk usage - I seem to recall that 386BSD wanted the whole disk while it was easy enough to partition with Linux. Or something other that made it easier to let Linux co-exist. Fuzzy memory. -- [[User:Tor|Tor]] 13:43, 30 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Damn dude, that's like an install article... feel free to write one (use any tutorial as a template if you want) or I'll just do it...&lt;br /&gt;
&lt;br /&gt;
Thanks that's some great work thought!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Neozeed|neozeed]] 04:21, 5 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I'll try to iron out any misdirections in the above and fold it into a networking with bochs and a 386BSD on bochs tutorial.&lt;br /&gt;
[[User:Dugo|Dugo]] 10:23, 5 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Awesome job so far!&lt;br /&gt;
[[User:Neozeed|neozeed]] 20:40, 9 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Getting there. While I think it is important to have this piece of history (386BSD 0.1 + patchkits) preserved for future emulator use there is something missing. Anyone with a clue where I can get an ISO of the 386BSD 1.0 release William &amp;amp; Lynne Jolitz show off on their website http://www.386bsd.org/past ?&lt;br /&gt;
[[User:Dugo|Dugo]] 05:26, 13 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Re: ''&amp;quot;The 386BSD bootflop does something odd. The workaround is to patch bochs to ignore it instead of panic when 386BSD tries to write 0x02 to port 20h.&amp;quot;''&lt;br /&gt;
:I had a look at bochs-2.4.6, and it appears to have the 386BSD workaround patch included now. --[[User:Tor|Tor]] ([[User talk:Tor|talk]]) 01:40, 2 April 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Thx, updated the install manual. [[User:Dugo|Dugo]] ([[User talk:Dugo|talk]]) 03:43, 3 April 2013 (PDT)&lt;br /&gt;
&lt;br /&gt;
== 2.0 ==&lt;br /&gt;
&lt;br /&gt;
I browsed through a load of old DDJ in the late 90s but can't remember a full blown 2.0 CDROM release. A Net release would have left traces on &amp;lt;strike&amp;gt;Dejanews&amp;lt;/strike&amp;gt; google news. The German wiki on 386BSD mentions something about an update disk.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ebenfalls von Dr. Dobb's Journal wurde schließlich 1995 noch ein Update auf die letzte öffentliche Version 386BSD 2.0 in Form einer Update-Diskette herausgegeben.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11067</id>
		<title>Installing 386BSD on BOCHS</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_386BSD_on_BOCHS&amp;diff=11067"/>
				<updated>2013-04-03T10:41:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Get, patch, configure and compile Bochs */ Note about newer bochs versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the procedure that was used to install [[386 BSD]] onto a patched version of the Bochs IA-32 emulator. This is based on ancient FAQs and trial &amp;amp; error. It is assumed you use a modern Linux with a kernel that features the ip_tables packet filter and TUN/TAP as host OS. If you want to use a different platform you can still follow the tutorial as a guideline but you are on your own figuring out how to get the emulator networked. A good starting point is http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html#AEN1831&lt;br /&gt;
&lt;br /&gt;
Special attention has been given to the ability to run the emulator in a terminal and in the background. &lt;br /&gt;
&lt;br /&gt;
Watch out for leading spaces if you copy/paste anything from the boxes below, they tend to break here-documents.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get a 386BSD system patched and installed:&lt;br /&gt;
&lt;br /&gt;
*A modern Linux system with iptables&lt;br /&gt;
*A working copy of gunzip&lt;br /&gt;
*An http/ftp client like wget&lt;br /&gt;
*An acceptable C compiler like gcc to compile Bochs&lt;br /&gt;
*The curses/ncurses library for Bochs to simulate a monitor in a terminal&lt;br /&gt;
*An ftp server for the distribution files&lt;br /&gt;
&lt;br /&gt;
On a stock Basic Fedora Core 8 box you have these in no time with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum -y install wget&lt;br /&gt;
yum -y install gcc&lt;br /&gt;
yum -y install gcc-c++&lt;br /&gt;
yum -y install ncurses-devel&lt;br /&gt;
yum -y install vsftpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will get to this later in the tutorial, but for those attempting to install on a different platform or those using this tutorial as a guide, you also need:&lt;br /&gt;
&lt;br /&gt;
*The Bochs 2.4.2 sources&lt;br /&gt;
*A patched pic.cc&lt;br /&gt;
*The 386BSD distribution and patchkits&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You can download the Bochs sources from sourceforge&lt;br /&gt;
*http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;A patched pic.cc can be found at&lt;br /&gt;
*http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The 386BSD 0.1 distribution and patchkits can be found at&lt;br /&gt;
*ftp://minnie.tuhs.org/BSD/&lt;br /&gt;
*http://www.oldlinux.org/Linux.old/distributions/386BSD/ &lt;br /&gt;
&lt;br /&gt;
== Preparing for installation ==&lt;br /&gt;
&lt;br /&gt;
=== Get, patch, configure and compile Bochs ===&lt;br /&gt;
&lt;br /&gt;
The Tiny 386BSD boot floppy does something odd. It writes 0x02 to port 20h of the emulated PIC. This causes Bochs to panic. The patch enables Bochs to continue in CLI mode. The available windows binary for Bochs comes up with a msgbox. The [http://bochs.svn.sourceforge.net/viewvc/bochs/trunk/bochs/iodev/pic.cc?r1=9609&amp;amp;r2=9959 patch] is included in more recent versions of Bochs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://downloads.sourceforge.net/project/bochs/bochs/2.4.2/bochs-2.4.2.tar.gz&lt;br /&gt;
gunzip -c bochs-2.4.2.tar.gz |tar -xvf -&lt;br /&gt;
wget http://www.xs4all.nl/~dugo/pic.cc&lt;br /&gt;
mv -f pic.cc ./bochs-2.4.2/iodev/pic.cc&lt;br /&gt;
cd bochs-2.4.2&lt;br /&gt;
./configure --enable-cpu-level=3 \&lt;br /&gt;
            --enable-ne2000 \&lt;br /&gt;
            --with-term \&lt;br /&gt;
            --with-nogui \&lt;br /&gt;
            --enable-all-optimizations \&lt;br /&gt;
            --enable-docbook=no&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get and serve the 386BSD distribution and patches ===&lt;br /&gt;
&lt;br /&gt;
During installation the 386BSD distribution files and patches can be fetched with ftp. To facilitate this set up an anon ftpd that serves up the files. It should be possible to obtain these directly from minnie during install, but there are two problems. From the looks of it Warren Toomey never intended minnie to be a 386BSD install server. There is also a catch 22 in using the famous patchkits. Stock 386BSD 0.1 comes without gzip, the patches are gzipped, so here's your chance to get around that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo listen=YES &amp;gt;&amp;gt; /etc/vsftpd/vsftpd.conf&lt;br /&gt;
vsftpd&lt;br /&gt;
cd /var/ftp&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-0.1/&lt;br /&gt;
wget -r -np ftp://minnie.tuhs.org/BSD/386bsd-patchkits/&lt;br /&gt;
mv minnie.tuhs.org/BSD ./&lt;br /&gt;
rmdir ./minnie.tuhs.org&lt;br /&gt;
cd /var/ftp/BSD/386bsd-patchkits&lt;br /&gt;
gunzip *gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prepare the host for networking Bochs ===&lt;br /&gt;
&lt;br /&gt;
To make Bochs' ne2k work without a spare NIC in your host you need to set up tunneling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo alias char-major-10-200 tun &amp;gt;&amp;gt;/etc/modprobe.d/modprobe.conf.dist&lt;br /&gt;
depmod -a&lt;br /&gt;
ln -s /dev/net/tun /dev/net/tun0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a tunconfig script for bochs to fire off when the ne2k comes up. In this example 192.168.1.1 becomes the gw and you can pick an ip in 192.168.1.0/24 for the guest later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set up the bsd dir w/ tunconfig&lt;br /&gt;
cd; mkdir bsd; cd bsd&lt;br /&gt;
printf '#!/bin/bash\n/sbin/ifconfig ${1##/*/} 192.168.1.1\n' &amp;gt;tunconfig&lt;br /&gt;
cat &amp;gt;&amp;gt;tunconfig &amp;lt;&amp;lt;__EOF&lt;br /&gt;
# carnival, put your masks on and go&lt;br /&gt;
/sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE &amp;gt;&amp;amp; /dev/null&lt;br /&gt;
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
__EOF&lt;br /&gt;
chmod +x tunconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Bochs ===&lt;br /&gt;
&lt;br /&gt;
The 386BSD installation fails on a box with a lot of mem, hence the `megs: 8' stanza in the Bochs configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;bochsrc &amp;lt;&amp;lt;__EOF&lt;br /&gt;
config_interface: textconfig&lt;br /&gt;
display_library: term&lt;br /&gt;
romimage: file=/usr/local/share/bochs/BIOS-bochs-legacy&lt;br /&gt;
cpu: count=1, ips=80000000, reset_on_triple_fault=0&lt;br /&gt;
megs: 8&lt;br /&gt;
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest&lt;br /&gt;
vga: extension=none&lt;br /&gt;
floppya: 1_44=boot.img, status=inserted&lt;br /&gt;
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14&lt;br /&gt;
ata0-master: type=disk, path=&amp;quot;disk.img&amp;quot;, mode=flat, cylinders=1024, heads=16, spt=63, translation=none, model=generic&lt;br /&gt;
boot: disk, floppy&lt;br /&gt;
floppy_bootsig_check: disabled=0&lt;br /&gt;
log: bochsout.txt&lt;br /&gt;
panic: action=ask&lt;br /&gt;
error: action=report&lt;br /&gt;
info: action=report&lt;br /&gt;
debug: action=ignore&lt;br /&gt;
vga_update_interval: 400000&lt;br /&gt;
keyboard_serial_delay: 250&lt;br /&gt;
keyboard_paste_delay: 1000000&lt;br /&gt;
mouse: enabled=0&lt;br /&gt;
private_colormap: enabled=0&lt;br /&gt;
keyboard_mapping: enabled=0, map=&lt;br /&gt;
i440fxsupport: enabled=0&lt;br /&gt;
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig&lt;br /&gt;
com1: enabled=0&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create Tiny 386BSD floppy ===&lt;br /&gt;
&lt;br /&gt;
Prepare the 386BSD boot floppy to work on our emulated box that has a fancy 1.44MB floppy drive. The original floppy was intended for 1.2MB floppys, but who wants to be caught dead using these nowadays?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(cat /var/ftp/BSD/386bsd-0.1/bootable/dist.fs;dd if=/dev/zero bs=1 count=245760)&amp;gt;boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a disk image ===&lt;br /&gt;
&lt;br /&gt;
Make a disk that has the same geometry as in the configuration file, in this case 1024 cylinders, 16 heads and 63 sectors per track. This gets you about 500 megabytes, go larger and you get yourself in heaps of trouble.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf &amp;quot;hd\nflat\n504\ndisk.img\n&amp;quot; |bximage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  First boot, Tiny 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Start up Bochs ===&lt;br /&gt;
&lt;br /&gt;
You should now be ready to fire up bochs in your terminal and start your journey back in time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get the following output:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;aqua&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Plex86/Bochs VGABios 0.6c 08 Apr 2009&amp;lt;br&amp;gt;&lt;br /&gt;
This VGA/VBE Bios is released under the GNU LGPL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please visit :&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://bochs.sourceforge.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;. http://www.nongnu.org/vgabios&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NO Bochs VBE Support available!&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bochs BIOS - build: 09/28/09&amp;lt;br&amp;gt;&lt;br /&gt;
$Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $&amp;lt;br&amp;gt;&lt;br /&gt;
Options: apmbios pcibios eltorito&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ata0 master: generic ATA-6 Hard-Disk ( 504 MBytes)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press F12 for boot menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Hard Disk...&amp;lt;br&amp;gt;&lt;br /&gt;
Boot failed: not a bootable disk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Booting from Floppy...&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt; [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
changing root device to fd0a&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
warning: no swap space present (yet)&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD Distribution Installation Floppy (Tiny 386BSD) Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the installation notes (type 'zmore INSTALL.NOTES')&amp;lt;br&amp;gt;&lt;br /&gt;
and registration information (type 'more REGISTRATION') before use.&amp;lt;br&amp;gt;&lt;br /&gt;
To install on hard disk drive, type 'install'.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format drive and install the distribution utilities ===&lt;br /&gt;
&lt;br /&gt;
At the prompt give:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(echo y; echo y)|install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the installer to format the entire drive as it sees fit and install the distribution utilities on it. When the installer is finished Tiny 386BSD and Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Second boot, Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Finish the installation.&lt;br /&gt;
&lt;br /&gt;
==== Restart Bochs ====&lt;br /&gt;
&lt;br /&gt;
Give another:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
..to boot the base system. After it finds the devices it will greet you with the following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:9px&amp;quot;| &amp;lt;font color=&amp;quot;Grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Base System Release 0.1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you've got 386BSD on the hard disk!&amp;lt;br&amp;gt;&lt;br /&gt;
Please read the file REGISTRATION (e.g. type 'more REGISTRATION')&amp;lt;br&amp;gt;&lt;br /&gt;
to discover how to become a part of the 386BSD user group.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To finish the installation, load the remaining distribution files into /tmp&amp;lt;br&amp;gt;&lt;br /&gt;
and type 'extract' . To load the files from DOS floppies, type 'mread a:*.* /tmp.&amp;lt;br&amp;gt;&lt;br /&gt;
'&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you should wish to uninstall 386BSD, delete the partition by using the&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;DOS 5 FDISK program. If installed on the entire drive, use the FDISK/MBR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;to remove the 386BSD bootstrap from the drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
erase ^?, werase ^H, kill ^U, intr ^C&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Write an installer ====&lt;br /&gt;
&lt;br /&gt;
The installed 386BSD kernel keeps kprinting `startartstartart' to your screen once network is up and running. This can get on your nerves, to work around this you can write an installer in a .netrc macro.&lt;br /&gt;
&lt;br /&gt;
Change the ips below, 10.0.0.1 to where your ftpd lives, 192.168.1.1 to your gw and 192.168.1.2 to the ip you want to give the guest. Change odin into the name you want to give the guest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;machine 10.0.0.1&amp;quot; &amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;login ftp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;password news@EU.net&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;macdef init&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;pasv&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;prompt&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;bin&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;lcd /tmp&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd BSD/386bsd-0.1/bindist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../etcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../srcdist/&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;cd ../../386bsd-patchkits&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;mget *tar&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!echo odin |extract bin01&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;!csh -c \&amp;quot;limit openfiles 512; extract src01 ; extract etc01 ; tar -cf /dist.tar /tmp/ ; cp pk023.tar /pk023.tar ; cp pk023024.tar /pk023024.tar ; sync ; sync ; sync ; /sbin/shutdown -r now\&amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;quit&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;#newl&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt;.netrc&lt;br /&gt;
chmod 400 .netrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure the network ====&lt;br /&gt;
&lt;br /&gt;
Watch out for the startarts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig ne0 192.168.1.2 netmask 255.255.255.0 up&lt;br /&gt;
route add default 192.168.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start the installation ====&lt;br /&gt;
&lt;br /&gt;
Extract will complain with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/tmp/install.src01: Can't open /tmp/install.src01&lt;br /&gt;
extract: Cannot execute installation script of distribution, failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
according to an ancient FAQ this is a joke from Jolitz. I don't get it.&lt;br /&gt;
&lt;br /&gt;
Extract (or cat) also opens more files than the base sh can handle in case you were wondering about the use of csh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp 10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the macro is finished Bochs will go down gracelessly.&lt;br /&gt;
&lt;br /&gt;
== Third boot, fsck ==&lt;br /&gt;
&lt;br /&gt;
When you restart Bochs again with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
386BSD will boot, fsck the disk and shut down again. Don't panic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fourth boot, multiuser mode ==&lt;br /&gt;
&lt;br /&gt;
=== Restart Bochs ===&lt;br /&gt;
&lt;br /&gt;
After another &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you boot into multisuser mode.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px solid #000000; padding:1em; margin:auto; background:#000000;line-height:3px&amp;quot;| &amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
386BSD Release 0.1 by William and Lynne Jolitz. [0.1.24  07/14/92 19:07]&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot; size=&amp;quot;-1&amp;quot; face=&amp;quot;Courier&amp;quot;&amp;gt;&lt;br /&gt;
Copyright (c) 1989,1990,1991,1992 William F. Jolitz. All rights reserved.&amp;lt;br&amp;gt;&lt;br /&gt;
Based in part on work by the 386BSD User Community and the&amp;lt;br&amp;gt;&lt;br /&gt;
BSD Networking Software, Release 2 by UCB EECS Department.&amp;lt;br&amp;gt;&lt;br /&gt;
pc0&amp;lt;color&amp;gt; at 0x60 irq 1 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
wd0 &amp;lt;generic&amp;gt; at 0x1f0 irq 14 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
fd0 drives 0: 1.44M at 0x3f0 irq 6 drq 2 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
ne0 ethernet address fe:fd:00:00:00:01 at 0x300 irq 9 on isa&amp;lt;br&amp;gt;&lt;br /&gt;
npx0 at 0xf0 irq 13 on isa&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00; background:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
Automatic reboot in progress...&amp;lt;br&amp;gt;&lt;br /&gt;
/dev/rwd0a: 13409 files, 240517 used, 253130 free (674 frags, 31557 blocks, 0.1%&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;fragmentation)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting system logger.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
checking for core dump...&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
preserving editor files&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
clearing /tmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
standard daemons: update crond.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;br&amp;gt;&lt;br /&gt;
starting network daemons: routed printer sendmail inetd.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
starting local daemons:.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
Wed Apr&amp;amp;nbsp;&amp;amp;nbsp;8 13:16:44 PST 1970&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;386BSD (odin) (console)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
login:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;|| style=&amp;quot;background:#000000;&amp;quot;| &amp;amp;#160;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
386BSD 0.1 is installed now. You are at the point where Bill and Lynne Jolitz said &amp;quot;Cut the Tape&amp;quot; on 14th of July 1992. 386BSD 0.2 never happened. Now that you have 386BSD installed you can take the opportunity to travel forward in time to the birth of modern BSD. In 1992 and 1993 people released patch kits for 386BSD. In early 1993 David Greenman proposed a new operating system based on the patchkits with a new name: &amp;quot;FreeBSD.&amp;quot; These steps will bring 386BSD up to the point where maintaining the patchkits became rather cumbersome.&lt;br /&gt;
&lt;br /&gt;
For more on this part of history read:&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsdworld.gr/freebsd/bsd-family-tree.html&lt;br /&gt;
*http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html&lt;br /&gt;
&lt;br /&gt;
There were quite some patches. The shortest and most available route is installing the official unofficial patch kits. Rodney Grimes announced patch kit 0.2.3 in April 1993 and the last one 0.2.4 was announced in June 1993.&lt;br /&gt;
&lt;br /&gt;
=== Apply the first patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, no password, and install the first of the two patchkits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023.tar&lt;br /&gt;
mv patch dist&lt;br /&gt;
cd dist/bin&lt;br /&gt;
./mkpatchdirs&lt;br /&gt;
(echo y; echo; echo; echo IALL; echo y ; echo ; echo q)|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile the kernel ===&lt;br /&gt;
&lt;br /&gt;
As instructed by afterinstall, recompile the kernel. For Bochs the GENERICISA will do for now. There is something to be said for adjusting the kernel configuration, but this is left as an exercise better done later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fifth boot, GENERICISA ==&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the virtual machine and restart ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a proper kernel you can upgrade your machine to use some more than the 8 megs we gave it before. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -e's/megs: 8/megs: 64/' bochsrc &amp;gt;bochsrc64&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
The system is in a bit of an odd state, the sources are patched but most of the binaries are still the same. So put your new memory to good use, log in as root and execute a buildworld. Note that this can take a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sixth boot, patched and recompiled system ==&lt;br /&gt;
&lt;br /&gt;
=== Apply the second patchkit ===&lt;br /&gt;
&lt;br /&gt;
Login as root, don't use su.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /&lt;br /&gt;
tar -xvf pk023024.tar&lt;br /&gt;
cd dist/bin&lt;br /&gt;
(echo y ; echo ; echo ; echo IALL ; echo y ; echo ; echo q )|./patches&lt;br /&gt;
./afterinstall.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recompile GENERICISA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
config GENERICISA&lt;br /&gt;
cd /sys/compile/GENERICISA&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and fire up Bochs again&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bochs -q -f bochsrc64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Seventh boot, almost there == &lt;br /&gt;
&lt;br /&gt;
=== Buildworld ===&lt;br /&gt;
&lt;br /&gt;
Login as root and perform another buildworld. Like before, this takes a while.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec sh&lt;br /&gt;
cd /patch/bin&lt;br /&gt;
./buildworld.sh&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system is now up to date with the last patch kits released for 386BSD 0.1. This is a good point to save a copy of your image. Except for the hostname it is now in a pristine unconfigured state. What follows are some things you can do with the system and this is a point to rely on in case of a screw up or trying different routes.&lt;br /&gt;
&lt;br /&gt;
Reboot at least once without the f(astboot) option for a long overdue fsck. Put zeros to a file and remove it when the disk is full if you care about image compression.&lt;br /&gt;
&lt;br /&gt;
A BOCHS disk image created by following all of the above steps is available at http://www.xs4all.nl/~dugo/patched_386bsd.gz&lt;br /&gt;
&lt;br /&gt;
== Running 386BSD ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration, rolling your own ===&lt;br /&gt;
&lt;br /&gt;
In bringing up the system the GENERICISA kernel served well and is more than fine if you want to just explore the system. If you want to do some more crazy things, like trying to get modern software compiled or even something more mundane as moving swap space around you will end up rolling your own kernel. This serves as an example on how to do just that. More specific configurations later when they are on topic. For now make it fit the current hardware and software configuration. More in depth information about config(8) at http://docs.freebsd.org/44doc/smm/02.config/paper.pdf&lt;br /&gt;
&lt;br /&gt;
As usual do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r /sys/compile/*&lt;br /&gt;
cd /sys/i386/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the GENERICISA configuration,  give it a fitting name, eg. BOCHS, and dive into it with your favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -v &amp;quot;^#&amp;quot; GENERICISA &amp;gt; BOCHS&lt;br /&gt;
vi BOCHS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
machine         &amp;quot;i386&amp;quot;&lt;br /&gt;
cpu             &amp;quot;i386&amp;quot;&lt;br /&gt;
## Private ident, shows up in eg. motd.&lt;br /&gt;
#ident           GENERICISA&lt;br /&gt;
ident           BOCHS&lt;br /&gt;
## Zone info, leap seconds and all are ancient.&lt;br /&gt;
## Living in a 90s Berkeley time zone will do for now.&lt;br /&gt;
timezone        8 dst&lt;br /&gt;
## We can handle a lot more in our emulator, let's double up.&lt;br /&gt;
#maxusers        10&lt;br /&gt;
maxusers        20&lt;br /&gt;
options         INET                    #InterNETworking&lt;br /&gt;
&lt;br /&gt;
## No CD configured yet.&lt;br /&gt;
#options         ISOFS                   #ISO File System&lt;br /&gt;
## No NFS configured yet.&lt;br /&gt;
#options         NFS                     #Network File System&lt;br /&gt;
options         &amp;quot;COMPAT_43&amp;quot;             #Compatible with BSD 4.3&lt;br /&gt;
## No 4.2BSD boxen around at the moment.&lt;br /&gt;
#options         &amp;quot;TCP_COMPAT_42&amp;quot;         #TCP/IP compatible with 4.2&lt;br /&gt;
## No X installed yet.&lt;br /&gt;
#options         XSERVER                 #Xserver&lt;br /&gt;
#options         UCONSOLE                #X Console support&lt;br /&gt;
&lt;br /&gt;
## No SCSI configured in bochs yet.&lt;br /&gt;
#config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0 and sd0&lt;br /&gt;
config          &amp;quot;386bsd&amp;quot;        root on wd0 swap on wd0&lt;br /&gt;
&lt;br /&gt;
controller      isa0&lt;br /&gt;
&lt;br /&gt;
controller      fd0     at isa? port &amp;quot;IO_FD1&amp;quot; bio irq 6 drq 2 vector fdintr&lt;br /&gt;
disk            fd0     at fd0 drive 0&lt;br /&gt;
## One floppy is enough, second one is a bit broken anyway.&lt;br /&gt;
#disk            fd1     at fd0 drive 1&lt;br /&gt;
&lt;br /&gt;
controller      wd0     at isa? port &amp;quot;IO_WD1&amp;quot; bio irq 14 vector wdintr&lt;br /&gt;
disk            wd0     at wd0 drive 0&lt;br /&gt;
## About 180 megabyte left, keep the slot for upgrade.&lt;br /&gt;
disk            wd1     at wd0 drive 1&lt;br /&gt;
&lt;br /&gt;
## Lot of things not in Bochs, not turned on or rather useless.&lt;br /&gt;
#controller      ahb0    at isa? bio irq 11 vector ahbintr&lt;br /&gt;
#controller      aha0    at isa? port &amp;quot;IO_AHA0&amp;quot; bio irq 11 drq 5 vector ahaintr&lt;br /&gt;
#controller      scbus0&lt;br /&gt;
&lt;br /&gt;
#device          sd0&lt;br /&gt;
#device          sd1&lt;br /&gt;
#device          sd2&lt;br /&gt;
#device          sd3&lt;br /&gt;
&lt;br /&gt;
#device          st0&lt;br /&gt;
#device          st1&lt;br /&gt;
#device          st2&lt;br /&gt;
#device          st3&lt;br /&gt;
&lt;br /&gt;
#device          cd0&lt;br /&gt;
#device          cd1&lt;br /&gt;
&lt;br /&gt;
## Not set up for headless operation yet, screen and keyboard yes, com no.&lt;br /&gt;
device          pc0     at isa? port &amp;quot;IO_KBD&amp;quot; tty irq 1 vector pcrint&lt;br /&gt;
device          npx0    at isa? port &amp;quot;IO_NPX&amp;quot; irq 13 vector npxintr&lt;br /&gt;
&lt;br /&gt;
#device          com0    at isa? port &amp;quot;IO_COM1&amp;quot; tty irq 4 vector comintr&lt;br /&gt;
#device          com1    at isa? port &amp;quot;IO_COM2&amp;quot; tty irq 3 vector comintr&lt;br /&gt;
#device          com2    at isa? port &amp;quot;IO_COM3&amp;quot; tty irq 5 vector comintr&lt;br /&gt;
#device          com3    at isa? port &amp;quot;IO_COM4&amp;quot; tty irq 9 vector comintr&lt;br /&gt;
&lt;br /&gt;
#device          lpt0    at isa? port &amp;quot;IO_LPT3&amp;quot; tty irq 7 vector lptintr&lt;br /&gt;
#device          lpa0    at isa? port &amp;quot;IO_LPT1&amp;quot; tty&lt;br /&gt;
#device          lpa1    at isa? port &amp;quot;IO_LPT2&amp;quot; tty&lt;br /&gt;
&lt;br /&gt;
## Network cards, Bochs only knows ne2k and we only have one configured.&lt;br /&gt;
#device we0 at isa? port 0x280 net irq 9 iomem 0xd0000 iosiz 8192 vector weintr&lt;br /&gt;
device ne0 at isa? port 0x300 net irq 9 vector neintr&lt;br /&gt;
#device ec0 at isa? port 0x250 net irq 9 iomem 0xd8000 iosiz 8192 vector ecintr&lt;br /&gt;
#device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr&lt;br /&gt;
&lt;br /&gt;
#device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr&lt;br /&gt;
&lt;br /&gt;
pseudo-device   loop&lt;br /&gt;
pseudo-device   ether&lt;br /&gt;
pseudo-device   log&lt;br /&gt;
## No Slip and PPP for now.&lt;br /&gt;
#pseudo-device   sl      2&lt;br /&gt;
##You run out of these fast when running screen.&lt;br /&gt;
#pseudo-device   pty     4&lt;br /&gt;
pseudo-device   pty     16&lt;br /&gt;
## Just in case 386BSD wants to say something.&lt;br /&gt;
pseudo-device   speaker&lt;br /&gt;
&lt;br /&gt;
pseudo-device   swappager&lt;br /&gt;
pseudo-device   vnodepager&lt;br /&gt;
pseudo-device   devpager&lt;br /&gt;
#EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now bump the version and give it a shot. MAKEDEV is probably not needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config BOCHS&lt;br /&gt;
cd /sys/compile/BOCHS&lt;br /&gt;
make newvers&lt;br /&gt;
make depend&lt;br /&gt;
make&lt;br /&gt;
mv /386bsd /386bsd.old&lt;br /&gt;
cp 386bsd /386bsd&lt;br /&gt;
sync; sync; sync&lt;br /&gt;
shutdown -rf now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the bumped minor version number, new ident and compile time..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[0.1.1 (BOCHS)  04/29/10 05:54]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.. and some moaning about the missing second drive..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wd0 0:&amp;lt;generic&amp;gt; 1:&amp;lt;wdgetctlr failed, assuming OK&amp;gt; at 0x1f0 irq 14 on isa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look in / you notice your kernel got a lot smaller and dropped from around 500k to around 350k.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
*  Guest network config&lt;br /&gt;
*  Disklabeling and adding swap space&lt;br /&gt;
*  Tweaks to get big things to compile (limits, DFLDSIZ &amp;amp; MAXDSIZ / bash as sh )&lt;br /&gt;
*  Add some date(1) commands to the tutorial to prevent files going epoch&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10942</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10942"/>
				<updated>2013-01-12T15:49:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Reconstructing the last know fuzzball disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits.&lt;br /&gt;
A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2&lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10941</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10941"/>
				<updated>2013-01-12T15:34:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* Get the tools and archive in place */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu&lt;br /&gt;
cd dosemu&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. &lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=RT-11&amp;diff=10782</id>
		<title>RT-11</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=RT-11&amp;diff=10782"/>
				<updated>2012-06-11T12:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: link to install tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RT-11 was an OS for the PDP-11.  Overall it has a very [[OS/8]] feel to it.&lt;br /&gt;
&lt;br /&gt;
== notes ==&lt;br /&gt;
&lt;br /&gt;
The filesystem is like that of OS/8 in that files are stored contiguously on the disk.  If a new file does not fit in a 'hole' left by an old deleted file, the files on the disk must be moved together to create a larger area of free space.&lt;br /&gt;
http://www.vaxdungeon.com/&lt;br /&gt;
&lt;br /&gt;
INITIALIZE (format floppy)&lt;br /&gt;
&lt;br /&gt;
=== Device names ===&lt;br /&gt;
(''n'' is the numerical designation of the drive unit)&lt;br /&gt;
*DL''n'': RL01 disk cartridge&lt;br /&gt;
*DM''n'': RK06 disk cartridge&lt;br /&gt;
*DP''n'': RP02 or RP03 disk&lt;br /&gt;
*DS''n'': RJS03/4 disk&lt;br /&gt;
*DT''n'': TC11 DECtape&lt;br /&gt;
*DX''n'': RX01 diskette&lt;br /&gt;
*MM''n'': TU16 magtape&lt;br /&gt;
*MT''n'': TU10 or TS03 magtape&lt;br /&gt;
*RF''n'': RF11 fixed head disk drive&lt;br /&gt;
*RK''n'': RK05 disk cartridge&lt;br /&gt;
*DD''n'': TU58 DECtape II&lt;br /&gt;
&lt;br /&gt;
*DK''n'': Logical device, user drive&lt;br /&gt;
*SY''n'': Logical device, disk ''n'' on the boot controller&lt;br /&gt;
&lt;br /&gt;
dungeon instructions &amp;amp; image.&lt;br /&gt;
http://www.geocities.com/capecanaveral/5517/pdp11.htm&lt;br /&gt;
console floppies http://www.headcrashers.org/comp/rx01/&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
These are a few commands that I've managed to work out, in no particular order.&lt;br /&gt;
&lt;br /&gt;
=== COPY command ===&lt;br /&gt;
The copy command is a little weird in how wildcards work.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copy dx0:*.* *.*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Is the best way to copy the disk files into the working disk.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DIR command ===&lt;br /&gt;
Just like MS-DOS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.DIR&lt;br /&gt;
&lt;br /&gt;
SWAP  .SYS    25  01-Feb-82      RT11BL.SYS    65  01-Feb-82&lt;br /&gt;
RT11SJ.SYS    67  01-Feb-82      RT11FB.SYS    80  01-Feb-82&lt;br /&gt;
TT    .SYS     2  01-Feb-82      DT    .SYS     3  01-Feb-82&lt;br /&gt;
DP    .SYS     3  01-Feb-82      DX    .SYS     3  01-Feb-82&lt;br /&gt;
DY    .SYS     4  01-Feb-82      RF    .SYS     3  01-Feb-82&lt;br /&gt;
RK    .SYS     3  01-Feb-82      DL    .SYS     4  01-Feb-82&lt;br /&gt;
DM    .SYS     5  01-Feb-82      DS    .SYS     3  01-Feb-82&lt;br /&gt;
DD    .SYS     5  01-Feb-82      MT    .SYS     9  01-Feb-82&lt;br /&gt;
MM    .SYS     9  01-Feb-82      MS    .SYS    10  01-Feb-82&lt;br /&gt;
LP    .SYS     2  01-Feb-82      LS    .SYS     2  01-Feb-82&lt;br /&gt;
CR    .SYS     3  01-Feb-82      NL    .SYS     2  01-Feb-82&lt;br /&gt;
PC    .SYS     2  01-Feb-82      PD    .SYS     3  01-Feb-82&lt;br /&gt;
CT    .SYS     6  01-Feb-82      BA    .SYS     7  01-Feb-82&lt;br /&gt;
PIP   .SAV    23  01-Feb-82      DUP   .SAV    41  01-Feb-82&lt;br /&gt;
DIR   .SAV    17  01-Feb-82      FORMAT.SAV    19  01-Feb-82&lt;br /&gt;
SLP   .SAV     9  01-Feb-82      SIPP  .SAV    20  01-Feb-82&lt;br /&gt;
STARTS.COM     1  01-Feb-82      STARTF.COM     1  01-Feb-82&lt;br /&gt;
V4USER.TXT     1  01-Feb-82      CREF  .SAV     6  01-Feb-82&lt;br /&gt;
DUMP  .SAV     8  01-Feb-82      MBOT16.BOT     1  01-Feb-82&lt;br /&gt;
RESORC.SAV    15  01-Feb-82      SYSMAC.SML    42  01-Feb-82&lt;br /&gt;
EDIT  .SAV    19  01-Feb-82      KED   .SAV    60  01-Feb-82&lt;br /&gt;
K52   .SAV    55  01-Feb-82      TECO  .SAV    50  01-Feb-82&lt;br /&gt;
MACRO .SAV    51  01-Feb-82      MAC8K .SAV    56  01-Feb-82&lt;br /&gt;
LINK  .SAV    41  01-Feb-82      LIBR  .SAV    22  01-Feb-82&lt;br /&gt;
FILEX .SAV    18  01-Feb-82      SRCCOM.SAV    13  01-Feb-82&lt;br /&gt;
BINCOM.SAV    10  01-Feb-82      MTHD  .SYS     4  01-Feb-82&lt;br /&gt;
MMHD  .SYS     4  01-Feb-82      MSHD  .SYS     5  01-Feb-82&lt;br /&gt;
PATCH .SAV    10  01-Feb-82      PAT   .SAV     8  01-Feb-82&lt;br /&gt;
HELP  .SAV   107  01-Feb-82      HELP  .EXE     7  01-Feb-82&lt;br /&gt;
HELP  .MLB    98  01-Feb-82      ERROUT.SAV    17  01-Feb-82&lt;br /&gt;
SYSGEN.SAV    39  01-Feb-82      SYSGEN.CND   134  01-Feb-82&lt;br /&gt;
SYSTBL.CND    23  01-Feb-82      DSAVE .DAT    10    -BAD-&lt;br /&gt;
BATCH .SAV    26  01-Feb-82      QUEMAN.SAV    13  01-Feb-82&lt;br /&gt;
QUEUE .REL    14  01-Feb-82      SYSLIB.OBJ    47  01-Feb-82&lt;br /&gt;
MDUP  .SAV    18  01-Feb-82      MDUP  .MM     48  01-Feb-82&lt;br /&gt;
MDUP  .MT     48  01-Feb-82      MDUP  .MS     48  01-Feb-82&lt;br /&gt;
MBOOT .BOT     1  01-Feb-82      MSBOOT.BOT     3  01-Feb-82&lt;br /&gt;
DEMOF1.FOR     2  01-Feb-82      DEMOED.TXT     1  01-Feb-82&lt;br /&gt;
README.TXT    36  01-Feb-82      VT52  .TEC     5  01-Feb-82&lt;br /&gt;
VEG   .TEC     4  01-Feb-82      EDIT  .TEC     1  01-Feb-82&lt;br /&gt;
INSERT.TEC     2  01-Feb-82      LOCAL .TEC     3  01-Feb-82&lt;br /&gt;
SORT  .TEC     3  01-Feb-82      VTEDIT.TEC    32  01-Feb-82&lt;br /&gt;
TECO  .TC     23  01-Feb-82      SEARCH.TEC     3  01-Feb-82&lt;br /&gt;
SQU   .TEC    13  01-Feb-82      TYPE  .TEC    12  01-Feb-82&lt;br /&gt;
TECO  .INI    15  01-Feb-82      ODT   .OBJ     9  01-Feb-82&lt;br /&gt;
VDT   .OBJ     9  01-Feb-82      VTHDLR.OBJ     9  01-Feb-82&lt;br /&gt;
PLOT55.OBJ     3  01-Feb-82      TEST55.FOR     5  01-Feb-82&lt;br /&gt;
GETSTR.FOR     2  01-Feb-82      PUTSTR.FOR     2  01-Feb-82&lt;br /&gt;
DINDX .DAT    20    -BAD-        DUNGEO.SAV   216    -BAD-&lt;br /&gt;
SPEED .SAV     4  01-Feb-82      SYCND .BL      3  01-Feb-82&lt;br /&gt;
SYSTBL.BL      4  01-Feb-82      SYCND .DIS     5  01-Feb-82&lt;br /&gt;
SYCND .HD      5  01-Feb-82      SYSTBL.DIS     4  01-Feb-82&lt;br /&gt;
RTBL  .MAP    16  01-Feb-82      RTSJ  .MAP    16  01-Feb-82&lt;br /&gt;
RTFB  .MAP    23  01-Feb-82      DISMT1.COM     9  01-Feb-82&lt;br /&gt;
DISMT2.COM     8  01-Feb-82      DTEXT .DAT   383    -BAD-&lt;br /&gt;
 110 Files, 2571 Blocks&lt;br /&gt;
 2191 Free blocks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== type command ===&lt;br /&gt;
The type command will show the contents of a file, just like MS-DOS.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.TYPE STARTS.COM&lt;br /&gt;
D 56=5015&lt;br /&gt;
TYPE V4USER.TXT&lt;br /&gt;
D 56=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RUN command ===&lt;br /&gt;
Dungeon for example is executed with RUN.  I think you have to run .sav files.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.RUN DUNGEO&lt;br /&gt;
Welcome to Dungeon.                     This version created 10-AUG-78.&lt;br /&gt;
You are in an open field west of a big white house with a boarded&lt;br /&gt;
front door.&lt;br /&gt;
There is a small mailbox here.&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== @ command ===&lt;br /&gt;
COM files are like batch scripts, and are executed with the @ infront of them.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.@STARTS.COM&lt;br /&gt;
&lt;br /&gt;
.D 56=5015&lt;br /&gt;
&lt;br /&gt;
.TYPE V4USER.TXT&lt;br /&gt;
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support&lt;br /&gt;
and some major enhancements over Version 3B.&lt;br /&gt;
&lt;br /&gt;
Please use the HELP command;  it describes the new options in many&lt;br /&gt;
of the utilities.&lt;br /&gt;
&lt;br /&gt;
If you are using a terminal that requires fill characters,&lt;br /&gt;
modify location 56 with a Deposit command before proceeding with&lt;br /&gt;
system installation. LA36 DECwriter II and VT52 DECscope terminals&lt;br /&gt;
do NOT require such modification.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SQUEEZE command ===&lt;br /&gt;
Disks will need to be 'defraged' or compacted with this command.  In some version it'll just be SQU.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.SQU&lt;br /&gt;
Device? DK0:&lt;br /&gt;
RK0:/Squeeze; Are you sure? Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SHOW command ===&lt;br /&gt;
This is a very usefull command to show some info about the OS.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.SHOW&lt;br /&gt;
TT&lt;br /&gt;
RK  (Resident)&lt;br /&gt;
    RK0 = SY , DK&lt;br /&gt;
BA&lt;br /&gt;
PC&lt;br /&gt;
NL&lt;br /&gt;
LP&lt;br /&gt;
MS&lt;br /&gt;
MT&lt;br /&gt;
DM&lt;br /&gt;
DL&lt;br /&gt;
DX&lt;br /&gt;
DP&lt;br /&gt;
4 free slots&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
show configuration&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
You may find the following of interest:&lt;br /&gt;
*[[Installing RT-11 5.3 on SIMH]]&lt;br /&gt;
*[[Installing FORTRAN v2 on RT-11]]&lt;br /&gt;
*[http://www.skrenta.com/pdpbook.txt THE PDP-11 HOW-TO BOOK]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operating Systems]]&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_RT-11_5.3_on_SIMH&amp;diff=10781</id>
		<title>Installing RT-11 5.3 on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_RT-11_5.3_on_SIMH&amp;diff=10781"/>
				<updated>2012-06-10T22:21:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: add category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The installation manuals for RT-11 on bitsavers can be a bit scary and longwinding, but installing RT-11 can be done quickly in emulation nowadays.&lt;br /&gt;
&lt;br /&gt;
== Pre install ==&lt;br /&gt;
&lt;br /&gt;
* Get simh working (out of scope)&lt;br /&gt;
* Get an empty RL02 disk image where your installation will live.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get the Mentec software kit distributed as RL02 image&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* To get text out of your installation without having to set up KERMIT provide an entry point for simh to print to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure a small PDP-11 with 2 disks and a line printer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case something goes wrong beyond this point you should be able to restart quickly with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
With a `pdp11 run.ini' you boot the installation media. If you follow the installation log below you end up with a freshly installed RT-11 in rl0.dsk.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can play around if you want now. There is no sync or shutdown in RT-11, just drop out of the emulator w/ ctrl-e when you are done.&lt;br /&gt;
&lt;br /&gt;
== Post install ==&lt;br /&gt;
&lt;br /&gt;
Configure simh to run your installation..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;run.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl0&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
..and run it w/ `pdp11 run.ini'&lt;br /&gt;
&lt;br /&gt;
[[Category:SIMH Tutorials]]&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_RT-11_5.3_on_SIMH&amp;diff=10780</id>
		<title>Installing RT-11 5.3 on SIMH</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_RT-11_5.3_on_SIMH&amp;diff=10780"/>
				<updated>2012-06-10T22:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: Basic install of rt-11&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The installation manuals for RT-11 on bitsavers can be a bit scary and longwinding, but installing RT-11 can be done quickly in emulation nowadays.&lt;br /&gt;
&lt;br /&gt;
== Pre install ==&lt;br /&gt;
&lt;br /&gt;
* Get simh working (out of scope)&lt;br /&gt;
* Get an empty RL02 disk image where your installation will live.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get the Mentec software kit distributed as RL02 image&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* To get text out of your installation without having to set up KERMIT provide an entry point for simh to print to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure a small PDP-11 with 2 disks and a line printer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case something goes wrong beyond this point you should be able to restart quickly with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
With a `pdp11 run.ini' you boot the installation media. If you follow the installation log below you end up with a freshly installed RT-11 in rl0.dsk.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can play around if you want now. There is no sync or shutdown in RT-11, just drop out of the emulator w/ ctrl-e when you are done.&lt;br /&gt;
&lt;br /&gt;
== Post install ==&lt;br /&gt;
&lt;br /&gt;
Configure simh to run your installation..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;run.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl0&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
..and run it w/ `pdp11 run.ini'&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10779</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10779"/>
				<updated>2012-06-10T19:44:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: rebuilding modules&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0.tgz?download&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tgz dosemu-freedos-bin.tgz&lt;br /&gt;
gunzip -c dosemu-1.4.0.tgz |tar -xvf -&lt;br /&gt;
cd dosemu-1.4.0&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. &lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding the configuration independent modules ===&lt;br /&gt;
&lt;br /&gt;
The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.&lt;br /&gt;
&lt;br /&gt;
From readme.txt..:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You can now mumble @SYSGEN and go read a book. The procedure, which&lt;br /&gt;
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK&lt;br /&gt;
containing all the goodies.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With STARTF.COM left intact the below commands will do the trick.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNPROTECT ARC:FUZZ3.DSK&lt;br /&gt;
DEL ARC:FUZZ3.DSK&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10777</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10777"/>
				<updated>2012-06-09T23:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: /* booting the fuzzball */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0.tgz?download&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tgz dosemu-freedos-bin.tgz&lt;br /&gt;
gunzip -c dosemu-1.4.0.tgz |tar -xvf -&lt;br /&gt;
cd dosemu-1.4.0&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. &lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
First some words of encouragement the esteemed Mills himself..&lt;br /&gt;
http://mailman.postel.org/pipermail/internet-history/2009-January.txt&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
The last remaing fuzzball is in my basement. The original PDP11 code yet &lt;br /&gt;
spins on a disk here. Someday somebody migh enjoy lighing it up in &lt;br /&gt;
simulation.&lt;br /&gt;
&amp;quot;&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10776</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10776"/>
				<updated>2012-06-09T11:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: putr stuff, reconstructed backroom fuzzball&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
== DOSEMU &amp;amp; PUTR route==&lt;br /&gt;
Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.&lt;br /&gt;
&lt;br /&gt;
=== Get the tools and archive in place ===&lt;br /&gt;
&lt;br /&gt;
The below commands get you dosemu, freedos, putr and the final fuzzball release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir dos&lt;br /&gt;
cd dos&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0.tgz?download&lt;br /&gt;
wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download&lt;br /&gt;
mv dosemu-freedos-1.0-bin.tgz dosemu-freedos-bin.tgz&lt;br /&gt;
gunzip -c dosemu-1.4.0.tgz |tar -xvf -&lt;br /&gt;
cd dosemu-1.4.0&lt;br /&gt;
./configure &lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd ..&lt;br /&gt;
wget http://www.dbit.com/pub/putr/putr.com&lt;br /&gt;
wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
gunzip -c fuzzball.tar.gz |tar -xvf -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reconstructing the last know fuzzball disk ===&lt;br /&gt;
Get in the mood for this desecration ritual.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/backroom.html&lt;br /&gt;
&lt;br /&gt;
Now create an indirect command file called PUTR.INI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CLS&lt;br /&gt;
SET COPY BINARY&lt;br /&gt;
SET MORE OFF&lt;br /&gt;
FORMAT fuzzball.img /RD54 /RT11&lt;br /&gt;
Y&lt;br /&gt;
DU&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
DU0&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
DU1&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
DU2&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
DU3&lt;br /&gt;
Mills&lt;br /&gt;
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
DU4&lt;br /&gt;
Mills&lt;br /&gt;
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0&lt;br /&gt;
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1&lt;br /&gt;
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2&lt;br /&gt;
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3&lt;br /&gt;
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4&lt;br /&gt;
COPY DU0\*.* DU0:&lt;br /&gt;
COPY DU1\*.* DU1:&lt;br /&gt;
COPY DU2\*.* DU2:&lt;br /&gt;
COPY DU3\*.* DU3:&lt;br /&gt;
COPY DU4\*.* DU4:&lt;br /&gt;
BOOT DU0:&lt;br /&gt;
RT11FB&lt;br /&gt;
DU&lt;br /&gt;
DISMOUNT DU0:&lt;br /&gt;
DISMOUNT DU1:&lt;br /&gt;
DISMOUNT DU2:&lt;br /&gt;
DISMOUNT DU3:&lt;br /&gt;
DISMOUNT DU4:&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dosemu putr.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. &lt;br /&gt;
&lt;br /&gt;
=== booting the fuzzball ===&lt;br /&gt;
&lt;br /&gt;
You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set rq0 RD54&lt;br /&gt;
att rq0 fuzzball.img&lt;br /&gt;
boot rq0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PDP-11 simulator V3.9-0&lt;br /&gt;
Disabling CR&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.05  &lt;br /&gt;
&lt;br /&gt;
.SET TT: QUIET&lt;br /&gt;
&amp;lt;nothing received&amp;gt;&lt;br /&gt;
?SETCLK-W-Device error&lt;br /&gt;
&lt;br /&gt;
.R PGWAIT&lt;br /&gt;
NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11&lt;br /&gt;
.R BOS6&lt;br /&gt;
&lt;br /&gt;
HALT instruction, PC: 010262 (MOV 105754,73246)&lt;br /&gt;
Goodbye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10775</id>
		<title>User:Dugo/My sandbox</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Dugo/My_sandbox&amp;diff=10775"/>
				<updated>2012-06-07T14:49:32Z</updated>
		
		<summary type="html">&lt;p&gt;Dugo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= fuzzball notes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** Important Note ***&lt;br /&gt;
&lt;br /&gt;
This fuzzware is distributed only with permission from the Defense Advanced&lt;br /&gt;
Research Projects Agency (DARPA) under the condition that it not be&lt;br /&gt;
redistributed outside of the receiving organization without prior DARPA&lt;br /&gt;
approval. It is provided on an as-is basis only. Users should be cautioned&lt;br /&gt;
that only very minimal help is available and that support and maintenance is&lt;br /&gt;
not a contractual responsibility of the distributor.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!&lt;br /&gt;
&lt;br /&gt;
From what I gathered so far, you have to bring up a fuzzball fully configured.&lt;br /&gt;
&lt;br /&gt;
You build the configuration dependent modules. This is not something I'm fast with (yet).&lt;br /&gt;
I'm so used to bringing up something quickly and then molding it until it does something cool,&lt;br /&gt;
I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident&lt;br /&gt;
system, then bring up something iteratively.. or.. spend some time designing a setup.&lt;br /&gt;
&lt;br /&gt;
For now a bit of both vectors.&lt;br /&gt;
&lt;br /&gt;
A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting&lt;br /&gt;
`Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter&lt;br /&gt;
is very social and likes swamps. Zoo management is currently looking into acquiring&lt;br /&gt;
a dozen fuzzbals so they can keep each other company. The cost for housing these will&lt;br /&gt;
be astronomical, but the finance director thinks this can earned back if they can be&lt;br /&gt;
trained to do some cool tricks. The PdpWorld Fuzzball Show!&lt;br /&gt;
&lt;br /&gt;
This will require some digging because nobody in their right mind currently runs any&lt;br /&gt;
of these beasts and all the trainers of yesteryear are probably in or near retirement.&lt;br /&gt;
&lt;br /&gt;
Digging hard and deep in and around French ftp caves of academic nature yielded a tarball&lt;br /&gt;
with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the&lt;br /&gt;
looks of it is a backup of Mills workstation (udel2.udel.edu?) complete with RT-11 V 5.5&lt;br /&gt;
backups and even fuzzball configs from the time the NFSNET backbone critters were converted&lt;br /&gt;
to NTP servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NET : 129.140.0.0 : NSFNET-BB :&lt;br /&gt;
** San Diego CA		-- General Atomics 		-- San Diego Supercomputer Center, SDSC&lt;br /&gt;
** Urbana-Champaign IL 	-- University of Illinois 	-- National Center for Supercomputing Applications, NCSA&lt;br /&gt;
** Pittsburgh PA 		-- Carnegie Mellon University 	-- Pittsburgh Supercomputer Center, PSC&lt;br /&gt;
** Ithaca NY		-- Cornell University 		-- Cornell Theory Center, CTC&lt;br /&gt;
** Princeton NJ 		-- Princeton University 	-- John von Neumann National Supercomputer Center, JvNC&lt;br /&gt;
** Boulder CO 		-- National Center for Atmospheric Research, NCAR&lt;br /&gt;
&lt;br /&gt;
There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.&lt;br /&gt;
&lt;br /&gt;
Here is Mills archive of his du0 system disk..&lt;br /&gt;
http://malarky.udel.edu/~dmills/data/du0/&lt;br /&gt;
&lt;br /&gt;
..and the complete archive is here.&lt;br /&gt;
http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz&lt;br /&gt;
&lt;br /&gt;
I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.&lt;br /&gt;
&lt;br /&gt;
I got that idea by looking at the SET statements in STARTF.COM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET TT: QUIET&lt;br /&gt;
SET USR NOSWAP&lt;br /&gt;
SET TT: FORM&lt;br /&gt;
SET TT: WIDTH=80&lt;br /&gt;
SET TT: TAB&lt;br /&gt;
SET TT: SCOPE&lt;br /&gt;
ASSIGN SY: DK:&lt;br /&gt;
ASSIGN SY: INP:&lt;br /&gt;
ASSIGN SY: OUT:&lt;br /&gt;
ASSIGN DU1: ARC:&lt;br /&gt;
ASSIGN TT: LP:&lt;br /&gt;
SET DU0: UNIT=0 PART=0&lt;br /&gt;
SET DU1: UNIT=0 PART=1&lt;br /&gt;
SET DU2: UNIT=0 PART=2&lt;br /&gt;
SET DU3: UNIT=0 PART=3&lt;br /&gt;
SET DU4: UNIT=0 PART=4&lt;br /&gt;
DATE 1-JAN-92&lt;br /&gt;
R SETCLK&lt;br /&gt;
SET TT: NOQUIET&lt;br /&gt;
R PGWAIT&lt;br /&gt;
R BOS6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What to set cpu in simh?&lt;br /&gt;
what it looked like.. eg this LSI-11&lt;br /&gt;
http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg&lt;br /&gt;
&lt;br /&gt;
1MB mem in a 85/86 era pdp-11&lt;br /&gt;
&lt;br /&gt;
DEQNA UNIBUS, PROTEON Unibus ethernet cards??&lt;br /&gt;
&lt;br /&gt;
from tcp-ip archive:&lt;br /&gt;
&lt;br /&gt;
*BRL used 2 PDP-11/34's and 1 11/23 &lt;br /&gt;
&lt;br /&gt;
*the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. &lt;br /&gt;
&lt;br /&gt;
What disks .. 2 RL02s look cool to get RT-11 to boot..&lt;br /&gt;
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG&lt;br /&gt;
&lt;br /&gt;
11/23 had what .. 248k?&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
http://lists.ntp.org/pipermail/hackers/2003-September/000321.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The stuff I have is the Fuzzware for the NSFnet backbone, including all&lt;br /&gt;
sources, binaries and scripts. It's on three RT-11 flopette images now&lt;br /&gt;
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory&lt;br /&gt;
segmentation hardware, a real-time clock board and any of several kinds&lt;br /&gt;
of disk drives. Getting that stuff to spin in a simulator would be an&lt;br /&gt;
interesting exercise.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and from other places&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- &lt;br /&gt;
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, &lt;br /&gt;
Ethernet  interface  and  serial  interfaces.&lt;br /&gt;
One  or two  low-speed &lt;br /&gt;
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three &lt;br /&gt;
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes &lt;br /&gt;
include  crystal-stabilized  clock  interfaces,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
At the time &lt;br /&gt;
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each &lt;br /&gt;
connected to a hardware interface that did retransmissions when &lt;br /&gt;
necessary. The backbone was connected at several points to the ARPAnet, &lt;br /&gt;
most of which at 56/64 kbps. The fuzzbals were located at the five NSF &lt;br /&gt;
supercomputer centers on various college campuses.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..while the NSFNET backfuzz are connected only to each other&lt;br /&gt;
via DDCMP serial lines and to Ethernets at each site. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The NSFNET Backbone fuzzies &lt;br /&gt;
use DDCMP links	with CRC checking and they do find significant numbers of &lt;br /&gt;
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP &lt;br /&gt;
and/or TCP checksums were the only protection. However,	I am completely &lt;br /&gt;
comfortable without CRC	protection on single-user PCs and workstations &lt;br /&gt;
and would be even more comfortable if the drat Backfuzz	links did NOT use &lt;br /&gt;
retransmission (DDCMP interface	retransmissions	are done in hardware and &lt;br /&gt;
cannot be disabled).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also lines in BOS6.COM and DAT6.COM yield a few clues..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        .PARAM  DQ0,&amp;lt;DQI,DQO&amp;gt;,27,1600.,270,174440,10000 ;ethernet link&lt;br /&gt;
        .PARAM  DM0,&amp;lt;DMI,DMO&amp;gt;,27,,330,160020,40100 ;dmv11 link&lt;br /&gt;
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)&lt;br /&gt;
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get/compile/strip simh pdp11 ==&lt;br /&gt;
check pcap path .. maybe add -lnl .. mkdir BIN&lt;br /&gt;
$ gmake USE_NETWORK=1 all&lt;br /&gt;
&lt;br /&gt;
== install rt-11 5.3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z&lt;br /&gt;
uncompress rtv53swre.tar.Z&lt;br /&gt;
cat rtv53swre.tar |tar -xvf -&lt;br /&gt;
cp Disks/rtv53_rl.dsk rl1.dsk&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz&lt;br /&gt;
gunzip rl02.dsk.gz &lt;br /&gt;
cp rl02.dsk rl0.dsk&lt;br /&gt;
touch lpt.txt&lt;br /&gt;
cat &amp;gt;inst.ini &amp;lt;&amp;lt;__EOF&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
boot rl1&lt;br /&gt;
quit&lt;br /&gt;
__EOF&lt;br /&gt;
&lt;br /&gt;
###restart&lt;br /&gt;
###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ pdp11 inst.ini &lt;br /&gt;
&lt;br /&gt;
PDP-11 simulator V3.8-1&lt;br /&gt;
Disabling CR&lt;br /&gt;
Overwrite last track? [N] y&lt;br /&gt;
ZA[c\&lt;br /&gt;
        Welcome to RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to&lt;br /&gt;
        install your RT-11 system, then store it in a safe place.&lt;br /&gt;
&lt;br /&gt;
        RT-11  V5.3  provides an automatic installation procedure which will&lt;br /&gt;
        back up your distribution disk and build a working system disk which&lt;br /&gt;
        should  be  used for your work with RT-11.&lt;br /&gt;
        This  working  system disk will only  contain  the  RT-11  operating&lt;br /&gt;
        system.  After  the  RT-11  installation  is  complete,  follow  the &lt;br /&gt;
        installation instructions  packaged  with  any optional languages or&lt;br /&gt;
        utility software which you will be using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
        You  can  choose  to  install  RT-11  manually.  This  procedure  is&lt;br /&gt;
        described in the RT-11 Installation Guide. &lt;br /&gt;
&lt;br /&gt;
        If  you  are a new user of RT-11, DIGITAL highly recommends that you&lt;br /&gt;
        use the automatic installation procedure.&lt;br /&gt;
&lt;br /&gt;
        Do you want to use the automatic installation procedure?&lt;br /&gt;
        (Type YES or NO and press the &amp;quot;RETURN&amp;quot; key): y&lt;br /&gt;
&lt;br /&gt;
        You  will  be guided through the installation process by a series of&lt;br /&gt;
        instructions  and questions; you have an interactive dialog with the&lt;br /&gt;
        RT-11  installation  program.   All  you  need  to  do is follow the&lt;br /&gt;
        instructions  carefully.  When  the  instructions ask you to mount a&lt;br /&gt;
        disk in a specified drive, find the disk with the correct label  and&lt;br /&gt;
        mount it in the drive, as shown in your installation booklet. &lt;br /&gt;
&lt;br /&gt;
        Do  not  remove  any  disk until specifically instructed to do so.&lt;br /&gt;
        Once  a  disk  is  mounted in a drive, it must remain in the drive&lt;br /&gt;
        until a message appears asking you to remove the disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Please enter today's date in the following format:&lt;br /&gt;
&lt;br /&gt;
        DD-MMM-YY&lt;br /&gt;
          where DD is the day of the month&lt;br /&gt;
                MMM is the first 3 letters in the name of the month&lt;br /&gt;
        YY is the last two numbers of the year&lt;br /&gt;
&lt;br /&gt;
        For example:   September 19, 1984 is 19-SEP-84&lt;br /&gt;
&lt;br /&gt;
        Type in the date, then press the &amp;quot;RETURN&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
              16-oct-94&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        A backup copy of the distribution disk will now be built.&lt;br /&gt;
        Mount a blank disk in DL0 (Drive 0).&lt;br /&gt;
        See the Automatic Installation Booklet for mounting instructions.&lt;br /&gt;
        (Remember that the disk is not mounted until you have pressed the LOAD&lt;br /&gt;
        button and the READY indicator light is on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Before  a  blank  disk  can  be used it must be prepared so that the&lt;br /&gt;
        software can write data to it. This preparation is called initiali-&lt;br /&gt;
        zation.&lt;br /&gt;
&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This may take up to five minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your backup copy of the distribution disk is in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        Please remove this disk from DL0 and label it&lt;br /&gt;
        &amp;quot;RT-11 V5.3 BIN RL02 BACKUP&amp;quot;.&lt;br /&gt;
        Refer to Appendix B of your installation booklet for instructions&lt;br /&gt;
        for dismounting a disk.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have removed the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be built automatically. This  disk&lt;br /&gt;
        will contain the RT-11 Operating System.&lt;br /&gt;
        Select a blank disk and label it: &amp;quot;RT-11 V5.3 BIN RL02 WORKING&amp;quot;&lt;br /&gt;
        and mount it in DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when you have mounted the disk. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        The disk you mounted in DL0 (Drive 0) is an original distribution&lt;br /&gt;
        or backup disk.&lt;br /&gt;
&lt;br /&gt;
        The next procedure initializes DL0.  As a  result,  any  files&lt;br /&gt;
        that currently reside on DL0 will be permanently lost. If  you &lt;br /&gt;
        would like to retain any files,  EXIT  from Automatic Installation&lt;br /&gt;
        Procedure and copy  them  to another volume.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        Do you want to EXIT from Automatic Installation (Y)? n&lt;br /&gt;
        The disk in DL0 is now being initialized.&lt;br /&gt;
&lt;br /&gt;
        The following procedure should produce informational  messages&lt;br /&gt;
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action&lt;br /&gt;
        is required as a result of these messages.  If BAD blocks  are&lt;br /&gt;
        detected, the block number will be provided.  This information&lt;br /&gt;
        should be noted for future reference.&lt;br /&gt;
&lt;br /&gt;
        This can take approximately fifteen minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?DUP-I-No bad blocks detected DL0:&lt;br /&gt;
&lt;br /&gt;
        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).&lt;br /&gt;
&lt;br /&gt;
        This can take approximately two minutes.  Please wait...&lt;br /&gt;
&lt;br /&gt;
        Your working system disk will now be bootstrapped.&lt;br /&gt;
&lt;br /&gt;
        Press the &amp;quot;RETURN&amp;quot; key when ready to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RT-11FB  V05.03  &lt;br /&gt;
&lt;br /&gt;
.TYPE V5USER.TXT&lt;br /&gt;
&lt;br /&gt;
                              RT-11 V5.3&lt;br /&gt;
&lt;br /&gt;
       Installation of RT-11 Version 5.3 is complete and you are now&lt;br /&gt;
    executing from the working volume    (provided you have used the&lt;br /&gt;
    automatic installation procedure). DIGITAL recommends you verify&lt;br /&gt;
    the correct  operation  of  your  system's  software  using  the&lt;br /&gt;
    verification procedure.  To do this, enter the command:&lt;br /&gt;
&lt;br /&gt;
                             IND VERIFY&lt;br /&gt;
&lt;br /&gt;
        Note that VERIFY should be performed  only after the distri-&lt;br /&gt;
    bution media have been backed up.  This was accomplished as part&lt;br /&gt;
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50&lt;br /&gt;
    based systems,   including the  MicroPDP-11 and the Professional&lt;br /&gt;
    300.  If you have not completed automatic installation, you must&lt;br /&gt;
    perform a manual backup before using VERIFY.  Note also,  VERIFY&lt;br /&gt;
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the&lt;br /&gt;
    Professional 325.&lt;br /&gt;
&lt;br /&gt;
    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which&lt;br /&gt;
    contains information  formalized too late to be included  in the&lt;br /&gt;
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== get the fuzzware ==&lt;br /&gt;
&lt;br /&gt;
This used to go by mail&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG&lt;br /&gt;
http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG&lt;br /&gt;
&lt;br /&gt;
now we:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz&lt;br /&gt;
wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz&lt;br /&gt;
gunzip *dsk.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and we have DSDD images..&lt;br /&gt;
&lt;br /&gt;
Gee, thanks wizz!&lt;br /&gt;
&lt;br /&gt;
AFAICT DEC didn't make 8&amp;quot; DS floppy drives,&lt;br /&gt;
simh doesn't have one for the emulated PDP-11 and&lt;br /&gt;
RT-11 V5.3 doesn't like the idea very much either.&lt;br /&gt;
&lt;br /&gt;
Maybe they are not 8&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25&amp;quot; floppy disk disk images&lt;br /&gt;
                for the Fuzzball operating system and Internet&lt;br /&gt;
                applications for the PDP11 family of computers. These&lt;br /&gt;
                are in RT-11 file system format suitable for copying&lt;br /&gt;
                to double-density, double-side media. The Fuzzball&lt;br /&gt;
                operating system was used in the NSFnet Phase-1&lt;br /&gt;
                Backbone during the period 1986-1988 and is probably&lt;br /&gt;
                of historic interest only.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== have a look around ==&lt;br /&gt;
&lt;br /&gt;
Dream up some pdp-11 w/ 4 floppy drives..:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ptr dis&lt;br /&gt;
set ptp dis&lt;br /&gt;
set lpt dis&lt;br /&gt;
set dz DISABLED&lt;br /&gt;
set RK dis&lt;br /&gt;
set HK dis&lt;br /&gt;
set rx dis&lt;br /&gt;
set rp dis&lt;br /&gt;
set tm dis&lt;br /&gt;
set tq dis&lt;br /&gt;
set xq dis&lt;br /&gt;
&lt;br /&gt;
set console telnet=50000&lt;br /&gt;
set tti 8b&lt;br /&gt;
set tto 8b&lt;br /&gt;
set cpu 11/23+ 256K&lt;br /&gt;
;attach LPT lpt.txt&lt;br /&gt;
set rl1 writeenabled&lt;br /&gt;
set rl1 rl02&lt;br /&gt;
attach rl1 rl1.dsk&lt;br /&gt;
set rl0 writeenabled&lt;br /&gt;
set rl0 rl02&lt;br /&gt;
attach rl0 rl0.dsk&lt;br /&gt;
set rq enabled&lt;br /&gt;
set rq0 RX33&lt;br /&gt;
set rq1 RX33&lt;br /&gt;
set rq2 RX33&lt;br /&gt;
set rq3 RX33&lt;br /&gt;
att rq0 bos.dsk&lt;br /&gt;
att rq1 fuzz1.dsk&lt;br /&gt;
att rq2 fuzz2.dsk&lt;br /&gt;
att rq3 fuzz3.dsk&lt;br /&gt;
set rl0 badblock&lt;br /&gt;
set rl1 badblock&lt;br /&gt;
;set throttle 500K&lt;br /&gt;
boot rl0&lt;br /&gt;
;boot rl1&lt;br /&gt;
;quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried an almost textbook rebuild of the configuration-independent modules w/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATE 25-oct-94                     ! don't go even near turn of the century&lt;br /&gt;
TIME 15:35:35                      ! fuzzballs like to know what time it is&lt;br /&gt;
ASSIGN DL1: DK:&lt;br /&gt;
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files&lt;br /&gt;
ASSIGN DK: INP: !input device&lt;br /&gt;
ASSIGN DK: OUT: !output device&lt;br /&gt;
ASSIGN DK: ARC: !archive device&lt;br /&gt;
COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE&lt;br /&gt;
COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE&lt;br /&gt;
COPY DU2:SYSGEN.COM DK:&lt;br /&gt;
@SYSGEN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This breaks somewhere around the compilation of TNLSI and again at LOG.&lt;br /&gt;
&lt;br /&gt;
Unless you change something on the FUZZ1 or FUZZ2 volumes, these&lt;br /&gt;
steps will not be necessary, or so the README.TXT on DU2: claims.&lt;br /&gt;
&lt;br /&gt;
I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:&lt;br /&gt;
&lt;br /&gt;
Building the resident system with configuration dependent files is another ballgame.&lt;br /&gt;
&lt;br /&gt;
I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.&lt;br /&gt;
&lt;br /&gt;
I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.&lt;br /&gt;
&lt;br /&gt;
I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised NSFNET running to tie my other emulation projects together.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== deadly quote ==&lt;br /&gt;
&amp;quot;Laugh it up, fuzzball.&amp;quot; - Han Solo to Chewbacca, &amp;quot;The Empire Strikes Back&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dugo</name></author>	</entry>

	</feed>