Poor Man Series of VAX/VMS pseudo device drivers 




Are you willing to read that DECUS Freeware CD ROM but you have an old Q-Bus VAX with no CD Drive/SCSI controller?

Do you need more disk space but you only have a ST-506 disk controller and are not able to find a RD54/53 disk?

If the answer at these questions is YES then your are definitely a poor man and the PoorMan series of pseudo device
drivers for VAX/VMS and your Linux box can help.

The Poor Man CD and Poor Man DISK emulate an RRD43 600MB and RZ24 205MB Disk respectively. The Linux
box running Kernel 2.1.XXX serves its CDROM drive and a 205MB file accessed thru the loopback device to the VAX over the network. On the VAX side, these devices appear as locally attached, and all the I/O operations are carried out

The PoorManDISK is not reliable as a real hard disk because it communicates with the Linux box over the
network using a connectionless datagram-oriented protocol, so be careful when you decide which data you put on it.
Nevertheless it behaves quite well in non-congested networks.



What's next

RX23/RX33  floppy disk drives. Only if you ask for it.



Installation & Configuration

This is an example on how to download and configure the PoorManDISK pseudo drive. Installing the PoorManCD is similar.

1) Get the PoorManCD/PoorManDISK distribution for linux. These are tar zipped files.
2) Create a temporary directory on linux and untar the PoorManDISK distribution:

        # tar xvfz poormandisk.tgz

3) Make the phdserver program. This program will serve a regular linux file to the PoorManDISK pseudo drive 
    running on the VAX.

        # make; make install

4) Create a regular file to accomodate the geometry of an RZ25 disk, and start the server program on Linux

        # mkdir /vaxdsks
        # cd /vaxdsks
        # dd if=/dev/zero of=/vaxdsks/rz25.dsk bs=1048576 count=205
        # phdserver /vaxdsks/rz25.dsk &

5) Transfer all the files with ".com" and ".mar" extensions to a directory on the vax, preferably named 

6) Login into the VAX as system, change the BYTLM quota on the SYSTEM profile and build the driver

    $ set def sys$system
    $ run authorize
    UAF> mod system/bytlm=64000
    UAF> exit
    $ set def sys$sysdevice:[hddriver]
    $ @make

7) Edit the hdstart.com DCL script and change in the proper place the physical ethernet address of your Linux Box.
    You can issue #ifconfig on linux to get this address.

8) Load and start the driver.


9) The first time you must initialize the disk.

    $ init hda0: tst

10) After that you can mount the pseudo disk and use it as if it were a real RZ25 drive.

    $ mount hda0: tst

Author's Mentions

I'd like to thank Patrick Caulfield for suggesting and instructing me on how to use the loopback device on Linux to
do block I/O on a file.


Please send any questions or feedback to Eduardo Marcelo Serrat

Go back to the DECnet for Linux Home Page