<!doctype linuxdoc system> <!-- -*- SGML -*- -->
<!--
 v0.1 11 Jul 1999 Dave Airlie
-->

<article>

<title> Linux/VAX FAQ

<author>David Airlie, <tt>airlied@linux.ie</tt>

<date>Jul 2000

<abstract> This is the Frequently Asked Questions (FAQ) document for the Linux/VAX porting project.
</abstract>

<toc>

<sect> General Info<p><label id="geninfo">

<sect1> What is the current status? <p> <label id="status">

The initial ELF toolchain has been completed, and some of the initial assembly
code and include files have been written. The current holy grail is the bash 
prompt :-). The other biggest part to this project which hasn't been started 
yet is getting glibc going.

<sect1> What do I need to help? <p> <label id="help">
A VAX, an i386 Linux box, a terminal or terminal emulator and a network or
shared SCSI disk.

We currently know that we boot on the following VAXen:
<itemize>
<item>VAXstation 3100m76 (KA43 CPU)
<item>VAXstation 3100m38 (KA42 CPU)
<item>VAXstation 3500 (KA650 CPU)
</itemize>

We have, in the past, booted the following:
<itemize>
<item>VAXstation II/GPX (KA630 CPU)
<item>MicroVAX 3400 (KA640 CPU)
<item>VAXserver 4000-200 (KA660 CPU)
</itemize>

In theory, you should be able to cross compile anywhere you can 
run GCC, GNU make, GNU binutils and regular Unix shell and text 
utils.  However, we only know of people cross-compiling on
Linux/i386.  Let us know if you get it working on another 
combination.

We don't yet support any graphics hardware on these VAXen, so you'll
need some sort of serial terminal (or terminal emulator) to boot
the VAX.  Most newer (post-1986-ish) VAXen have DEC MMJ (modified 
modular jack) connectors.  Older one will have either standard 25-pin
RS232 connectors or DEC's 9-pin RS232 (different from IBM's 9-pin
RS232 as used on the PC).  See the <url 
   url="http://www.openvms.digital.com/wizard/openvms_faq.html#MISC1" 
   name="OpenVMS FAQ">
for details of pinouts.

In order to get the kernel image over to the VAX in order to boot it,
you've got two options: MOP or SCSI.

<itemize>
<item>
	Put your PC and VAX on the same ethernet segment.  Install mopd
	(Maintainence Operations Protocol Daemon) on the PC.  Point mopd
	at the vmlinux.SYS image and tell your VAX to boot from the 
	network (usually BOOT XQA0 or BOOT ESA0)
<item>
	Put a SCSI card with an external SCSI connector into your PC.
	Connect your VAXstation, a hard disk and your PC together on
	one SCSI chain.  Then dd the vmlinux.dsk image to the disk and
	tell the VAX to boot from that disk.
</itemize>



<sect1> Who's doing what? <p> <label id="who">
<itemize>
<item>Andy - Kernel - Memory management - Toolchain (gcc/binutils)
<item>Kenn - Kernel - Interrupts, Serial Console, Booting up.
<item>Dave - Kernel drivers, Ethernet/SCSI/etc..
<item>Mattias - <url url="http://www.eagle.y.se/~mathew/vax/vax.php3" 
                     name="Testing">
<item>Others - please e-mail me.
</itemize>

<sect1> How do I get started? <p> <label id="started">
Read Documentation/vax/README at 
<url url="ftp://linux-vax.sourceforge.net/pub/linux-vax/README.vax" 
   name="ftp://linux-vax.sourceforge.net/pub/linux-vax/README.vax">. 
This describes howto download the compiler and kernel, and set up the MOP boot.

<sect> References<p><label id="refs">
<itemize>
<item>VAX Architecture Reference Manual.  Leonard, T. (2nd ed) 1987
       Digital Press                   Part No  EY-3459Y-DP
<item>VAX VMS  Internals and Data Structures. Goldenberg R. (for VN 5.2)
       1991 Digital Press.     Part No  EY-C171E-DP
<item>VAX Assembly Language. Baase, S, 1992 Prentice Hall
<item>Alpha Architecture Handbook. Sites, R. 1992. Digital
Press                Part No.  EY-L520E-DP
</itemize>
</article>
