ATP home page.
a.out Build Environment Notes 16/Mar/1999.

These instructions are due to be updated. The current build environment is based around an ELF toolchain. See the download link on the main page for this toolchain. atp 01/11/99

.

You will need the cross devel tar file cross.rh51.i386.vax.2.tar.gz from 
  ftp://ftp.mssl.ucl.ac.uk/projects/linux-vax/old/

This contains a minimal cross development enviroment,  built around the packages 

  • binutils 2.9.1 
  • gcc 2.7.2.3 
both are original gnu (no RH patches).
 (For the curious, the gcc build stopped at just past the libgcc1.a  stage, since we dont need shared libraries initially.)

           Host is i686-linux-elf  (redhat 5.1/intel)   Target is vax-dec-bsd 



To install

    As root on a Linux/i386 system, untar the file from / 
    All directories created are in /usr/local/ 
   Feel free to check with tar tzvf first - I would.



Usage

    To use, make sure that the directory /usr/local/vax-dec-bsd/bin is on the path before /usr/bin (so that the "as" picked up is the vax one). 

     i.e. for tcsh users 
 set path = ( /usr/local/vax-dec-bsd/bin $path)

     Then use a compilation command similar to

 gcc -b vax-dec-bsd -Wall -fpic -I./include -nostdlib -nostartfiles

  If you get an error like;

gcc -nostartfiles -nostdlib -bvax-dec-bsd -Wall -fpic -I../../../include -D__KERNEL__  -c tmp_init.c 
gcc: installation problem, cannot exec cpp: No such file or directory 
make[1]: *** [tmp_init.o] Error 1 

     then recheck the VAX utils are first on the path. 



Include files

 If you want to use this to compile the kernel, you will need tomake sure that the symlinks in /usr/include point at the right place.

    e.g. if the kernel source code was in /user/users/atp/vax/kernel/linux
  Then commands like this would be needed.  

[root@mssllq include]# ln -sf /usr/users/atp/vax/kernel/linux/include/asm asm
[root@mssllq include]# ln -sf /usr/users/atp/vax/kernel/linux/include/linux linux

   This is a pain if you want to compile some native software as well.
   I have a script that switches the links called toggleinc.

[root@mssllq include]# /root/toggleinc
in vax mode
[root@mssllq include]# cat /root/toggleinc
#!/bin/sh
cd /usr/include
if [ -f vaxset ]
then
 mv linux linux.vax
 mv asm asm.vax
 mv asm.i386 asm
 mv linux.i386 linux
 rm -f vaxset
 touch i386set
 echo 'in i386 mode'
else
 mv linux linux.i386
 mv asm asm.i386
 mv asm.vax asm
 mv linux.vax linux
 rm -f i386set
 touch vaxset
 echo 'in vax mode'
fi

 

Page last updated 12/3/99