NetBSD/share/man/man8/compat_osf1.8

113 lines
4.5 KiB
Groff

.\" $NetBSD: compat_osf1.8,v 1.3 1999/12/29 00:44:19 mrg Exp $
.\"
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Roland C. Dowdeswell.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the NetBSD
.\" Foundation, Inc. and its contributors.
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
.\" contributors may be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd November 4, 1999
.Dt COMPAT_OSF1 8
.Os
.Sh NAME
.Nm compat_osf1
.Nd setup procedure for running OSF/1 binaries
.Sh DESCRIPTION
.Nx
supports running OSF/1 (a.k.a Digital Unix, a.k.a. Tru64) binaries on alpha
systems.
Most programs should work, including the ones that use the shared object
libraries. Programs that make direct MACH system calls will not work.
The OSF/1 compatibility feature is active for kernels compiled with the
.Dv COMPAT_OSF1
option enabled. (See
.Xr options 4 .)
.Pp
To run dynamically linked programs, you will need the OSF/1 shared libraries,
runtime linker, and certain configuration files found in /etc.
These are installed in a "shadow root" directory called /emul/osf1.
Any file operations done by OSF/1 programs run under
.Nx
will look in this directory first, and fall back to the file system proper.
So, if an OSF/1 program opens /etc/svc.conf,
.Nx
will first try to open /emul/osf1/etc/svc.conf, and if that file does
not exist it will then try /etc/svc.conf.
Shared libraries and configuration specific to OSF/1 should be installed
in the shadow tree.
.Ss Setting up /emul/osf1
There are many methods of populating /emul/osf1 with the appropriate
files, but the two easiest are:
.Pp
If you have access to an OSF/1 machine, you can copy the contents of:
.Bl -tag -width 123 -compact -offset indent
.It /shlib
.It /usr/shlib
.It /etc/sia
.It /usr/lib/X11/locale
.El
.Pp
(The latter is required to run Netscape Navigator or Communicator.)
.Pp
And the files
.Bl -tag -width 123 -compact -offset indent
.It /etc/svc.conf
.It /usr/ccs/lib/cmplrs/otabase/libots.so
.It /sbin/loader
.El
.Pp
Or, simply NFS mount the appropriate directories under /emul/osf1.
.Sh BUGS
Certain values in /emul/osf1/etc/svc.conf can cause programs to fail
with ``Bad system call''.
.Pp
Pathnames pointed to by symbolic links are not looked up in the
shadow root when running a Linux executable. This is not consistent.
.Pp
OSF/1 executables can not handle directory offset cookies > 32 bits.
Should such an offset occur, you will see the message "linux_getdents:
dir offset too large for emulated program". Currently, this can only
happen on NFS mounted filesystems, mounted from servers that return
offsets with information in the upper 32 bits. These errors should
rarely happen, but can be avoided by mounting this filesystem with offset
translation enabled. See the
.Fl X
option to
.Xr mount_nfs 8 .
The
.Fl 2
option to
.Xr mount_nfs 8
will also have the desired effect, but is less preferable.
.Sh SEE ALSO
.Xr config 8 ,
.Xr options 4 .