Digital VAXen Collection

Digital VAX 4000 m300 (ramiel.decadence)
CPU: KA670, Rigel 143 MHz (28ns) 
Performance: VUP 9.0, TPS 60, SPEC 9.2
Cache: 2KB on chip cache, 128KB external cache with full ECC
Memory: 32 MB
Storage: 3x RF72 1.0 GB DSSI
Model: 670QJ-B9
Serial: AY21878128
MAC: 08:00:2b:29:2a:4b
OS: OpenVMS 7.3
Console: directly connected VT510

Digital VAXstation 4000 m96

Digital VAXstation 4000 m90

Digital VAXstation 4000 m60

Digital MicroVAX 3300 (BA215 chassis)

Digital MicroVAX 3100 m85 (armisael.decadence)
CPU: KA55, NVAX 62.5 MHz (16ns)
Performance: VUP 16.0, TPS 110
Cache: 8KB on chip, 128KB external
Memory: 128 MB
Storage: DEC RZ1CB-CS 4.3 GB (DEC branded Seagate Barracuda with SCA80/50pin adapter)
Model: 46ZBM-D9
Serial: AY45007363
MAC: 08:00:2b:94:8e:3b
OS: OpenVMS 7.3
Console: DS201 port 3

Digital MicroVAX 3100 m10e (sachiel.decadence)
CPU: KA41-D, CVAX+ (60ns)
Performance: VUP 2.4, TPS 30
Cache: 1KB on chip cache
Memory: 24 MB
Storage: Digital RZ26L 1.05 GB
Model: DV-31DTA-A
Serial: AY13403688
MAC: 08:00:2b:26:4a:77
OS: Ultrix V4.5 sachiel-ultrix45-install.log
Console: DS201 port 4

Digital VAXstation 3100 m76

Digital VAXstation 3100 m30

Digital VXT2000+

Digital Infoserver 100

Digital MicroVAX 3

Digital MicroVAX 3300

Digital MicroVAX II/GP

Digital MicroVAX 2000

Digital VAX 11/725

Digital Infoserver 100

InfoServer è una linea di prodotti di Digital per la condivisione in rete di dischi virtuali.

Questa linea di prodotti dedicata è stata da molto tempo abbandonata e sostituita da un kit software che gira su qualunque sistema Alpha equipaggiato con sistema OpenVMS.
Macchine remote che utilizzano le risorse dell'InfoServer (dischi e altri dispositivi), accedono ad esse come se fossero dei dispositivi locali a tutti gli effetti.

Questo è particolarmente utile per una funzione in particolare, ovvero eseguire l'installazione di OpenVMS su macchine che non sono provviste di un lettore CDROM, e che per loro architettura non possono montare facilmente un lettore CDROM.
In questa categoria ricadono tutti i VAX con dischi MFM e DSSI, che non sono provvisti di un controller SCSI e quindi non hanno comode opzioni di installazione (a parte installare il sistema da nastri TK, ma non è comodo).
schede controller SCSI per queste macchine sono rare e spesso vendute a peso d'oro, pertanto è preferibile trovare una strada alternativa.
In particolare le caratteristiche, le immagini e le modalità operative che descriverò sono relative ad un InfoServer 100 che possiedo.

Era circa il 2002 quando combinai uno scambio di materiale con Luca Retroman di Verona.
Un MicroVAX 3 e un InfoServer 100 per me, un Olivetti M20BC e un Amiga 2000 con rispettivi monitor per Luca.
Da allora l'InfoServer ha eseguito poco lavoro... nel 2006 era giunta l'ora di rimediare! :)

Bene, è ora di parlare del metallo.
L'InfoServer 100 è ospitato in uno chassis desktop BA43 in tutto e per tutto uguale a quello dei MicroVAX/VAXstation 3100 con due alloggiamenti 5,25" frontali. Stesso chassis, stesso alimentatore, stessa elettronica. O quasi.

L'InfoServer 100 monta una CPU KA41-1, 4 MB di memoria e controller Fast-SCSI integrato che solitamente guida un RZ23L da 121MB e un lettore CDROM RRD42.
Di base, si trovano su DKA100: e DKA200: rispettivamente e questa combinazione magica è l'unica possibile per la reinstallazione del software di sistema.
Il controller SCSI come altri della serie VAX 3100 ha due canali SCSI-A e SCSI-B, collegati a due cavi mediante un singolo, infame, connettore non standard a 100pin.
Come gli altri VAX della serie 3100 ha la possibilità di espandere la memoria RAM mediante schede memoria planari che si innestano su un piano parallelo alla scheda madre.
L'InfoServer 100 svolge poche funzioni, e necessita di poca memoria, pertanto è inutile potenziarlo con della rara memoria planare per le sue mansioni.

Veniamo alle particolarità della macchina.
Come abbiamo visto, l'InfoServer 100 non contiene nessun dispositivo speciale che gli permetta di lavorare in rete diversamente dagli altri VAX, tuttavia è in grado di eseguire alcune funzioni che gli altri VAX non fanno.
Come è possibile questo?
L'InfoServer 100 non utilizza OpenVMS, e non è nemmeno in grado di caricarlo, come non può caricare nessun altro sistema operativo a parte il suo sistema dedicato.

Secondo le uniche fonti che è possibile reperire, questo sistema dovrebbe essere una versione modificata dell'ambiente real-time VAXELN (http://en.wikipedia.org/wiki/VAXeln).
L'ambiente è simile a OpenVMS ma comunque diverso, diversi comandi, diversi nomi dei dispositivi: DK1:, DK2, ... Come una prima rudimentale implementazione di sistema DRM, l'avviamento dell'InfoServer è bloccato a livello di firmware su un un nome di file programmato di fabbrica.
Quindi può caricare solo il suo sistema operativo sia da disco rigido che da CDROM.
Caricare altri sistemi (Ultrix e NetBSD compresi) non produce effetto, e si torna al prompt solo tramite switch di halt.

Perché mai questa scelta?
È stato molto interessante leggere la testimonianza di Richard Tomkins (che partecipò allo sviluppo del prodotto) come risposta alla mia richiesta di aiuto e informazioni su comp.os.vms (discussione originale).
Quindi la motivazione non è tecnica, ma esclusivamente di natura commerciale.

Infatti l'InfoServer 100 veniva offerto ad un prezzo molto più basso (circa $8300 secondo questa fonte dell'epoca) rispetto ai VAX della serie 3100, pertanto scelsero di inibire la possibilità di utilizzarlo come sistema VMS mediante l'utilizzo di una procedura di avviamento differente dagli altri VAX.

Simple NetBSD netboot for VAXen

Hello, reader!

I have been trying to netboot my VAXen with NetBSD for a while but always failed by BOOTP or DHCP.
At last I managed to do this way.

In short:

  1. provide a working boot.mop by MOP daemon
  2. provide address and parameters by DHCP
  3. serve a diskless client filesystem by NFS
  4. boot the VAX and finish client filesystem setup

This work is done for (and because of) my VAX 4000 model 300.
The VAX 4000 has a SHAC DSSI controller which is not supported by NetBSD.
To run something other than OpenVMS on it, I would like to boot NetBSD through the local network.

The network server providing boot files and parameters is running Debian GNU/Linux "Lenny" 5.0.

Now, the setup.

 

Step 1: provide a working boot.mop by MOP daemon

Install MOP daemon on the server.

# apt-get install mopd

Debian packaged mopd only serve files located in /tftpboot/mop
To serve files placed otherwise in the filesystem, you would probably have to recompile the package.

Get a working boot.mop.
A boot.mop that works is located at:
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.5.3/vax/installation/netboot/boot.mop
No matter that is for NetBSD 1.5.3, it is simply a bootloader and it works.

Place the boot.mop in /tftpboot/mop, and place a link in the same directory with the MAC address of the client VAX (lowercase numbers and letters only) and .SYS suffix (uppercase).
For example, my VAX has a MAC address of 08:00:2b:29:2a:4b.

# cp /home/gl/boot.bop /tftpboot/mop
# cd /tftpboot/mop
# ln -sf boot.mop 08002b292a4b.SYS

Start the MOP daemon, if not running yet.

# /etc/init.d/mopd start

 

Step 2: provide address and parameters by DHCP

This is simple.
Install dhcp3-server, if not already installed, and provide a stanza for the client VAX in /etc/dhcp3/dhcpd.conf

# apt-get install dhcp3-server

/etc/dhcp3/dhcpd.conf should contain at least:

[...]

subnet 192.168.1.0 netmask 255.255.255.0 {
   [...]
   option domain-name "decadence";
   next-server 192.168.1.90;
   allow bootp;
   allow booting;
   [...]
}

[...]

host ramiel {
   hardware ethernet 08:00:2b:29:2a:4b;
   fixed-address 192.168.1.184;
   option root-path "/home/guestos/gl/ramiel";
}

[...]

In this case, 192.168.1.0 is the base network address, and 192.168.1.90 is the IP address for the server that would serve booting files to the client.
Usually, they are the same server.

Option "root-path" refers to the NFS exported directory for the VAX client filesystem.
I usually place the guest filesystems for netbooted machine or Xen guests in /home/guestos/gl, change it accordingly to your setup.
You have to restart ISC DHCP3 server to reload the configuration changes.

# /etc/init.d/dhcp3-server

 

Step 3: serve a diskless client filesystem by NFS

Now make space and setup the client filesystem.
You need nfs-kernel-server or nfs-user-server.
I use the first one.

# apt-get install nfs-kernel-server

I mount the NetBSD/VAX ISO image as loopback filesystem, just to try to make less plastic waste.
Extract all of the binary sets (do you have enough space to extract all on the server, I hope)
Change filenames to reflect your setup.

# mkdir /home/guestos/gl/ramiel
# chdir /home/guestos/gl/ramiel
# mkdir cdrom
# mount -o loop /home/gl/iso/vaxcd-5.0.2.iso
# for file in /vax/binary/sets/*tgz ; do tar zxf $file ; done

Ok, well done.
Now specify that directory in /etc/exports as:

/home/guestos/gl/ramiel    192.168.1.0/255.255.255.0(rw,no_root_squash,subtree_check,async)

Reload NFS configuration

# /etc/init.d/nfs-kernel-server reload

Oh well, we have finished the server side setup!
Don't worry about how to send the kernel to the VAX, boot.mop would try to get it directly from NFS.

 

Step 4: boot the VAX and complete filesystem setup

Power up the VAX and enjoy.
This is the output for my VAX 4000 model 300 on the console port.

KA670-A V3.7, VMB 2.12
Performing normal system tests.
66..65..64..63..62..61..60..59..58..57..56..55..54..53..52..51..
50..49..48..47..46..45..44..43..42..41..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.
-DIA0 (RF72)
-DIA1 (RF72)
-DIA2 (RF72)
-MUA0 (TK70)
-EZA0 (08-00-2B-29-2A-4B)

Device? [EZA0]:

(BOOT/R5:0 EZA0)

2..
-EZA0
1..0..

>> NetBSD/vax boot [Jan 6 2002 22:13:30] <<
>> Press any key to abort autoboot 0
Trying BOOTP
Using IP address: 192.168.1.184
myip: ramiel (192.168.1.184)
root addr=192.168.1.90 path=/home/guestos/gl/ramiel
open netbsd.vax: No such file or directory
> boot netbsd
2388172+308476 [235+193664+183590]=0x2eeb54
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

NetBSD 5.0.2 (GENERIC) #0: Sat Feb 6 22:45:58 UTC 2010
builds@b8.netbsd.org:/home/builds/ab/netbsd-5-0-2-RELEASE/vax/2010020618
51Z-obj/home/builds/ab/netbsd-5-0-2-RELEASE/src/sys/arch/vax/compile/GENERIC
VAX 4000/300
total memory = 32708 KB
avail memory = 28428 KB
mainbus0 (root)
cpu0 at mainbus0: KA670, Rigel (ucode rev 17), 2KB L1 cache, 128KB L2 cache
ze0 at mainbus0
ze0: hardware address 08:00:2b:29:2a:4b
shac at mainbus0 not configured
uba0 at mainbus0: Q22
dhu0 at uba0 csr 160440 vec 300 ipl 17
dhu0: rom(1) version 17
dhu0: rom(0) version 19
dhu0: DHV-11
mtc0 at uba0 csr 174500 vec 774 ipl 17
mscpbus0 at mtc0: version 4 model 14
mscpbus0: DMA burst size set to 4
mt0 at mscpbus0 drive 0: TK70
Kernelized RAIDframe activated
boot device: ze0
root on ze0
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server: 192.168.1.90
nfs_boot: my_name=ramiel
nfs_boot: my_domain=decadence
nfs_boot: my_addr=192.168.1.184
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.1.1
root on 192.168.1.90:/home/guestos/gl/ramiel
root file system type: nfs
TODR stoppedWARNING: preposterous TOD clock time
WARNING: using filesystem time
WARNING: CHECK AND RESET THE DATE!
warning: no /dev/console
Created mfs /dev (610304 byte, 1120 inodes)
/etc/rc.conf is not configured. Multiuser boot aborted.
Enter pathname of shell or RETURN for /bin/sh:
Terminal type? [unknown] vt100
Terminal type is vt100.
We recommend creating a non-root account and using su(1) for root access.
ramiel#

Simple.There is something still to configure, in particular you have to create all of /dev devices.

# cd /dev
# /bin/sh MAKEDEV all

The you could go on with NetBSD configuration, starting with /etc/rc.conf and so on, please refer to NetBSD documentation.
Ok we are done.
Hope it helps.
Hope you enjoy!

Ciao!
gl