From ff14e1ae3d90f91a3ba0eebe6be9703dc1021ac3 Mon Sep 17 00:00:00 2001 From: Jason McIntyre Date: Wed, 19 Feb 2003 09:10:37 +0000 Subject: changes to compat: * extensive use of .Pa for paths * .Nm for kernel options * `procedure' chopped from .Nd * 2nd person -> passive * updated instructions on getting freebsd/linux binaries * various typos thanks millert@ and Grzegorz Czaplinski for help with FreeBSD stuff prompts and ok deraadt@ --- share/man/man8/compat_bsdos.8 | 4 +- share/man/man8/compat_freebsd.8 | 301 +++++++++++++++++++--------------- share/man/man8/compat_hpux.8 | 127 ++++++++------- share/man/man8/compat_ibcs2.8 | 102 ++++++------ share/man/man8/compat_linux.8 | 349 +++++++++++++++++++++------------------- share/man/man8/compat_osf1.8 | 31 ++-- share/man/man8/compat_sunos.8 | 26 +-- share/man/man8/compat_svr4.8 | 57 ++++--- share/man/man8/compat_ultrix.8 | 31 ++-- 9 files changed, 563 insertions(+), 465 deletions(-) (limited to 'share') diff --git a/share/man/man8/compat_bsdos.8 b/share/man/man8/compat_bsdos.8 index 1e19b26357a..5e37d50f557 100644 --- a/share/man/man8/compat_bsdos.8 +++ b/share/man/man8/compat_bsdos.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_bsdos.8,v 1.5 2001/10/05 14:45:54 mpech Exp $ +.\" $OpenBSD: compat_bsdos.8,v 1.6 2003/02/19 09:10:36 jmc Exp $ .\" .\" Copyright (c) 1997, Jason Downs. All rights reserved. .\" @@ -35,7 +35,7 @@ .Os .Sh NAME .Nm compat_bsdos -.Nd setup procedure for running BSDI binaries under emulation +.Nd setup for running BSDI binaries under emulation .Sh DESCRIPTION .Ox supports the execution of BSDI binaries; most binaries should diff --git a/share/man/man8/compat_freebsd.8 b/share/man/man8/compat_freebsd.8 index 4e308cc49e0..bfe933ac59d 100644 --- a/share/man/man8/compat_freebsd.8 +++ b/share/man/man8/compat_freebsd.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_freebsd.8,v 1.9 2001/10/05 14:45:54 mpech Exp $ +.\" $OpenBSD: compat_freebsd.8,v 1.10 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_linux.8,v 1.1 1995/03/05 23:30:36 fvdl Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden @@ -35,7 +35,7 @@ .Os .Sh NAME .Nm compat_freebsd -.Nd setup procedure for running +.Nd setup for running .Fx binaries under emulation .Sh DESCRIPTION @@ -43,9 +43,9 @@ binaries under emulation supports running .Fx binaries. -Most binaries should work, except programs that use FreeBSD-specific -features. -These include i386-specific calls, such as syscons utilities, and audio +Most binaries should work, except for programs that use +FreeBSD-specific features. +These include i386-specific calls, such as syscons utilities and audio devices. .Pp The @@ -56,15 +56,17 @@ with the option enabled. .Pp A lot of programs are dynamically linked. -This means, that you will also need the +This means that the .Fx -shared libraries that the program depends on, and the runtime linker. -Also, you will need to create a "shadow root" directory for +shared libraries that the programs depend on and the runtime linker +are also needed. +Additionally, a "shadow root" directory for .Fx -binaries on your +binaries on the .Ox -system. -This directory is named /emul/freebsd. +system will have to be created. +This directory is named +.Pa /emul/freebsd . Any file operations done by .Fx programs run under @@ -72,45 +74,50 @@ programs run under will look in this directory first. So, if a .Fx -program opens, for example, /etc/passwd, +program opens, for example, +.Pa /etc/passwd , .Ox -will first try to open /emul/freebsd/etc/passwd, and if that does not exist -open the 'real' /etc/passwd file. -It is recommended that you install -.Fx -packages that include configuration files, etc under /emul/freebsd, +will first try to open +.Pa /emul/freebsd/etc/passwd , +and if that does not exist +open the `real' +.Pa /etc/passwd file . +It is recommended that +.Fx +packages that include configuration files, etc., be installed under +.Pa /emul/freebsd , to avoid naming conflicts with possible .Ox counterparts. Shared libraries should also be installed in the shadow tree. .Pp -Generally, you will need to look for the shared libraries that +Generally, it will only be necessary to look for the shared libraries that .Fx -binaries depend on only the first few times that you install a +binaries depend on the first few times that .Fx -program on your +programs are installed on the .Ox system. -After a while, you will have a sufficient set of +After a while, there will be a sufficient set of .Fx -shared libraries on your system to be able to run newly imported +shared libraries on the system to be able to run newly imported .Fx binaries without any extra work. .Ss Setting up shared libraries How to get to know which shared libraries .Fx binaries need, and where to get them? -Basically, there are 3 possibilities (when following these instructions: -you will need to be root on your +Basically, there are 3 possibilities. (When following these instructions, +root privileges are required on the .Ox -system to do the necessary installation steps). +system to perform the necessary installation steps). .Pp .Bl -tag -width 123 -compact .It 1. -You have access to the +Access to the .Ox .Xr ports 7 -system. +system: Install the port named .Nm freebsd_lib in the @@ -124,19 +131,19 @@ necessary to run applications. .Pp .It 2. -You have access to a +Access to a .Fx -system. -In this case you can temporarily install the binary there, see what shared -libraries it needs, and copy them to your +system: +In this case temporarily install the binary there, see what shared +libraries it needs, and copy them to the .Ox system. -Example: you have just ftp-ed the +Example: ftp the .Fx binary of SimCity. Put it on the .Fx -system you have access to, and check which shared libraries it needs by running +system, and check which shared libraries it needs by running `ldd sim': .Pp .Bl -tag -width 123 -compact -offset indent @@ -151,101 +158,111 @@ system you have access to, and check which shared libraries it needs by running .fi .El .Pp -You would need go get all the files from the last column, and -put them under /emul/freebsd. -This means you eventually have these files on your +All the files from the last column should be placed under +.Pa /emul/freebsd . +The following files would therefore be required on the .Ox system: .Pp .nf -/emul/freebsd/usr/X11R6/lib/libXext.so.6.0 -/emul/freebsd/usr/X11R6/lib/libX11.so.6.0 -/emul/freebsd/usr/lib/libc.so.2.1 -/emul/freebsd/usr/lib/libm.so.2.0 -/emul/freebsd/usr/lib/libgcc.so.261.0 +.Pa /emul/freebsd/usr/X11R6/lib/libXext.so.6.0 +.Pa /emul/freebsd/usr/X11R6/lib/libX11.so.6.0 +.Pa /emul/freebsd/usr/lib/libc.so.2.1 +.Pa /emul/freebsd/usr/lib/libm.so.2.0 +.Pa /emul/freebsd/usr/lib/libgcc.so.261.0 .fi .Pp -Note that if you already have a +Note that if a .Fx shared library with a matching major revision number to the first -column of the 'ldd' output, you won't need to copy the file named in the -last column to your system, the one you already have should work. -It is advisable to copy the shared library anyway if it is a newer version, -though. -You can remove the old one. -So, if you have these libraries on your system: +column of the 'ldd' output is already present, it isn't necessary to copy +the file named in the last column to the +.Ox +system; the one already there should work. +It is advisable to copy the shared library anyway, if it is a newer version. +The old one can be removed. +So, if this library exists on the system: .Pp .nf -/emul/freebsd/usr/lib/libc.so.2.0 +.Pa /emul/freebsd/usr/lib/libc.so.2.0 .fi .Pp -and you find that the ldd output for a new binary you want to -install is: +and the ldd output for a new binary is: .nf .Pp -lc.2 => /usr/lib/libc.so.2.1 (0x10144000) .fi .Pp -you won't need to worry about copying /usr/lib/libc.so.2.1 too, +it isn't necessary to copy +.Pa /usr/lib/libc.so.2.1 +too, because the program should work fine with the slightly older version. -You can decide to replace the libc.so anyway, and that should leave -you with: +.Pa libc.so +can be replaced anyway, and that should leave: .Pp .nf -/emul/freebsd/usr/lib/libc.so.2.1 +.Pa /emul/freebsd/usr/lib/libc.so.2.1 .fi .Pp -Finally, you must make sure that you have the +Finally, the .Fx -runtime linker and its config files on your system. -You should copy these files from the +runtime linker and its config files must be present on the system. +These files should be copied from the .Fx -system to their appropriate place on your +system to their appropriate place on the .Ox -system (in the /emul/freebsd tree): +system (in the +.Pa /emul/freebsd +tree): .Pp .nf -usr/libexec/ld-elf.so.1 -usr/libexec/ld.so -var/run/ld-elf.so.hints -var/run/ld.so.hints +.Pa usr/libexec/ld-elf.so.1 +.Pa usr/libexec/ld.so +.Pa var/run/ld-elf.so.hints +.Pa var/run/ld.so.hints .fi .Pp .It 3. -You don't have access to a +No access to a .Fx -system. -In that case, you should get the extra files you need from various ftp sites. +system: +In that case, get the extra files from various ftp sites. Information on where to look for the various files is appended below. -For now, let's assume you know where to get the files. .Pp Retrieve the following files (from _one_ ftp site to avoid -any version mismatches), and install them under /emul/freebsd -(i.e. foo/bar is installed as /emul/freebsd/foo/bar): +any version mismatches), and install them under +.Pa /emul/freebsd +(i.e. +.Pa foo/bar +is installed as +.Pa /emul/freebsd/foo/bar ) : .Pp .nf -sbin/ldconfig -usr/bin/ldd -usr/lib/libc.so.x.y.z -usr/libexec/ld-elf.so.1 -usr/libexec/ld.so +.Pa sbin/ldconfig +.Pa usr/bin/ldd +.Pa usr/lib/libc.so.x.y.z +.Pa usr/libexec/ld-elf.so.1 +.Pa usr/libexec/ld.so .fi .Pp -ldconfig and ldd don't necessarily need to be under /emul/freebsd, -you can install them elsewhere in the system too. +ldconfig and ldd don't necessarily need to be under +.Pa /emul/freebsd , +they can be installed elsewhere in the system too. Just make sure they don't conflict with their .Ox counterparts. -A good idea would be to install them in /usr/local/bin as ldconfig-freebsd -and ldd-freebsd. +A good idea would be to install them in +.Pa /usr/local/bin +as ldconfig-freebsd and ldd-freebsd. .Pp Run the .Fx ldconfig program with directory arguments in which the .Fx runtime linker should look for shared libs. -/usr/lib are standard, you could run like the following: +.Pa /usr/lib +is standard. For example: .Pp .Bl -tag -width 123 -compact -offset indent .It me@openbsd% mkdir -p /emul/freebsd/var/run @@ -255,26 +272,36 @@ runtime linker should look for shared libs. .El .Pp Note that argument directories of ldconfig are -mapped to /emul/freebsd/XXXX by -OpenBSD's compat code, and should exist as such on your system. -Make sure /emul/freebsd/var/run/ld.so.hints exists when you run -FreeBSD's ldconfig, if not, you may lose OpenBSD's /var/run/ld.so.hints. +mapped to +.Pa /emul/freebsd/XXXX +by OpenBSD's compat code, and should exist as such on the +.Ox +system. +Make sure +.Pa /emul/freebsd/var/run/ld.so.hints +exists when running FreeBSD's ldconfig; if not, OpenBSD's +.Pa /var/run/ld.so.hints +could be lost. .Pp .Fx ldconfig should be statically linked, so it doesn't need any shared libraries by itself. -It will create the file /emul/freebsd/var/run/ld.so.hints. -You should rerun the +It will create the file +.Pa /emul/freebsd/var/run/ld.so.hints . +The .Fx -version of the ldconfig program each time you add a new shared library. +version of the ldconfig program should be rerun each time a new shared +library is added. .Pp -You should now be set up for +The +.Ox +system should now be set up for .Fx binaries which only need a shared libc. -You can test this by running the +Test this by running the .Fx ldd on itself. -Suppose that you have it installed as ldd-freebsd, it should produce +Suppose that it is installed as ldd-freebsd, it should produce something like: .Pp .Bl -tag -width 123 -compact -offset indent @@ -285,14 +312,16 @@ something like: .fi .El .Pp -This being done, you are ready to install new +This being done, new .Fx -binaries. -Whenever you install a new +binaries can now be installed. +Whenever a new .Fx -program, you should check if it needs shared libraries, and if so, -whether you have them installed in the /emul/freebsd tree. -To do this, you run the +program is installed, it should be determined if it needs shared libraries, +and if so, whether they are installed in the +.Pa /emul/freebsd +tree. +To do this, run the .Fx version ldd on the new program, and watch its output. ldd (see also the manual page for ldd(1)) will print a list @@ -300,71 +329,77 @@ of shared libraries that the program depends on, in the form -l => . .Pp If it prints "not found" instead of it means that -you need an extra library. +an extra library is needed. Which library this is, is shown -in , which will be of the form XXXX. -You will need to find a libXXXX.so.. on a -.Fx -ftp site, and install it on your system. -The XXXX (name) and (major -revision number) should match; the minor number(s) are -less important, though it is advised to take the most -recent version. +in , which will be of the form XXXX.. +Find a libXXXX.so.. on a +.Fx +ftp site, and install it on the +.Ox +system. +The XXXX (name) and (major revision number) should match; +the minor number(s) are less important, +though it is advised to take the most recent version. .El .Ss Finding the necessary files. .Nm Note: -the information below is valid as of the time this -document was written (Jun, 1995), but certain details +the information below is valid as of Feb 2003, but certain details such as names of ftp sites, directories and distribution names -may have changed by the time you read this. +may have changed since then. .Pp .Fx distribution is available on a lot of ftp sites. Sometimes the files are unpacked, -and you can get the individual files you need, but mostly they +and individual files can be retrieved, but mostly they are stored in distribution sets, usually consisting of subdirectories with gzipped tar files in them. -The primary ftp sites for the distributions are: +The primary ftp site for the distribution is: .Pp .nf ftp.freebsd.org:/pub/FreeBSD .fi .Pp -Mirror sites are described on: +Mirror sites are described at: .Pp .nf -ftp.freebsd.org:/pub/FreeBSD/MIRROR.SITES +www.freebsdmirrors.org .fi .Pp -This distribution consists of a number of tar-ed and gzipped files, -Normally, they're controlled by an install program, but you can -retrieve files "by hand" too. +This distribution consists of a number of tar-ed and gzipped files. +Normally, they're controlled by an install program, but the files can +be retrieved "by hand" too. The way to look something up is to retrieve all -the files in the distribution, and ``tar ztvf'' through them for the file -you need. -Here is an example of a list of files that you might need. +the files in the distribution, and ``tar ztvf'' through them for the files +needed. +Here is an example of a list of files that might be needed: .Pp .Bd -unfilled -offset indent Needed Files -ld.so 2.0-RELEASE/bindist/bindist.?? -ldconfig 2.0-RELEASE/bindist/bindist.?? -ldd 2.0-RELEASE/bindist/bindist.?? -libc.so.2 2.0-RELEASE/bindist/bindist.?? -libX11.so.6.0 2.0-RELEASE/XFree86-3.1/XFree86-3.1-bin.tar.gz -libX11.so.6.0 XFree86-3.1.1/X311bin.tgz -libXt.so.6.0 2.0-RELEASE/XFree86-3.1/XFree86-3.1-bin.tar.gz -libXt.so.6.0 XFree86-3.1.1/X311bin.tgz -.\" libX11.so.3 oldlibs -.\" libXt.so.3 oldlibs +ld.so 5.0-RELEASE/base/base.?? +ldconfig 5.0-RELEASE/base/base.?? +ldd 5.0-RELEASE/base/base.?? +libc.so.6 5.0-RELEASE/base/base.?? +libX11.so.6 5.0-RELEASE/packages/x11/XFree86-libraries-?? +libXt.so.6 5.0-RELEASE/packages/x11/XFree86-libraries-?? .Ed .Pp -The Files called ``bindist.??'' are tar-ed, gzipped and split, -so you can extract contents by ``cat bindist.?? | tar zpxf -''. +The files called ``base.??'' are tar-ed, gzipped and split, +so they can be extracted with ``cat base.?? | tar zpxf -''. .Pp -Extract the files from these gzipped tarfiles in your /emul/freebsd directory -(possibly omitting or afterwards removing files you don't need), and you -are done. +The XFree86 libraries are compressed with bzip2 and can be +extracted with ``bzcat2 | tar pxf -''. Note: The bzip2 +utilities are not part of a base +.Ox +sytem. +bzip2 can be added via +.Xr packages 7 +or +.Xr ports 7 . +.Pp +Simply extract the files from these compressed tarfiles in the +.Pa /emul/freebsd +directory (possibly omitting or afterwards removing unnecessary files). .Sh BUGS The information about .Fx diff --git a/share/man/man8/compat_hpux.8 b/share/man/man8/compat_hpux.8 index 956ff79dcc0..63167f87dc5 100644 --- a/share/man/man8/compat_hpux.8 +++ b/share/man/man8/compat_hpux.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_hpux.8,v 1.2 2002/05/22 08:46:05 mpech Exp $ +.\" $OpenBSD: compat_hpux.8,v 1.3 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_hpux.8,v 1.2 2001/12/16 23:47:19 wiz Exp $ .\" from: compat_linux.8,v 1.23 2001/10/07 10:12:05 mbw Exp .\" @@ -36,7 +36,7 @@ .Os .Sh NAME .Nm compat_hpux -.Nd setup procedure for running HP-UX binaries +.Nd setup for running HP-UX binaries under emulation .Sh DESCRIPTION .Ox supports running HP-UX binaries. @@ -47,22 +47,21 @@ level hardware access. .Pp The HP-UX compatibility feature is active for kernels compiled with the -.Dv COMPAT_HPUX +.Nm COMPAT_HPUX and -.Dv COMPAT_M68K4K +.Nm COMPAT_M68K4K options enabled. HP-UX for m68k uses 4 KB page sizes, and .Ox -for all m68k platforms now use 8 KB page sizes. +for all m68k platforms now uses 8 KB page sizes. .Pp A lot of programs are dynamically linked. -This means that you will need the HP-UX shared libraries that the program -depends on. -Also, you will need to create a -.Dq shadow root -directory for HP-UX binaries on your +This means that the HP-UX shared libraries that the programs +depend on are also needed. +Additionally, a "shadow root" +directory for HP-UX binaries on the .Ox -system. +system will have to be created. This directory is named .Pa /emul/hpux . Any file operations done by HP-UX programs run under @@ -77,39 +76,42 @@ and if that does not exist open the .Sq real .Pa /etc/passwd file. -It is recommended that you install hpux packages that include configuration -files, etc, under +It is recommended that HP-UX packages that include configuration +files, etc., be installed under .Pa /emul/hpux , to avoid naming conflicts with possible .Ox counterparts. Shared libraries should also be installed in the shadow tree. .Pp -Generally, you will need to look for the shared libraries that HP-UX -binaries depend on only the first few times that you install a HP-UX -program on your +Generally, it will only be necessary to look for the shared libraries that +HP-UX binaries depend on the first few times that HP-UX programs are +installed on the .Ox system. -After a while, you will have a sufficient set of HP-UX shared libraries on your +After a while, there will be a sufficient set of HP-UX shared libraries on the system to be able to run newly imported HP-UX binaries without any extra work. .Ss Setting up shared libraries How to get to know which shared libraries HP-UX binaries need, and where to get them? -Basically, there are 2 possibilities (when following these instructions: you -will need to be root on your +Basically, there are 2 possibilities. (When following these instructions, root +privileges are required on the .Ox -system to do the necessary installation steps). +system to perform the necessary installation steps). .Bl -enum .It -You must have login access to an HP-UX system. +Access to an HP-UX system: These instructions apply to HP-UX 9.10 (the latest version of HP-UX available for m68k-based systems), although the instructions should be similar for earlier versions of HP-UX. -By far, the easiest method is to copy the essential files locally to your +By far, the easiest method is to copy the essential files locally to the .Ox system. .Pp -Use tar, or a similar utility to collect the following files: +Use +.Xr tar 1 , +or a similar utility, to collect the following files: +.Pp .Bl -item -compact .It All files in the @@ -125,11 +127,12 @@ directory ending in There should be 5 files. .El .Pp -Now, you need to copy these files to your +Copy these files to the .Ox system, and extract them into -.Pa /emul/hpux , -for example, you should end up with the following files: +.Pa /emul/hpux . +The following files should be present: +.Pp .Bl -item -compact .It .Pa /emul/hpux/lib/dld.sl @@ -142,30 +145,39 @@ for example, you should end up with the following files: .It .Pa /emul/hpux/lib/libcurses.sl .It +.Pp And a whole bunch of files in .Pa /emul/hpux/usr/lib . .El -Overall, HP-UX 9.10 has about 10 MB of shared libraries that you will have -ended up copying to your system. +Overall, HP-UX 9.10 has about 10 MB of shared libraries that will need to +be copied to the +.Ox +system. .It -You have access to an HP-UX system with its entire root drive exported via NFS. -In this case, you simply mount the entire HP-UX system under +Access to an HP-UX system with its entire root drive exported via NFS: +In this case, simply mount the entire HP-UX system under .Pa /emul/hpux . -For example, on your +For example, on the .Ox -system, you might mount it as: -.Dl mount -t nfs hpux-host.test.net:/ /emul/hpux +system, mount it as: +.Pp +.Dl $ mount -t nfs hpux-host.test.net:/ /emul/hpux +.Pp Note that, in this case, the HP-UX emulation will use the configuration files from the HP-UX system -.Pq Pa /etc/passwd , for example -and this might not be what you want. +.Po +.Pa /etc/passwd , +for example, +.Pc +and that might not be desirable. .El .Ss Setting up X11R5 Although the .Ox -based X11R5 server is the preferred way to run X on your system, you might -want to run the HP-UX X11R5 server instead. -To do so, you will need to grab a few additional files: +based X11R5 server is the preferred way to run X, it is +possible to run the HP-UX X11R5 server instead. +To do so, a few additional files are necessary: +.Pp .Bl -item -compact .It .Pa /usr/bin/X11/X @@ -173,18 +185,18 @@ To do so, you will need to grab a few additional files: .Pa /usr/lib/grmd .It The shared libraries in -.Pa /usr/lib/X11R5 +.Pa /usr/lib/X11R5 . .It .Pa /usr/lib/Motif1.2/libXm.sl .It All the subdirectories and files in -.Pa /usr/lib/X11/fonts +.Pa /usr/lib/X11/fonts . .It All the files in -.Pa /usr/lib/X11/nls/Xhp +.Pa /usr/lib/X11/nls/Xhp . .It All the files in -.Pa /usr/lib/X11/extensions +.Pa /usr/lib/X11/extensions . .It .Pa /usr/lib/X11/XHPKeymaps .It @@ -209,36 +221,39 @@ All the files in .Pa /usr/lib/X11/rgb.pag .El .Pp -You'll also need to perform a few configuration steps: +The following configuration steps will also need to be performed: .Bl -enum .It Get and extract the .Pa xbase.tgz -set for your version of +set for .Ox -to provide the X11R6 clients you'll be using with your new X server. +to provide the X11R6 clients which are going to be used with the new X server. .It Create the following directory for the X server to deposit its socket files in: -.Dl mkdir -p /usr/spool/sockets/X11 -.Dl chmod 777 /usr/spool/sockets/X11 +.Pp +.Dl $ mkdir -p /usr/spool/sockets/X11 +.Dl $ chmod 777 /usr/spool/sockets/X11 .It -Add the following lines to your +Add the following lines to .Pa /etc/rc.local to create the necessary directories for the X server to deposit its files in, -when your system boots: -.Dl mkdir /tmp/.X11-unix -.Dl chmod 777 /tmp/.X11-unix -.Dl ln -s /usr/spool/sockets/X11/0 /tmp/.X11-unix/X0 +when the system boots: +.Pp +.Dl $ mkdir /tmp/.X11-unix +.Dl $ chmod 777 /tmp/.X11-unix +.Dl $ ln -s /usr/spool/sockets/X11/0 /tmp/.X11-unix/X0 .It -You may also want to link your X server to a more convenient location, such as: -.Dl ln -s /emul/hpux/usr/bin/X /usr/X11R6/bin/X +It's also possible to link the X server to a more convenient location, such as: +.Pp +.Dl $ ln -s /emul/hpux/usr/bin/X /usr/X11R6/bin/X .El .Sh SEE ALSO .Xr options 4 , .Xr config 8 .Sh BUGS -You may not be able to run the X server on multiple framebuffers, even though -both the X server and +It might not be possible to run the X server on multiple framebuffers, +even though both the X server and .Ox support them. diff --git a/share/man/man8/compat_ibcs2.8 b/share/man/man8/compat_ibcs2.8 index 51e6f190ba2..7d4daec85fe 100644 --- a/share/man/man8/compat_ibcs2.8 +++ b/share/man/man8/compat_ibcs2.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_ibcs2.8,v 1.9 2002/08/29 07:34:31 wcobb Exp $ +.\" $OpenBSD: compat_ibcs2.8,v 1.10 2003/02/19 09:10:36 jmc Exp $ .\" .\" Copyright (c) 1998 Scott Bartram .\" Copyright (c) 1995 Frank van der Linden @@ -37,7 +37,7 @@ .Os .Sh NAME .Nm compat_ibcs2 -.Nd setup procedure for running iBCS2 binaries under emulation +.Nd setup for running iBCS2 binaries under emulation .Sh DESCRIPTION .Ox supports running Intel Binary Compatibility Standard 2 (iBCS2) @@ -48,7 +48,7 @@ System V Release 3. iBCS2 support is only well tested using SCO binaries. XENIX binaries are also supported although not as well tested. SVR4 binaries are supported by the -.Dv COMPAT_SVR4 +.Nm COMPAT_SVR4 option. .Pp iBCS2 supports COFF, ELF, and x.out (XENIX) binary formats. @@ -68,61 +68,69 @@ Most programs should work, but not ones that use or depend on: .sp The iBCS2 compatibility feature is active for kernels compiled with the -.Dv COMPAT_IBCS2 +.Nm COMPAT_IBCS2 option enabled. If support for iBCS2 ELF executables is desired, the -.Dv EXEC_ELF32 +.Nm EXEC_ELF32 option should be enabled in addition to -.Dv COMPAT_IBCS2 . +.Nm COMPAT_IBCS2 . .Pp Many COFF-format programs and most ELF-format programs are dynamically linked. -This means that you will also need the shared libraries that the program -depends on. -Also, you will need to create a "shadow root" directory for iBCS2 binaries -on your +This means that the shared libraries that the program +depends on will also be needed. +Also, a "shadow root" directory for iBCS2 binaries +on the .Ox -system. -This directory is named /emul/ibcs2. +system will have to be created. +This directory is named +.Pa /emul/ibcs2 . Any file operations done by iBCS2 programs run under .Ox will look in this directory first. -So, if an iBCS2 program opens, for example, /etc/passwd, +So, if an iBCS2 program opens, for example, +.Pa /etc/passwd , .Ox -will first try to open /emul/ibcs2/etc/passwd, and if that does not -exist open the 'real' /etc/passwd file. -It is recommended that you install iBCS2 packages that include -configuration files, etc. under /emul/ibcs2, to avoid naming conflicts -with possible +will first try to open +.Pa /emul/ibcs2/etc/passwd , +and if that does not exist open the `real' +.Pa /etc/passwd +file. +It is recommended that iBCS2 packages that include +configuration files, etc., be installed under +.Pa /emul/ibcs2 , +to avoid naming conflicts with possible .Ox counterparts. Shared libraries should also be installed in the shadow tree. .Pp -Generally, you will need to look for the shared libraries that -iBCS2 binaries depend on only the first few times that you install -an iBCS2 program on your +Generally, it will only be necessary to look for the shared libraries that +iBCS2 binaries depend on the first few times +iBCS2 programs are installed on the .Ox system. -After a while, you will have a sufficient set of iBCS2 shared libraries -on your system to be able to run newly imported iBCS2 binaries without +After a while, there will be a sufficient set of iBCS2 shared libraries +on the system to be able to run newly imported iBCS2 binaries without any extra work. .Ss Setting up shared libraries How to get to know which shared libraries iBCS2 binaries need, and where to get them? Depending on the file type of the executable, there are different -possibilities (when following these instructions: you will need to be -root on your +possibilities. +(When following these instructions, root privileges are required +on the .Ox -system to do the necessary installation steps). +system to perform the necessary installation steps). .Pp .Bl -tag -width 123 -compact .It 1. COFF binaries -You can simply copy all of the available shared libraries since they +Simply copy all of the available shared libraries since they are fairly small in size. -The COFF shared libraries are typically found in /shlib and can be -obtained from the following sources: +The COFF shared libraries are typically found in +.Pa /shlib +and can be obtained from the following sources: .sp .nf SCO UNIX version 3.x (aka ODT) @@ -131,33 +139,37 @@ SCO UnixWare Many versions of SVR4.2/x86 .fi .sp -After copying the shared libraries, you should have at least the -following files on your system: +After copying the shared libraries, the following files should be +present on the +.Ox +system: .Pp .nf -/emul/ibcs2/shlib/libc_s -/emul/ibcs2/shlib/libnsl_s -/emul/ibcs2/shlib/protlib_s +.Pa /emul/ibcs2/shlib/libc_s +.Pa /emul/ibcs2/shlib/libnsl_s +.Pa /emul/ibcs2/shlib/protlib_s .fi .Pp .It 2. ELF binaries -You can simply copy all of the available shared libraries from the -source system or distribution or use the `ldd-elf' program (in +Copy all of the available shared libraries from the +source system or distribution, or use the `ldd-elf' program (in development) to determine the libraries required by a specific binary. .Pp -After copying the shared libraries, you should have at least the -following files on your system: +After copying the shared libraries, the following files should be +present on the +.Ox +system: .Pp .nf -/emul/ibcs2/usr/lib/libc.so.1 -/emul/ibcs2/usr/lib/libcrypt.so -/emul/ibcs2/usr/lib/libndbm.so -/emul/ibcs2/usr/lib/libsocket.so.1 +.Pa /emul/ibcs2/usr/lib/libc.so.1 +.Pa /emul/ibcs2/usr/lib/libcrypt.so +.Pa /emul/ibcs2/usr/lib/libndbm.so +.Pa /emul/ibcs2/usr/lib/libsocket.so.1 .fi .Pp .El -If you don't have access to a SCO system, you will need to get the -extra files you need from a SCO distribution. +If access to an SCO system is impossible, the extra files will need to be +obtained from an SCO distribution. As of January 1998, SCO sells a copy of SCO OpenServer (iBCS2) and/or SCO UnixWare (SVR4) for personal/non-commercial use for only the cost of shipping (about $20US). @@ -166,7 +178,7 @@ and used to copy the necessary files. .Sh BUGS The information about SCO distributions may become outdated. .Pp -Attempting to a use a nameserver on the local host does not currently +Attempting to use a nameserver on the local host does not currently work due to an absurd shortcut taken by the iBCS2 network code (remember that there are no kernel sockets). .Pp diff --git a/share/man/man8/compat_linux.8 b/share/man/man8/compat_linux.8 index fa533ac9579..b7054f2b5f6 100644 --- a/share/man/man8/compat_linux.8 +++ b/share/man/man8/compat_linux.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_linux.8,v 1.24 2002/05/22 22:11:56 miod Exp $ +.\" $OpenBSD: compat_linux.8,v 1.25 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_linux.8,v 1.2 1995/10/16 20:17:59 fvdl Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden @@ -35,19 +35,21 @@ .Os .Sh NAME .Nm compat_linux -.Nd setup procedure for running Linux binaries under emulation +.Nd setup for running Linux binaries under emulation .Sh DESCRIPTION .Ox supports running Linux binaries. This only applies to i386 systems for now. Both the a.out and ELF binary formats are supported. Most programs should work, including the ones that use the Linux SVGAlib. -Additionally, OSS audio is emulated, so Linux bins can access the native audio -transparently. -Programs that will not work include those that use the Linux /proc filesystem +Additionally, OSS audio is emulated, so Linux binaries can access the +native audio transparently. +Programs that will not work include those that use the Linux +.Pa /proc +filesystem (which is different from the optional .Ox -/proc +.Pa /proc filesystem), and i386-specific calls, such as enabling virtual 8086 mode. .Pp The Linux compatibility feature is active @@ -56,48 +58,55 @@ for kernels compiled with the option enabled. .Pp A lot of programs are dynamically linked. -This means, that you will also need the Linux shared libraries that -the program depends on, and the runtime linker. -Also, you will need to create a "shadow root" directory for Linux binaries -on your +This means that the Linux shared libraries that the programs depend on +and the runtime linker are also needed. +Additionally, a "shadow root" directory for Linux binaries +on the .Ox -system. -This directory is named /emul/linux. +system will have to be created. +This directory is named +.Pa /emul/linux . Any file operations done by Linux programs run under .Ox will look in this directory first. -So, if a Linux program opens, for example, /etc/passwd, +So, if a Linux program opens, for example, +.Pa /etc/passwd , .Ox -will first try to open /emul/linux/etc/passwd, and if that does not exist -open the 'real' /etc/passwd file. -It is recommended that you install Linux packages that include configuration -files, etc under /emul/linux, to avoid naming conflicts with possible +will first try to open +.Pa /emul/linux/etc/passwd , +and if that does not exist open the `real' +.Pa /etc/passwd +file. +It is recommended that Linux packages that include configuration +files, etc., be installed under +.Pa /emul/linux , +to avoid naming conflicts with possible .Ox counterparts. Shared libraries should also be installed in the shadow tree. .Pp -Generally, you will need to look for the shared libraries that Linux -binaries depend on only the first few times that you install a Linux -program on your +Generally, it will only be necessary to look for the shared libraries +that Linux binaries depend on the first few times that Linux programs +are installed on the .Ox system. -After a while, you will have a sufficient set of Linux shared libraries -on your system to be able to run newly imported Linux binaries without +After a while, there will be a sufficient set of Linux shared libraries +on the system to be able to run newly imported Linux binaries without any extra work. .Ss Setting up shared libraries How to get to know which shared libraries Linux binaries need, and where to get them? -Basically, there are 3 possibilities (when following these instructions: -you will need to be root on your +Basically, there are 3 possibilities. +(When following these instructions, root privileges are required on the .Ox -system to do the necessary installation steps). +system to perform the necessary installation steps). .Pp .Bl -tag -width 123 -compact .It 1. -You have access to the +Access to the .Ox .Xr ports 7 -system. +system: Install the port named .Nm redhat/base in the @@ -110,13 +119,13 @@ necessary to run Linux applications. Access to a Linux system is not needed. .Pp .It 2. -You have access to a Linux system. -In this case you can temporarily install the binary there, see what -shared libraries it needs, and copy them to your +Access to a Linux system: +In this case temporarily install the binary there, see what +shared libraries it needs, and copy them to the .Ox system. -Example: you have just ftp-ed the Linux binary of Doom. -Put it on the Linux system you have access to, and check which shared +Example: ftp the Linux binary of Doom. +Put it on the Linux system, and check which shared libraries it needs by running `ldd linuxxdoom': .Pp .Bl -tag -width 123 -compact -offset indent @@ -128,127 +137,144 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 .fi .El .Pp -You would need go get all the files from the last column, and -put them under /emul/linux, with the names in the first column +Get all the files from the last column, and put them under +.Pa /emul/linux , +with the names in the first column as symbolic links pointing to them. -This means you eventually have these files on your +The following files would therefore be required on the .Ox system: -.Pp .nf -/emul/linux/usr/X11/lib/libXt.so.3.1.0 -/emul/linux/usr/X11/lib/libXt.so.3 (symbolic link to the above) -/emul/linux/usr/X11/lib/libX11.so.3.1.0 -/emul/linux/usr/X11/lib/libX11.so.3 (symbolic link to the above) -/emul/linux/lib/libc.so.4.6.29 -/emul/linux/lib/libc.so.4 (symbolic link to the above) +.Pp +.Pa /emul/linux/usr/X11/lib/libXt.so.3.1.0 +.Pa /emul/linux/usr/X11/lib/libXt.so.3 Li (symbolic link to the above) +.Pa /emul/linux/usr/X11/lib/libX11.so.3.1.0 +.Pa /emul/linux/usr/X11/lib/libX11.so.3 Li (symbolic link to the above) +.Pa /emul/linux/lib/libc.so.4.6.29 +.Pa /emul/linux/lib/libc.so.4 Li (symbolic link to the above) .fi .Pp -Note that if you already have a Linux shared library with a +Note that if a Linux shared library with a matching major revision number to the first column of the 'ldd' -output, you won't need to copy the file named in the last column -to your system, the one you already have should work. -It is advisable to copy the shared library anyway if it is a newer version, -though. -You can remove the old one, as long as you make the symbolic -link point to the new one. -So, if you have these libraries on your system: +output is already present, it isn't necessary to copy the file named +in the last column to the +.Ox +system; the one already there should work. +It is advisable to copy the shared library anyway, if it is a newer version. +The old one can be removed, as long as the symbolic +link points to the new one. +So, if these libraries exist on the system: .Pp .nf -/emul/linux/lib/libc.so.4.6.27 -/emul/linux/lib/libc.so.4 -> /emul/linux/lib/libc.so.4.6.27 +.Pa /emul/linux/lib/libc.so.4.6.27 +.Pa /emul/linux/lib/libc.so.4 Li -> Pa /emul/linux/lib/libc.so.4.6.27 .fi .Pp -and you find that the ldd output for a new binary you want to -install is: +and the ldd output for a new binary is: .nf .Pp libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 .fi .Pp -you won't need to worry about copying /lib/libc.so.4.6.29 too, -because the program should work fine with the slightly older version. -You can decide to replace the libc.so anyway, and that should leave -you with: +it isn't necessary to copy +.Pa /lib/libc.so.4.6.29 +too, because the program should work fine with the slightly older version. +.Pa libc.so +can be replaced anyway, and that should leave: .Pp .nf -/emul/linux/lib/libc.so.4.6.29 -/emul/linux/lib/libc.so.4 -> /emul/linux/lib/libc.so.4.6.29 +.Pa /emul/linux/lib/libc.so.4.6.29 +.Pa /emul/linux/lib/libc.so.4 Li -> Pa /emul/linux/lib/libc.so.4.6.29 .fi .Pp Please note that the symbolic link mechanism is -.Nm only -needed for Linux binaries, the +only needed for Linux binaries, the .Ox runtime linker takes care of looking for matching major revision numbers -itself, you don't need to worry about that. +itself. .Pp -Finally, you must make sure that you have the Linux runtime linker -and its config files on your system. -You should copy these files from the Linux system to their appropriate -place on your +Finally, the Linux runtime linker and its config files must be present +on the system. +These files should be copied from the Linux system to their appropriate +place on the .Ox -system (in the /emul/linux tree): +system (in the +.Pa /emul/linux +tree): .Pp .nf -/lib/ld.so -/etc/ld.so.cache -/etc/ld.so.config +.Pa /lib/ld.so +.Pa /etc/ld.so.cache +.Pa /etc/ld.so.config .fi .Pp .It 3. -You don't have access to a Linux system. -In that case, you should get the extra files you need from various -ftp sites. +No access to a Linux system: +In that case, get the extra files from various ftp sites. Information on where to look for the various files is appended below. -For now, let's assume you know where to get the files. .Pp Retrieve the following files (from _one_ ftp site to avoid -any version mismatches), and install them under /emul/linux -(i.e. /foo/bar is installed as /emul/linux/foo/bar): +any version mismatches), and install them under +.Pa /emul/linux +(i.e. +.Pa /foo/bar +is installed as +.Pa /emul/linux/foo/bar ) : .Pp .nf -/sbin/ldconfig -/usr/bin/ldd -/lib/libc.so.x.y.z -/lib/ld.so +.Pa /sbin/ldconfig +.Pa /usr/bin/ldd +.Pa /lib/libc.so.x.y.z +.Pa /lib/ld.so .fi .Pp -ldconfig and ldd don't necessarily need to be under /emul/linux, -you can install them elsewhere in the system too. +ldconfig and ldd don't necessarily need to be under +.Pa /emul/linux , +they can be installed elsewhere in the system too. Just make sure they don't conflict with their .Ox counterparts. -A good idea would be to install them in /usr/local/bin as ldconfig-linux -and ldd-linux. +A good idea would be to install them in +.Pa /usr/local/bin +as ldconfig-linux and ldd-linux. .Pp -Create the file /emul/linux/etc/ld.so.conf, containing the -directories in which the Linux runtime linker should look +Create the file +.Pa /emul/linux/etc/ld.so.conf , +containing the directories in which the Linux runtime linker should look for shared libs. It is a plain text file, containing a directory name on each line. -/lib and /usr/lib are standard, you could add the following: +.Pa /lib +and +.Pa /usr/lib +are standard; the following could be added: .Pp .nf -/usr/X11/lib -/usr/local/lib +.Pa /usr/X11/lib +.Pa /usr/local/lib .fi .Pp -Note that these are mapped to /emul/linux/XXXX by OpenBSD's compat -code, and should exist as such on your system. +Note that these are mapped to +.Pa /emul/linux/XXXX +by OpenBSD's compat code, and should exist as such on the +.Ox +system. .Pp Run the Linux ldconfig program. It should be statically linked, so it doesn't need any shared libraries by itself. -It will create the file /emul/linux/etc/ld.so.cache -You should rerun the Linux version of the ldconfig program -each time you add a new shared library. +It will create the file +.Pa /emul/linux/etc/ld.so.cache . +The Linux version of the ldconfig program should be rerun +each time a new shared library is added. .Pp -You should now be set up for Linux binaries which only need +The +.Ox +system should now be set up for Linux binaries which only need a shared libc. -You can test this by running the Linux ldd on itself. -Suppose that you have it installed as ldd-linux, it should produce +Test this by running the Linux ldd on itself. +Suppose that it is installed as ldd-linux, it should produce something like: .Pp .Bl -tag -width 123 -compact -offset indent @@ -256,33 +282,36 @@ something like: libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 .El .Pp -This been done, you are ready to install new Linux binaries. -Whenever you install a new Linux program, you should check -if it needs shared libraries, and if so, whether you have -them installed in the /emul/linux tree. -To do this, you run the Linux version ldd on the new program, and +This being done, new Linux binaries can now be installed. +Whenever a new Linux program is installed, it should be determined +if it needs shared libraries, and if so, whether they are +installed in the +.Pa /emul/linux +tree. +To do this, run the Linux version ldd on the new program, and watch its output. ldd (see also the manual page for ldd(1)) will print a list of shared libraries that the program depends on, in the form () => . .Pp If it prints "not found" instead of it means that -you need an extra library. +an extra library is needed. Which library this is, is shown -in , which will be of the form libXXXX.so. -You will need to find a libXXXX.so.. on a Linux ftp site, -and install it on your system. +in , which will be of the form libXXXX.so.. +Find a libXXXX.so.. on a Linux ftp site, +and install it on the +.Ox +system. The XXXX (name) and (major revision number) should match; the minor number(s) are less important, though it is advised to take the most recent version. .El .Ss Finding the necessary files. .Nm Note: -the information below is valid as of the time this -document was written (March, 1995), but certain details +the information below is valid as of Feb 2003, but certain details such as names of ftp sites, directories and distribution names -may have changed by the time you read this. -You can also save yourself a lot of headaches by using the +may have changed since then. +It is much easier to use the .Ox .Xr ports 7 system (possibility 3, above). @@ -291,96 +320,78 @@ Linux is distributed by several groups that make their own set of binaries that they distribute. Each distribution has its own name, like "Slackware" or "Yggdrasil". The distributions are available on a lot of ftp sites. -Sometimes the files are unpacked, and you can get the individual -files you need, but mostly they are stored in distribution sets, +Sometimes the files are unpacked, and individual files can be retrieved, +but mostly they are stored in distribution sets, usually consisting of subdirectories with gzipped tar files in them. The primary ftp sites for the distributions are: .Pp .nf ftp.ibiblio.org:/pub/Linux/distributions -tsx-11.mit.edu:/pub/linux/distributions +distro.ibiblio.org:/pub/Linux/distributions +.\" tsx-11.mit.edu:/pub/linux/distributions .fi .Pp Some European mirrors: .Pp .nf -ftp.luth.se:/pub/linux/distributions +.\" ftp.luth.se:/pub/linux/distributions .\" ftp.demon.co.uk:/pub/linux/distributions +ftp.sunet.se:/pub/Linux/distributions src.doc.ic.ac.uk:/packages/linux .fi .Pp For simplicity, let's concentrate on Slackware here. This distribution consists of a number of subdirectories, containing separate packages. -Normally, they're controlled by an install program, but you can -retrieve files "by hand" too. -First of all, you will need to look in the "contents" subdir of -the distribution. -You will find a lot of small textfiles here describing the contents of -the separate packages. -The fastest way to look something up is to retrieve all -the files in the contents subdirectory, and grep through them for the file -you need. -Here is an example of a list of files that you might need, and -in which contents-file you will find it by grepping through them: +Normally, they're controlled by an install program, but the files can be +retrieved "by hand" too. +The fastest way to find something is to +.Xr grep 1 +the file FILELIST.TXT for +the files needed. +Here is an example of a list of files that might be needed, and +in which package it can be found: .Bd -unfilled -offset indent Needed Package -ld.so ldso -ldconfig ldso -ldd ldso -libc.so.4 shlibs -libX11.so.6.0 xf_lib -libXt.so.6.0 xf_lib -libX11.so.3 oldlibs -libXt.so.3 oldlibs +ld-2.2.5.so glibc +ldconfig glibc +ldd glibc +libc.so.6 glibc +libX11.so.6 xfree +libXt.so.6 xfree .Ed .Pp -So, in this case, you will need the packages ldso, shlibs, xf_lib and oldlibs. -In each of the contents-files for these packages, look for a line saying -"PACKAGE LOCATION", it will tell you on which 'disk' the package is, -in our case it will tell us in which subdirectory we need to look. -For our example, we would find the following locations: -.Bd -unfilled -offset indent -Package Location - -ldso diska2 -shlibs diska2 -oldlibs diskx6 -xf_lib diskx9 -.Ed -.Pp -The locations called "diskXX" refer to the "slakware/XX" subdirectories -of the distribution, others may be found in the "contrib" subdirectory. -In this case, we could now retrieve the packages we need by retrieving -the following files (relative to the root of the Slackware distribution -tree): +So, in this case, the packages glibc and xfree will be needed. +FILELIST.TXT also gives the location of the packages. +Retrieve the packages needed from the following files +(relative to the root of the Slackware distribution tree): .Pp .nf -slakware/a2/ldso.tgz -slakware/a2/shlibs.tgz -slakware/x6/oldlibs/tgz -slakware/x9/xf_lib.tgz +.Pa slakware/l/glibc-2.2.5-i386.2.tgz +.Pa slakware/x/xfree-4.2.0-i386.5.tgz .fi .Pp -Extract the files from these gzipped tarfiles in your /emul/linux directory -(possibly omitting or afterwards removing files you don't need), and you -are done. +Extract the files from these gzipped tarfiles in the +.Pa /emul/linux +directory +(possibly omitting or afterwards removing unnecessary files). .Ss Programs using SVGAlib SVGAlib binaries require some extra care. The pcvt virtual console driver has to be in the kernel for them to work, -and you will also have to create some symbolic links in the /emul/linux/dev -directory, namely: +and some symbolic links in the +.Pa /emul/linux/dev +directory will have to be created, namely: .Pp .nf /emul/linux/dev/console -> /dev/tty -/emul/linux/dev/mouse -> whatever device your mouse is connected to +/emul/linux/dev/mouse -> whatever device the mouse is connected to /emul/linux/dev/ttyS0 -> /dev/tty00 /emul/linux/dev/ttyS1 -> /dev/tty01 .fi .Pp Be warned: the first link mentioned here makes SVGAlib binaries -work, but may confuse others, so you may have to remove it again at +work, but may confuse others, so it may be necessary to remove it again at some point. .Ss Programs using OSS (Linux) audio Only the DSP device is emulated, the following link should be created: @@ -388,14 +399,16 @@ Only the DSP device is emulated, the following link should be created: .nf /emul/linux/dev/dsp -> /dev/audio .fi -.Ss Other links Linux bins may require -CD-ROM support requires a link to your cdrom device, similar to: +.Ss Other links Linux binaries may require +CD-ROM support requires a link to the cdrom device, similar to: .Pp .nf /emul/linux/dev/cdrom -> /dev/cd0a (first scsi cdrom) .fi .Ss File systems -Many Linux binaries expect /proc to have procfs mounted on it. +Many Linux binaries expect +.Pa /proc +to have procfs mounted on it. Some binaries will require it to be mounted using the .Fl o Ar linux option. @@ -405,7 +418,7 @@ The information about Linux distributions may become outdated. Linux ELF binaries may be detected as svr4 binaries. This can usually be fixed with .Xr elf2olf 1 -by setting the OLF opsys tag to Linux (eg: elf2olf -o linux ). +by setting the OLF opsys tag to Linux (eg. elf2olf -o linux ). .Pp .Nm is currently only supported on the i386. diff --git a/share/man/man8/compat_osf1.8 b/share/man/man8/compat_osf1.8 index 1a1dbdeda68..3d61acaf5f9 100644 --- a/share/man/man8/compat_osf1.8 +++ b/share/man/man8/compat_osf1.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_osf1.8,v 1.1 2002/05/07 08:20:17 miod Exp $ +.\" $OpenBSD: compat_osf1.8,v 1.2 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_osf1.8,v 1.8 2002/01/14 13:50:43 wiz Exp $ .\" .\" Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -40,7 +40,7 @@ .Os .Sh NAME .Nm compat_osf1 -.Nd setup procedure for running OSF/1 binaries +.Nd setup for running OSF/1 binaries under emulation .Sh DESCRIPTION .Ox supports running OSF/1 (a.k.a Digital Unix, a.k.a. Tru64) binaries on alpha @@ -49,22 +49,22 @@ 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 +.Nm 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 -.Dq shadow root -directory called +To run dynamically linked programs, the OSF/1 shared libraries, +runtime linker, and certain configuration files found in +.Pa /etc +are also needed. +These are installed in a "shadow root" directory called .Pa /emul/osf1 . Any file operations done by OSF/1 programs run under -.Nx +.Ox will look in this directory first, and fall back to the file system proper. So, if an OSF/1 program opens .Pa /etc/svc.conf , -.Nx +.Ox will first try to open .Pa /emul/osf1/etc/svc.conf , and if that file does not exist it will then try @@ -72,9 +72,10 @@ and if that file does not exist it will then try Shared libraries and configuration specific to OSF/1 should be installed in the shadow tree. .Ss Setting up /emul/osf1 -You need access to an OSF/1 machine and if the licensing details permit, -you need to copy the contents of: +Access to an OSF/1 machine is needed and, if the licensing details permit, +the following files will have to be copied: .Bl -item -compact -offset indent +.Pp .It .Pa /shlib .It @@ -88,6 +89,7 @@ you need to copy the contents of: (The latter is required to run Netscape Navigator or Communicator.) .Pp Also copy +.Pp .Bl -item -compact -offset indent .It .Pa /etc/svc.conf @@ -103,12 +105,13 @@ Or, simply NFS mount the appropriate directories under .Xr options 4 , .Xr config 8 .Sh BUGS -Your +The +.Ox +system's .Xr hostname 1 .Em must contain a dot .Em or -your .Xr resolv.conf 5 must contain a .Li search diff --git a/share/man/man8/compat_sunos.8 b/share/man/man8/compat_sunos.8 index c91bb938a12..c2e912318b2 100644 --- a/share/man/man8/compat_sunos.8 +++ b/share/man/man8/compat_sunos.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_sunos.8,v 1.11 2001/10/05 14:45:54 mpech Exp $ +.\" $OpenBSD: compat_sunos.8,v 1.12 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_sunos.8,v 1.6 1995/06/11 23:05:17 pk Exp $ .\" .\" Copyright (c) 1994 Theo de Raadt @@ -36,7 +36,7 @@ .Os .Sh NAME .Nm compat_sunos -.Nd setup procedure for running SunOS binaries under emulation +.Nd setup for running SunOS binaries under emulation .Sh DESCRIPTION OpenBSD/sparc and some of the OpenBSD/m68k architectures can run SunOS executables. @@ -62,12 +62,12 @@ longer than the number of programs that fail to run. .Pp Static executables will normally run without any extra setup. This procedure details the directories and files that must be -setup to allow dynamically linked executables to work. +set up to allow dynamically linked executables to work. .Pp -The files you need are on your SunOS machine. -You need to worry about the legal issues of ensuring that you -have a right to use the required files on your machine. -On your +The files needed can be found on the SunOS machine. +The user is responsible for the legal issues of ensuring that they +have a right to use the required files on their machine. +On the .Ox machine, do the following: .Pp @@ -86,15 +86,15 @@ machine, do the following: .Li cp SunOS:/usr/lib/ld.so OpenBSD:/emul/sunos/usr/lib/ld.so .Pp .It -If you ever expect to use YP, you will want to create a link: +If YP is going to be used, create a link: .nf .Li ln -s /var/run/ypbind.lock /etc/ypbind.lock .fi .El .Pp -Alternatively, you can use an NFS mount to accomplish the same +Alternatively, an NFS mount can accomplish the same effect. -On your +On the .Ox machine, do the following: .Pp @@ -108,10 +108,10 @@ machine, do the following: .fi .El .Pp -This will place the SunOS libraries on your +This will place the SunOS libraries on the .Ox -machine in a location where the SunOS compatibility code will look for -first, where they do not conflict with the standard libraries. +machine in a location where the SunOS compatibility code will look +first, in order to avoid conflict with the standard libraries. .Sh SEE ALSO .Xr compat_svr4 8 .Sh BUGS diff --git a/share/man/man8/compat_svr4.8 b/share/man/man8/compat_svr4.8 index 0bb6665c588..e652614c836 100644 --- a/share/man/man8/compat_svr4.8 +++ b/share/man/man8/compat_svr4.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_svr4.8,v 1.10 2001/10/05 14:45:54 mpech Exp $ +.\" $OpenBSD: compat_svr4.8,v 1.11 2003/02/19 09:10:36 jmc Exp $ .\" $NetBSD: compat_svr4.8,v 1.1 1996/07/06 17:14:50 christos Exp $ .\" .\" Copyright (c) 1996 Christos Zoulas @@ -37,7 +37,7 @@ .Os .Sh NAME .Nm compat_svr4 -.Nd setup procedure for running SVR4/iBCS2 binaries under emulation +.Nd setup for running SVR4/iBCS2 binaries under emulation .Sh DESCRIPTION .Ox supports running SVR4/iBCS2 binaries. @@ -47,7 +47,9 @@ Most programs should work, but not ones that use or depend on: .Bl -tag -width 123 -compact -offset indent .It kernel internal data structures .br -.It the /proc filesystem +.It the +.Pa /proc +filesystem .br .It the ticotsord loopback rpc mechanism (nis uses this) .br @@ -64,28 +66,34 @@ for kernels compiled with the option enabled. .Pp Most SVR4 programs are dynamically linked. -This means that you will also need the shared libraries that the program -depends on and the runtime linker. -Also, you will need to create a "shadow root" directory for SVR4 binaries -on your +This means that the shared libraries that the programs depend on +and the runtime linker are also needed. +Additionally, a "shadow root" directory for SVR4 binaries +on the .Ox -system. -This directory is named /emul/svr4. +system will have to be created. +This directory is named +.Pa /emul/svr4 . Any file operations done by SVR4 programs run under .Ox will look in this directory first. -So, if a SVR4 program opens, for example, /etc/passwd, +So, if a SVR4 program opens, for example, +.Pa /etc/passwd , .Ox will -first try to open /emul/svr4/etc/passwd, and if that does not exist -open the 'real' /etc/passwd file. -It is recommended that you install SVR4 packages that include configuration -files, etc under /emul/svr4, to avoid naming conflicts with possible +first try to open +.Pa /emul/svr4/etc/passwd , +and if that does not exist open the `real' +.Pa /etc/passwd file . +It is recommended that SVR4 packages that include configuration +files, etc., be installed under +.Pa /emul/svr4 , +to avoid naming conflicts with possible .Ox counterparts. Shared libraries should also be installed in the shadow tree. .Pp -The simplest way to setup your system for SVR4 binaries is: +The simplest way to set up the system for SVR4 binaries is: .Bl -tag -width 123 -compact .It 1. Make the necessary directories: @@ -110,7 +118,7 @@ Copy files from an SVR4 system: .in -5 .El .Pp -If you are running OpenWindows: +If OpenWindows is going to be run: .Pp .Bl -tag -width 123 -compact -offset indent .It (me@svr4) cd /usr/openwin/lib @@ -135,12 +143,16 @@ Setup the configuration files and devices: .El .El .Pp -An alternative method is to mount a whole SVR4 partition in /emul/svr4 -and then override with other mounts /emul/svr4/etc and /emul/svr4/dev. +An alternative method is to mount a whole SVR4 partition in +.Pa /emul/svr4 +and then override with other mounts +.Pa /emul/svr4/etc +and +.Pa /emul/svr4/dev . .Pp -Clearly, you cannot use a complete SVR4 +Clearly, a complete SVR4 .Pa /dev -directory as +directory cannot be used as .Pa /emul/svr4/dev , because other device nodes, such as .Pa /dev/null , @@ -154,8 +166,9 @@ The streams emulation is incomplete (socketpair does not work yet). Most SVR4 executables can not handle directory offset cookies > 32 bits. More recent ones, compiled for large file support (Solaris 2.6 and up) can. -With older programs, you will see the message "svr4_getdents: dir offset -too large for emulated program" when this happens. +With older programs, the message +"svr4_getdents: dir offset too large for emulated program" +will appear when this happens. 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 diff --git a/share/man/man8/compat_ultrix.8 b/share/man/man8/compat_ultrix.8 index 072acd1d905..a89cbdff20d 100644 --- a/share/man/man8/compat_ultrix.8 +++ b/share/man/man8/compat_ultrix.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: compat_ultrix.8,v 1.11 2002/07/04 17:36:15 miod Exp $ +.\" $OpenBSD: compat_ultrix.8,v 1.12 2003/02/19 09:10:36 jmc Exp $ .\" .\" Copyright (c) 1997 Jonathan Stone .\" All rights reserved. @@ -35,13 +35,13 @@ .Os .Sh NAME .Nm compat_ultrix -.Nd setup procedure for running Ultrix binaries under emulation +.Nd setup for running Ultrix binaries under emulation .Sh DESCRIPTION OpenBSD/mips and OpenBSD/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. +However, the user is responsible for +the legal issues of ensuring that they have a right to use any ULTRIX +binaries on their machine. .Pp Most executables will work. The exceptions include programs that use @@ -78,14 +78,19 @@ and .Sy nameserver lines in .Xr 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. +A copy of +.Pa /etc/resolv.conf +should be created containing only those commands and put in +.Pa /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. .Ss /etc/svc.conf -Ultrix uses /etc/svc.conf to select an ordered search of YP, Hesiod, -or local flat-file mappings. -You should create an /emul/ultrix/etc/svc.conf specifying either +Ultrix uses +.Pa /etc/svc.conf +to select an ordered search of YP, Hesiod, or local flat-file mappings. +Create an +.Pa /emul/ultrix/etc/svc.conf +file specifying either local files or bind (DNS) lookups for all Ultrix name services. .Sh BUGS RISC Ultrix YP(NIS) is known to not work. @@ -94,9 +99,11 @@ Ultrix YP client will not inter-operate with the .Ox .Xr ypbind 8 process. -The only workaround is to use /etc/svc.conf to disable YP(NIS). +The only workaround is to use +.Pa /etc/svc.conf +to disable YP(NIS). .Pp -The ndbm hashed-password file used by Ultrix are incompatible with the +The ndbm hashed-password file used by Ultrix is incompatible with the db hashed-password file used by .Ox . There is no good solution for this. -- cgit v1.2.3