Difference between revisions of "Installing 4.3 BSD Quasijarus on SIMH"

From Computer History Wiki
Jump to: navigation, search
(Boot 1.)
(Creating the disk label: ASCII " double quotes.)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
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.
 
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.
  
== Requirements ==
+
== Obtaining an install tape ==
 +
 
 +
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&package_id=309407&release_id=659789 sourceforge].  If you want to build your own tape image, then follow the next section.
 +
 
 +
== Building your own tape image ==
 +
 
 +
I will describe what is needed, and how to create your own Quasijarus tape image, that is suitable for installing with SIMH.
 +
 
 +
=== Requirements ===
  
 
You will need the following materials to put together a 4.3 BSD Quasijarus installation:
 
You will need the following materials to put together a 4.3 BSD Quasijarus installation:
Line 8: Line 16:
 
*A copy of gzip.<br>
 
*A copy of gzip.<br>
 
*A working C compiler.<br>
 
*A working C compiler.<br>
*A method of extracting the boot file from either the binaries (tar/gzip) or uudecode to extract it from [[boot42|here]].<br>
+
*A compiled binary of vax from [[SIMH]], along with the ka655x.bin again from [[SIMH]].
*A compiled binary of vax780 from [[SIMH]], along with the vmb.exe again from [[SIMH]].
 
  
  
You will need the following files from any 4 BSD archive from the 4.2 directory.  I have used the files from [http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/].  You can use whatever method you like to download them, wget, a web browser etc..<br><br>
+
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.<br><br>
  
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/stand.Z stand.Z]<br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/stand.Z/download stand.Z]<br>
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/miniroot.Z miniroot.Z]<br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/miniroot.Z/download miniroot.Z]<br>
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/rootdump.Z rootdump.Z]<br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/rootdump.Z/download rootdump.Z]<br>
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/usr.tar.Z usr.tar.Z]<br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/usr.tar.Z/download usr.tar.Z]<br>
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/srcsys.tar.Z srcsys.tar.Z]<br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/srcsys.tar.Z/download srcsys.tar.Z]<br>
[http://ftp.arcane-networks.fr/pub/mirrors/UNIX/4.3BSD-Quasijarus0c/src.tar.Z src.tar.Z]<br><br>
+
[https://sourceforge.net/projects/bsd42/files/Install%20tapes/4.3%20BSD%20Quasijarus%200c/ifctfvax/4.3BSD-Quasijarus0c/src.tar.Z/download src.tar.Z]<br><br>
  
== gzcompat ==
+
=== gzcompat ===
  
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 last known place to download gzcompat is [[ftp://ftp.cs.tu-berlin.de/pub/bsd/UnixArchive/4BSD/Distributions/components/compress.tar here]].
+
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]].
  
 
On most instances with gcc simply run:
 
On most instances with gcc simply run:
Line 31: Line 38:
 
And that should be it.
 
And that should be it.
  
== Preparing for installation ==
+
=== Preparing for installation ===
  
  
 
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.
 
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.
  
The following command will decompress the tape files, on a UNIX install.  For Windows users, use the type command, instead of cat.
+
The following command will decompress the tape files, on a UNIX install.
 
<pre>
 
<pre>
 
cat miniroot.Z | gzcompat | gzip -dc > miniroot
 
cat miniroot.Z | gzcompat | gzip -dc > miniroot
Line 46: Line 53:
 
</pre>
 
</pre>
  
The tape needs to be created with the [[mkdisttap.pl]] program. Simply run the program and redirect it into a file called quas.tap .
+
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.
  
 
<pre>
 
<pre>
Line 54: Line 61:
 
%</pre>
 
%</pre>
  
Now we have our tape, 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.
+
An empty RA82 can be created with:
 +
 
 +
<pre>
 +
% dd if=/dev/zero of=quas.dsk bs=512 count=1216665
 +
</pre>
 +
 
 +
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.
  
 
==  Boot 1. ==
 
==  Boot 1. ==
Line 68: Line 81:
 
set ts dis
 
set ts dis
 
set xq dis
 
set xq dis
set rq0 ra81
+
set rq0 ra82
 
att rq0 quas.dsk
 
att rq0 quas.dsk
 
set rq1 dis
 
set rq1 dis
Line 74: Line 87:
 
set rq3 dis
 
set rq3 dis
 
att tq0 quas.tap
 
att tq0 quas.tap
 +
set tti 7b
 +
set tto 7b
 
boot cpu
 
boot cpu
 
</pre>
 
</pre>
Line 171: Line 186:
 
</pre>
 
</pre>
  
 +
Once the disk has been mounted we will be dumped to the root prompt.  The next step will be creating the default disk label.
 +
 +
=== Creating the disk label ===
 +
 +
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.
 +
 +
Simply type in:
 +
 +
<pre>
 +
disklabel -rw ra0 ra82 "Quasijarus" /usr/mdec/rdboot /usr/mdec/bootra
 +
</pre>
 +
 +
And the disk will now be labled, and bootable from the firmware.
  
 
=== Restoring the rootdump ===
 
=== Restoring the rootdump ===
  
From here we are now running from the miniroot.  The next steps are as follows:
+
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:
  
 
<pre>
 
<pre>
# cd /dev
+
disk=ra0 type=ra82 tape=tms xtr
# ./MAKEDEV ra1
 
# cd /
 
# disk=ra1 type=ra81 tape=ts xtr
 
 
</pre>
 
</pre>
  
This will create a 'device' for the ra1 disk, then run the xtr program to restore the root dump.  Take note that the chgrp & chmod commands are not found, however the install will proceed as normal.
+
And the following will happen:
  
 
<pre>
 
<pre>
erase ^?, kill ^U, intr ^C
+
# disk=ra0 type=ra82 tape=tms xtr
# cd /dev
 
# ./MAKEDEV ra1
 
./MAKEDEV: chgrp: not found
 
./MAKEDEV: chmod: not found
 
# cd /
 
# disk=ra1 type=ra81 tape=ts xtr
 
 
Build root file system
 
Build root file system
Warning: 538 sector(s) in last cylinder unallocated
+
Warning: 361 sector(s) in last cylinder unallocated
/dev/rra1a:    15884 sectors in 23 cylinders of 14 tracks, 51 sectors
+
/dev/rra0a:    15884 sectors in 19 cylinders of 15 tracks, 57 sectors
         8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
+
         8.1MB in 2 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
super-block backups (for fsck -b#) at:
+
super-block backups (for fsck -b #) at:
  32, 11520,
+
  32, 13776,
 
Check the file system
 
Check the file system
** /dev/rra1a
+
** /dev/rra0a
 
** Last Mounted on
 
** Last Mounted on
 
** Phase 1 - Check Blocks and Sizes
 
** Phase 1 - Check Blocks and Sizes
Line 207: Line 226:
 
** Phase 4 - Check Reference Counts
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
** Phase 5 - Check Cyl groups
2 files, 9 used, 7420 free (20 frags, 925 blocks, 0.3% fragmentation)
+
1 files, 1 used, 7092 free (20 frags, 884 blocks, 0.3% fragmentation)
 
Rewind tape
 
Rewind tape
 
Restore the dump image of the root
 
Restore the dump image of the root
Warning: ./lost+found: File exists
+
** /dev/rra0a
** /dev/rra1a
 
 
** Last Mounted on /a
 
** Last Mounted on /a
 
** Phase 1 - Check Blocks and Sizes
 
** Phase 1 - Check Blocks and Sizes
Line 218: Line 236:
 
** Phase 4 - Check Reference Counts
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
** Phase 5 - Check Cyl groups
317 files, 4199 used, 3230 free (6 frags, 403 blocks, 0.1% fragmentation)
+
426 files, 5195 used, 1898 free (18 frags, 235 blocks, 0.3% fragmentation)
 
Root filesystem extracted
 
Root filesystem extracted
  
Line 235: Line 253:
 
# sync
 
# sync
  
Simulation stopped, PC: 800018AE (BRB 800018A3)
+
Simulation stopped, PC: 800029AF (BNEQ 800029C6)
 
sim> q
 
sim> q
 
Goodbye
 
Goodbye
  
C:\4.3BSD\work>
+
C:\Quasijarus0c\work>
 
</pre>
 
</pre>
  
 
==  Boot 2. ==
 
==  Boot 2. ==
  
Now that the install disk is prepared, we need to use a different config file to reflect us going back to a single disk/tape configuration.  The new configuration is as follows:
+
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:
  
 
=== boot.ini ===
 
=== boot.ini ===
 
<pre>
 
<pre>
set rq0 ra81
+
set cr dis
att rq0 rq.dsk
+
set lpt dis
 +
set rl dis
 +
set ry dis
 +
set ts dis
 +
set xq dis
 +
set rq0 ra82
 +
att rq0 quas.dsk
 
set rq1 dis
 
set rq1 dis
 
set rq2 dis
 
set rq2 dis
 
set rq3 dis
 
set rq3 dis
set rp dis
+
att tq0 quas.tap
set lpt dis
 
set rl dis
 
set tq dis
 
set tu dis
 
att ts 43.tap
 
 
set tti 7b
 
set tti 7b
 
set tto 7b
 
set tto 7b
load -o boot42 0
+
att nvr nvram.dat
d r10 9
+
dep bdr 1
d r11 0
+
boot cpu
run 2
 
 
</pre>
 
</pre>
  
 
=== Booting the emulator ===
 
=== Booting the emulator ===
  
Now boot up the emulator with the boot.ini
+
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.
  
 
<pre>
 
<pre>
C:\4.3BSD\work>vax780.exe boot.ini
+
C:\Quasijarus0c\work>vax.exe boot.ini
 +
 
 +
VAX simulator V3.8-0
 +
NVR: creating new file
 +
NVR: buffering file in memory
 +
Loading boot code from ka655x.bin
 +
 
 +
←[c
 +
KA655-B V5.3, VMB 2.7
 +
Performing normal system tests.
 +
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
 +
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
 +
08..07..06..05..04..03..
 +
Tests completed.
 +
Loading system software.
 +
No default boot device has been specified.
 +
 
 +
Available devices.
 +
-DUA0 (RA 82)
 +
-MUA0 (TK 50)
 +
-MUA1 (TK 50)
 +
-MUA2 (TK 50)
 +
-MUA3 (TK 50)
 +
 
 +
Device? [XQA0]: dua0:
 +
 
 +
(BOOT/R5:0 DUA0
 +
 
 +
 
 +
 
 +
  2..
 +
-DUA0
 +
  1..0..
 +
 
 +
loading boot
  
VAX780 simulator V3.8-0
 
loading ra(0,0)boot
 
 
Boot
 
Boot
: ra(0,0)vmunix
+
: /vmunix
279844+80872+100324 start 0x12f8
+
326312+104440+130352 start 0x23b8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
+
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
     karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
+
     root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 8388608
+
real mem  = 16744448
SYSPTSIZE limits number of buffers to 140
+
SYSPTSIZE limits number of buffers to 112
avail mem = 7187456
+
avail mem = 14920704
using 140 buffers containing 524288 bytes of memory
+
using 112 buffers containing 917504 bytes of memory
mcr0 at tr1
+
MicroVAX 3000, ucode rev 6
mcr1 at tr2
+
tmscp0 at uba0 csr 174500 vec 774, ipl 15
uba0 at tr3
+
tms0 at tmscp0 slave 0
hk0 at uba0 csr 177440 vec 210, ipl 15
+
tms1 at tmscp0 slave 1
rk0 at hk0 slave 0
+
uda0 at uba0 csr 172150 vec 770, ipl 15
rk1 at hk0 slave 1
+
uda0: version 3 model 3
rk2 at hk0 slave 2
+
uda0: DMA burst size set to 4
rk3 at hk0 slave 3
+
ra0 at uda0 slave 0: ra82, size = 1216665 sectors
uda0 at uba0 csr 172150 vec 774, ipl 15
 
ra0 at uda0 slave 0
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
ts0 at zs0 slave 0
 
 
dz0 at uba0 csr 160100 vec 300, ipl 15
 
dz0 at uba0 csr 160100 vec 300, ipl 15
 
dz1 at uba0 csr 160110 vec 310, ipl 15
 
dz1 at uba0 csr 160110 vec 310, ipl 15
Line 303: Line 349:
 
Changing root device to ra0a
 
Changing root device to ra0a
 
Automatic reboot in progress...
 
Automatic reboot in progress...
Thu Feb  6 07:35:07 PST 1986
+
Fri Feb  6 09:47:10 PST 2004
 
Can't open checklist file: /etc/fstab
 
Can't open checklist file: /etc/fstab
 
Automatic reboot failed... help!
 
Automatic reboot failed... help!
Line 315: Line 361:
  
 
<pre>
 
<pre>
# disk=ra
+
# newfs ra0g ra82
# name=ra0h;type=ra81
+
# newfs ra0h ra82
 +
# mkdir /home
 +
# mount /dev/ra0g /usr
 
# cd /dev
 
# cd /dev
# sh ./MAKEDEV ts0;sync
+
# MAKEDEV tmscp0
# cd /
+
# MAKEDEV dz0
# newfs $name $type
 
 
</pre>
 
</pre>
  
Line 326: Line 373:
  
 
<pre>
 
<pre>
# disk=ra
+
# newfs ra0g ra82
# name=ra0h;type=ra81
+
/dev/rra0g:    841320 sectors in 984 cylinders of 15 tracks, 57 sectors
 +
        430.8MB in 62 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
 +
super-block backups (for fsck -b #) at:
 +
32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,
 +
123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,
 +
246400, 260144, 273888, 287632, 301376, 315120, 328864, 342608, 356352,
 +
370096, 383840, 397584, 411328, 425072, 437792, 451536, 465280, 479024,
 +
492768, 506512, 520256, 534000, 547744, 561488, 575232, 588976, 602720,
 +
616464, 630208, 643952, 656672, 670416, 684160, 697904, 711648, 725392,
 +
739136, 752880, 766624, 780368, 794112, 807856, 821600, 835344,
 +
# newfs ra0h ra82
 +
Warning: 209 sector(s) in last cylinder unallocated
 +
/dev/rra0h:    291346 sectors in 341 cylinders of 15 tracks, 57 sectors
 +
        149.2MB in 22 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
 +
super-block backups (for fsck -b #) at:
 +
32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,
 +
123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,
 +
246400, 260144, 273888, 287632,
 +
# mkdir /home
 +
# mount /dev/ra0g /usr
 
# cd /dev
 
# cd /dev
# sh ./MAKEDEV ts0;sync
+
# MAKEDEV tmscp0
# cd /
+
# MAKEDEV dz0
# newfs $name $type
 
Warning: 680 sector(s) in last cylinder unallocated
 
/dev/rra0h:    291346 sectors in 409 cylinders of 14 tracks, 51 sectors
 
        149.2Mb in 26 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
 
super-block backups (for fsck -b#) at:
 
32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 
114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 
228768, 240256, 251744, 263232, 274720, 286208,
 
#
 
 
</pre>
 
</pre>
  
 
=== Restoring the usr slice ===
 
=== Restoring the usr slice ===
  
The disk's /usr slice will not have been formatted.  We can not go ahead and mount it, and restore the /usr files.  Then we unmount the slice, and run fsck to make sure everything is ok.
+
The disk's /usr slice will not have been formatted.  We can not go ahead and mount it, and restore the /usr files.
  
 
<pre>
 
<pre>
# mount /dev/$name /usr
 
 
# cd /usr
 
# cd /usr
# mkdir sys
 
# cd sys
 
 
# mt rew
 
# mt rew
 
# mt fsf 3
 
# mt fsf 3
 
# tar xpbf 20 /dev/rmt12
 
# tar xpbf 20 /dev/rmt12
# cd ..
+
# mkdir src
# mt fsf
+
# cd src
# tar xpbf 20 /dev/rmt12
 
# cd /
 
# chmod 755 / /usr /usr/sys
 
# rm -rf sys
 
# ln -s /usr/sys sys
 
# umount /dev/$name
 
# fsck /dev/r$name
 
</pre>
 
 
 
Likewise, the output should be similar to this:
 
 
 
<pre>
 
# mount /dev/$name /usr
 
# cd /usr
 
 
# mkdir sys
 
# mkdir sys
 
# cd sys
 
# cd sys
# mt rew
+
# mt fsf
# mt fsf 3
 
 
# tar xpbf 20 /dev/rmt12
 
# tar xpbf 20 /dev/rmt12
 
# cd ..
 
# cd ..
 
# mt fsf
 
# mt fsf
 
# tar xpbf 20 /dev/rmt12
 
# tar xpbf 20 /dev/rmt12
# cd /
 
# chmod 755 / /usr /usr/sys
 
# rm -rf sys
 
# ln -s /usr/sys sys
 
# umount /dev/$name
 
# fsck /dev/r$name
 
** /dev/rra0h
 
** Last Mounted on /usr
 
** Phase 1 - Check Blocks and Sizes
 
** Phase 2 - Check Pathnames
 
** Phase 3 - Check Connectivity
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation)
 
#
 
 
</pre>
 
</pre>
  
 
=== Configuring the fstab ===
 
=== Configuring the fstab ===
  
Now we just need to create the fstab, format the 'home' slice, and then we can reboot the emulator into multiuser mode.  Enter in the following commands:
+
Now we just need to create the fstab then we can reboot the emulator into multiuser mode.  Enter in the following commands:
  
 
<pre>
 
<pre>
 
# cd /etc
 
# cd /etc
# cp fstab.ra81 fstab
+
# cat > fstab
# newfs ra0g ra81
+
/dev/ra0a:/:rw:1:1
# sync
+
/dev/ra0h:/home:rw:1:3
# reboot
+
/dev/ra0g:/usr:rw:1:2
 
</pre>
 
</pre>
  
And the expected output is as follows:
+
Now you need to press CONTROL+d which will end the stream. Finally you can tell the emulator to reboot.
  
 
<pre>
 
<pre>
# cp fstab.ra81 fstab
 
# newfs ra0g ra81
 
/dev/rra0g:    515508 sectors in 722 cylinders of 14 tracks, 51 sectors
 
        263.9Mb in 46 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
 
super-block backups (for fsck -b#) at:
 
32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 
114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 
 
228768, 240256, 251744, 263232, 274720, 286208, 297696, 309184, 320672, 332160,
 
 
343648, 355136, 365600, 377088, 388576, 400064, 411552, 423040, 434528, 446016,
 
 
457504, 468992, 480480, 491968, 503456, 514944,
 
# sync
 
 
# reboot
 
# reboot
 
syncing disks... done
 
syncing disks... done
  
Reboot requested, PC: 8002B03A (MOVL 8004F628,R0)
+
HALT instruction, PC: 8002F4F8 (BRB 8002F4F7)
 
sim> q
 
sim> q
 
Goodbye
 
Goodbye
 +
NVR: writing buffer to file
 
</pre>
 
</pre>
  
Line 438: Line 449:
  
 
<pre>
 
<pre>
C:\4.3BSD\work>vax780.exe boot.ini
+
C:\Quasijarus0c\work>vax.exe boot.ini
 +
 
 +
VAX simulator V3.8-0
 +
NVR: buffering file in memory
 +
Loading boot code from ka655x.bin
 +
 
 +
←[c
 +
KA655-B V5.3, VMB 2.7
 +
Performing normal system tests.
 +
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
 +
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
 +
08..07..06..05..04..03..
 +
Tests completed.
 +
Loading system software.
 +
(BOOT/R5:0 DUA0
 +
 
 +
 
 +
 
 +
  2..
 +
-DUA0
 +
  1..0..
 +
 
 +
loading boot
  
VAX780 simulator V3.8-0
 
loading ra(0,0)boot
 
 
Boot
 
Boot
: ra(0,0)vmunix
+
: /vmunix
279844+80872+100324 start 0x12f8
+
326312+104440+130352 start 0x23b8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
+
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
     karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
+
     root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 8388608
+
real mem  = 16744448
SYSPTSIZE limits number of buffers to 140
+
SYSPTSIZE limits number of buffers to 112
avail mem = 7187456
+
avail mem = 14920704
using 140 buffers containing 524288 bytes of memory
+
using 112 buffers containing 917504 bytes of memory
mcr0 at tr1
+
MicroVAX 3000, ucode rev 6
mcr1 at tr2
+
tmscp0 at uba0 csr 174500 vec 774, ipl 15
uba0 at tr3
+
tms0 at tmscp0 slave 0
hk0 at uba0 csr 177440 vec 210, ipl 15
+
tms1 at tmscp0 slave 1
rk0 at hk0 slave 0
+
uda0 at uba0 csr 172150 vec 770, ipl 15
rk1 at hk0 slave 1
+
uda0: version 3 model 3
rk2 at hk0 slave 2
+
uda0: DMA burst size set to 4
rk3 at hk0 slave 3
+
ra0 at uda0 slave 0: ra82, size = 1216665 sectors
uda0 at uba0 csr 172150 vec 774, ipl 15
 
ra0 at uda0 slave 0
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
ts0 at zs0 slave 0
 
 
dz0 at uba0 csr 160100 vec 300, ipl 15
 
dz0 at uba0 csr 160100 vec 300, ipl 15
 
dz1 at uba0 csr 160110 vec 310, ipl 15
 
dz1 at uba0 csr 160110 vec 310, ipl 15
Line 469: Line 496:
 
Changing root device to ra0a
 
Changing root device to ra0a
 
Automatic reboot in progress...
 
Automatic reboot in progress...
Thu Feb  6 07:43:43 PST 1986
+
Fri Feb  6 09:59:45 PST 2004
/dev/ra0a: 330 files, 4200 used, 3229 free (5 frags, 403 blocks, 0.1% fragmentat
+
/dev/ra0a: 448 files, 5199 used, 1894 free (22 frags, 234 blocks, 0.3% fragmentation)
ion)
+
/dev/rra0g: 12312 files, 71682 used, 323169 free (417 frags, 40344 blocks, 0.1% fragmentation)
/dev/rra0h: 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% f
+
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)
ragmentation)
+
Fri Feb  6 09:59:58 PST 2004
/dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmenta
 
tion)
 
Thu Feb  6 07:43:50 PST 1986
 
 
checking quotas: done.
 
checking quotas: done.
 
starting system logger
 
starting system logger
checking for core dump... /a/crash: No such file or directory
 
  
Feb  6 07:43:51 myname savecore: /a/crash: No such file or directory
 
starting local daemons:Feb  6 07:43:51 myname named[53]: /etc/named.boot: No suc
 
h file or directory
 
named sendmail.
 
 
preserving editor files
 
preserving editor files
 
clearing /tmp
 
clearing /tmp
 
standard daemons: update cron accounting.
 
standard daemons: update cron accounting.
starting network daemons: rwhod inetd printer.
+
starting network daemons: routedFeb 6 10:00:00 myname named[79]: /etc/named.boo
Thu Feb 6 07:43:52 PST 1986
+
t: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty03: No such file or directory
+
  named inetd printer.
Feb  6 07:43:54 myname getty: /dev/tty02: No such file or directory
+
starting local daemons: sendmail.
Feb 6 07:43:54 myname getty: /dev/tty05: No such file or directory
+
Fri Feb  6 10:00:01 PST 2004
Feb  6 07:43:54 myname getty: /dev/tty04: No such file or directory
 
Feb  6 07:43:54 myname getty: /dev/tty07: No such file or directory
 
Feb  6 07:43:54 myname getty: /dev/tty06: No such file or directory
 
Feb  6 07:43:54 myname getty: /dev/tty00: No such file or directory
 
Feb  6 07:43:54 myname getty: /dev/tty01: No such file or directory
 
  
  
Line 509: Line 523:
  
 
<pre>
 
<pre>
 +
Fri Feb  6 10:00:01 PST 2004
 +
 +
 +
4.3 BSD UNIX (myname.my.domain) (console)
 +
 
login: root
 
login: root
Feb  6 07:43:56 myname login: ROOT LOGIN console
+
Feb  6 10:01:26 myname login: ROOT LOGIN console
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
+
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
  
Would you like to play a game?
+
Welcome to UNIX!
  
Don't login as root, use su
+
erase ^?, kill ^U, intr ^C
myname#
+
#
 
</pre>
 
</pre>
  
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.  Sadly there are bugs in how [[4.2 BSD]] and how [[SIMH]] interact with  the networking, and it is not reliable. As sad as it is to be an 'island' you can however setup the dz serial interface to allow more than one user.
+
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.
  
 
=== Enabling remote users ===
 
=== Enabling remote users ===
  
Inside of BSD 4.3 you will have to create the dz device files.  Simply logon as root, and run the following commands:
+
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.
 
 
<pre>
 
cd /dev
 
sh ./MAKEDEV dz0
 
</pre>
 
 
 
Next, 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..
 
  
 
<pre>
 
<pre>
Line 542: Line 554:
  
  
[[Category:Tutorials]]
+
[[Category:SIMH Tutorials]]

Latest revision as of 11:02, 6 September 2021

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.

Obtaining an install tape

You have two choices now, either you can create your own, or you can download a pre-made tape on sourceforge. If you want to build your own tape image, then follow the next section.

Building your own tape image

I will describe what is needed, and how to create your own Quasijarus tape image, that is suitable for installing with SIMH.

Requirements

You will need the following materials to put together a 4.3 BSD Quasijarus installation:

  • A working perl interpeter to make the tape images.
  • A copy of gzip.
  • A working C compiler.
  • A compiled binary of vax from SIMH, along with the ka655x.bin again from SIMH.


You will need the following files from any 4 BSD archive from the Quasijarus0c directory. I have used the files from 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.

stand.Z
miniroot.Z
rootdump.Z
usr.tar.Z
srcsys.tar.Z
src.tar.Z

gzcompat

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 [here] and a known good copy is [here].

On most instances with gcc simply run:

gcc gzcompat.c -o gzcompat

And that should be it.

Preparing for installation

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.

The following command will decompress the tape files, on a UNIX install.

cat miniroot.Z | gzcompat | gzip -dc > miniroot
cat rootdump.Z | gzcompat | gzip -dc > rootdump
cat src.tar.Z | gzcompat | gzip -dc > src.tar
cat srcsys.tar.Z | gzcompat | gzip -dc > srcsys.tar
cat stand.Z | gzcompat | gzip -dc > stand
cat usr.tar.Z | gzcompat | gzip -dc > usr.tar

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.

% ./mkdisttap.pl  > quas.tap
% ls -l quas.tap
-rw-r--r--  1 Neozeed  None_ploc  84450876 Feb  6 17:10 quas.tap
%

An empty RA82 can be created with:

% dd if=/dev/zero of=quas.dsk bs=512 count=1216665

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.

Boot 1.

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.

install.ini

set cr dis
set lpt dis
set rl dis
set ry dis
set ts dis
set xq dis
set rq0 ra82
att rq0 quas.dsk
set rq1 dis
set rq2 dis
set rq3 dis
att tq0 quas.tap
set tti 7b
set tto 7b
boot cpu

Booting the emulator

You then simply run the emulator and pass it the config file.

C:\Quasijarus0c\work>vax.exe install.ini

VAX simulator V3.8-0
RQ: creating new file
Loading boot code from ka655x.bin

←[c
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot mua0:
(BOOT/R5:0 MUA0



  2..
-MUA0
  1..0..

=

Once the BIOS has done it's POST, it will prompt what device to boot off of at the >>> 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:

copy
tms(0,1)
ra(0,1)

This will copy the second file onto tape, onto the second file position on our hard disk. The output should be the following:

=copy
cpu: uVAX 3000
From: tms(0,1)
To: ra(0,1)
ra0: unlabeled
Copy completed: 308 records copied
=

Next we run the boot program. Simply type in the following:

boot
ra(0,1)vmunix

The resulting output should be the following. The kernel will then prompt for the root partition.

=boot
cpu: uVAX 3000

Boot
: ra(0,1)vmunix
ra0: unlabeled
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 16744448
SYSPTSIZE limits number of buffers to 112
avail mem = 14920704
using 112 buffers containing 917504 bytes of memory
MicroVAX 3000, ucode rev 6
tmscp0 at uba0 csr 174500 vec 774, ipl 15
tms0 at tmscp0 slave 0
tms1 at tmscp0 slave 1
uda0 at uba0 csr 172150 vec 770, ipl 15
uda0: version 3 model 3
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: no disk label: ra81, size = 891072 sectors
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
root device?

We will answer with the first ra disk, in a special format, because we have not put a disklabel onto the disk yet.

ra0*

Once the disk has been mounted we will be dumped to the root prompt. The next step will be creating the default disk label.

Creating the disk label

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.

Simply type in:

disklabel -rw ra0 ra82 "Quasijarus" /usr/mdec/rdboot /usr/mdec/bootra

And the disk will now be labled, and bootable from the firmware.

Restoring the rootdump

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:

disk=ra0 type=ra82 tape=tms xtr

And the following will happen:

# disk=ra0 type=ra82 tape=tms xtr
Build root file system
Warning: 361 sector(s) in last cylinder unallocated
/dev/rra0a:     15884 sectors in 19 cylinders of 15 tracks, 57 sectors
        8.1MB in 2 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
super-block backups (for fsck -b #) at:
 32, 13776,
Check the file system
** /dev/rra0a
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1 files, 1 used, 7092 free (20 frags, 884 blocks, 0.3% fragmentation)
Rewind tape
Restore the dump image of the root
** /dev/rra0a
** Last Mounted on /a
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
426 files, 5195 used, 1898 free (18 frags, 235 blocks, 0.3% fragmentation)
Root filesystem extracted

If this is an 8650 or 8600, update the console rl02
If this is a 780 or 785, update the floppy
If this is a 730, update the cassette
#

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.

If this is a 730, update the cassette
# sync
# sync
# sync

Simulation stopped, PC: 800029AF (BNEQ 800029C6)
sim> q
Goodbye

C:\Quasijarus0c\work>

Boot 2.

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:

boot.ini

set cr dis
set lpt dis
set rl dis
set ry dis
set ts dis
set xq dis
set rq0 ra82
att rq0 quas.dsk
set rq1 dis
set rq2 dis
set rq3 dis
att tq0 quas.tap
set tti 7b
set tto 7b
att nvr nvram.dat
dep bdr 1
boot cpu

Booting the emulator

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.

C:\Quasijarus0c\work>vax.exe boot.ini

VAX simulator V3.8-0
NVR: creating new file
NVR: buffering file in memory
Loading boot code from ka655x.bin

←[c
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
Loading system software.
No default boot device has been specified.

Available devices.
-DUA0 (RA 82)
-MUA0 (TK 50)
-MUA1 (TK 50)
-MUA2 (TK 50)
-MUA3 (TK 50)

Device? [XQA0]: dua0:

(BOOT/R5:0 DUA0



  2..
-DUA0
  1..0..

loading boot

Boot
: /vmunix
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 16744448
SYSPTSIZE limits number of buffers to 112
avail mem = 14920704
using 112 buffers containing 917504 bytes of memory
MicroVAX 3000, ucode rev 6
tmscp0 at uba0 csr 174500 vec 774, ipl 15
tms0 at tmscp0 slave 0
tms1 at tmscp0 slave 1
uda0 at uba0 csr 172150 vec 770, ipl 15
uda0: version 3 model 3
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: ra82, size = 1216665 sectors
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Fri Feb  6 09:47:10 PST 2004
Can't open checklist file: /etc/fstab
Automatic reboot failed... help!
erase ^?, kill ^U, intr ^C
#

Preparing the disk

Now we have to prep the machine for both the tape, and the type of disk. Type in the following commands.

# newfs ra0g ra82
# newfs ra0h ra82
# mkdir /home
# mount /dev/ra0g /usr
# cd /dev
# MAKEDEV tmscp0
# MAKEDEV dz0

The output will be like this:

# newfs ra0g ra82
/dev/rra0g:     841320 sectors in 984 cylinders of 15 tracks, 57 sectors
        430.8MB in 62 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
super-block backups (for fsck -b #) at:
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,
 246400, 260144, 273888, 287632, 301376, 315120, 328864, 342608, 356352,
 370096, 383840, 397584, 411328, 425072, 437792, 451536, 465280, 479024,
 492768, 506512, 520256, 534000, 547744, 561488, 575232, 588976, 602720,
 616464, 630208, 643952, 656672, 670416, 684160, 697904, 711648, 725392,
 739136, 752880, 766624, 780368, 794112, 807856, 821600, 835344,
# newfs ra0h ra82
Warning: 209 sector(s) in last cylinder unallocated
/dev/rra0h:     291346 sectors in 341 cylinders of 15 tracks, 57 sectors
        149.2MB in 22 cyl groups (16 c/g, 7.00MB/g, 3200 i/g)
super-block backups (for fsck -b #) at:
 32, 13776, 27520, 41264, 55008, 68752, 82496, 96240, 109984,
 123728, 137472, 151216, 164960, 178704, 192448, 206192, 218912, 232656,
 246400, 260144, 273888, 287632,
# mkdir /home
# mount /dev/ra0g /usr
# cd /dev
# MAKEDEV tmscp0
# MAKEDEV dz0

Restoring the usr slice

The disk's /usr slice will not have been formatted. We can not go ahead and mount it, and restore the /usr files.

# cd /usr
# mt rew
# mt fsf 3
# tar xpbf 20 /dev/rmt12
# mkdir src
# cd src
# mkdir sys
# cd sys
# mt fsf
# tar xpbf 20 /dev/rmt12
# cd ..
# mt fsf
# tar xpbf 20 /dev/rmt12

Configuring the fstab

Now we just need to create the fstab then we can reboot the emulator into multiuser mode. Enter in the following commands:

# cd /etc
# cat > fstab
/dev/ra0a:/:rw:1:1
/dev/ra0h:/home:rw:1:3
/dev/ra0g:/usr:rw:1:2

Now you need to press CONTROL+d which will end the stream. Finally you can tell the emulator to reboot.

# reboot
syncing disks... done

HALT instruction, PC: 8002F4F8 (BRB 8002F4F7)
sim> q
Goodbye
NVR: writing buffer to file 

First Multiuser Boot

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.


C:\Quasijarus0c\work>vax.exe boot.ini

VAX simulator V3.8-0
NVR: buffering file in memory
Loading boot code from ka655x.bin

←[c
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
Loading system software.
(BOOT/R5:0 DUA0



  2..
-DUA0
  1..0..

loading boot

Boot
: /vmunix
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 16744448
SYSPTSIZE limits number of buffers to 112
avail mem = 14920704
using 112 buffers containing 917504 bytes of memory
MicroVAX 3000, ucode rev 6
tmscp0 at uba0 csr 174500 vec 774, ipl 15
tms0 at tmscp0 slave 0
tms1 at tmscp0 slave 1
uda0 at uba0 csr 172150 vec 770, ipl 15
uda0: version 3 model 3
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: ra82, size = 1216665 sectors
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Fri Feb  6 09:59:45 PST 2004
/dev/ra0a: 448 files, 5199 used, 1894 free (22 frags, 234 blocks, 0.3% fragmentation)
/dev/rra0g: 12312 files, 71682 used, 323169 free (417 frags, 40344 blocks, 0.1% fragmentation)
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)
Fri Feb  6 09:59:58 PST 2004
checking quotas: done.
starting system logger

preserving editor files
clearing /tmp
standard daemons: update cron accounting.
starting network daemons: routedFeb  6 10:00:00 myname named[79]: /etc/named.boo
t: No such file or directory
 named inetd printer.
starting local daemons: sendmail.
Fri Feb  6 10:00:01 PST 2004


4.3 BSD UNIX (myname.my.domain) (console)

login:


Now we can simply logon as root.

Fri Feb  6 10:00:01 PST 2004


4.3 BSD UNIX (myname.my.domain) (console)

login: root
Feb  6 10:01:26 myname login: ROOT LOGIN console
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004

Welcome to UNIX!

erase ^?, kill ^U, intr ^C
#

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.

Enabling remote users

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.

set dz lines=8
att dz 8888
set dz 7b

I would also recommend to windows users, either putty, or syncterm. The default telnet client sucks.