COMPAT_ULTRIX(8)        OpenBSD System Manager's Manual       COMPAT_ULTRIX(8)

NAME
     compat_ultrix - setup for running Ultrix binaries under emulation

DESCRIPTION
     OpenBSD/mips and OpenBSD/vax architectures can run RISC ULTRIX and Vax
     ULTRIX executables, respectively.  However, the user is responsible for
     the legal issues of ensuring that they have a right to use any ULTRIX bi-
     naries on their machine.  Emulation is controlled by the kern.emul.ultrix
     sysctl(8).

     Most executables will work.  The exceptions include programs that use
     proprietary, Ultrix-specific features (LAT, CI support, DECnet support)
     and various system calls, ioctl()'s, or Ultrix kernel semantics that are
     difficult to emulate (e.g., Ultrix packetfilter) or buggy (e.g., Ultrix
     YP).

     All Ultrix executables are static, so no shared libraries are required
     for Ultrix compatibility.  However, Ultrix is based on a 4.3BSD alpha re-
     lease.  Ultrix commands and libraries are often much older than their
     OpenBSD or even SunOS 4.x equivalents, and may require incompatible con-
     figuration files.

SYSTEM CONFIGURATION FILES
     Set up resolv.conf and svc.conf as below:

           # mkdir -p /emul/ultrix/etc
           # cd /emul/ultrix/etc
           # egrep 'domain|nameserver' /etc/resolv.conf > ./resolv.conf
           # cp -p /usr/share/samples/emul/ultrix/etc/* ./

   /etc/resolv.conf
     The Ultrix resolver library only understands domain and nameserver lines
     in resolv.conf(5).  A copy of /etc/resolv.conf should be created contain-
     ing only those commands and put in /emul/ultrix/etc/resolv.conf.  Note
     that the domain search order used by Ultrix executables may not be the
     same as native binaries; there is no good way around this.

   /etc/svc.conf
     Ultrix uses /etc/svc.conf to select an ordered search of YP, Hesiod, or
     local flat-file mappings.  Create an /emul/ultrix/etc/svc.conf file spec-
     ifying either local files or bind (DNS) lookups for all Ultrix name ser-
     vices.

SEE ALSO
     resolv.conf(5)

BUGS
     RISC Ultrix YP(NIS) is known to not work.  The Ultrix YP libraries have a
     consistent endian-ness bug.  Ultrix YP client will not inter-operate with
     the OpenBSD ypbind(8) process.  The only workaround is to use
     /etc/svc.conf to disable YP(NIS).

     The ndbm hashed-password file used by Ultrix is incompatible with the db
     hashed-password file used by OpenBSD.  There is no good solution for
     this.  (YP would be a good one, if Ultrix YP worked.)

     The API used by Xservers to talk to the kernel is currently compatible
     with Ultrix 4.1.  An implementation of the Ultrix 4.2 Xws interface (used
     by X11R6) is in progress.

     A complete list of things which fail to work in Ultrix compatibility mode
     should be added here.

OpenBSD 4.7                      May 31, 2007                                1
