compat_ultrix
—
setup procedure for ULTRIX compatibility on MIPS and VAX
architectures
NetBSD/mips and NetBSD/vax
architectures can run Risc ULTRIX and VAX ULTRIX executables, respectively.
However, you have to worry about the legal issues of ensuring that you have a
right to use any ULTRIX binaries on your machine.
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 NIS).
All ULTRIX executables are static, so no shared libraries are
required for ULTRIX compatibility. However, ULTRIX is based on a
4.3BSD alpha release. ULTRIX commands and libraries
are often much older than their NetBSD or even SunOS
4.x equivalents, and may require incompatible 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/examples/emul/ultrix/etc/* ./
-
The ULTRIX resolver library only understands domain and
nameserver lines in
resolv.conf(5). You should
create a copy of /etc/resolv.conf containing only
those commands and put it 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.
ULTRIX uses /etc/svc.conf to select an ordered search of
NIS, Hesiod, or local flat-file mappings. You should create an
/emul/ultrix/etc/svc.conf specifying either local
files or bind (DNS) lookups for all ULTRIX name services.
RISC ULTRIX NIS (YP) is known to not work. The ULTRIX NIS libraries have a
consistent endian-ness bug. ULTRIX NIS client will not inter-operate with the
NetBSD
ypbind(8) process. The only
workaround is to use /etc/svc.conf to disable NIS
(YP).
The ndbm hashed-password file used by ULTRIX are incompatible with
the db hashed-password file used by NetBSD. There is
no good solution for this. NIS would be a good one, if ULTRIX NIS
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.