Add compat_pecoff(8) manpage.
This commit is contained in:
parent
71ccd6200d
commit
6e6e2897da
@ -1,4 +1,4 @@
|
||||
# $NetBSD: mi,v 1.258 2000/07/13 00:35:23 thorpej Exp $
|
||||
# $NetBSD: mi,v 1.259 2000/07/17 14:39:33 minoura Exp $
|
||||
./usr/share/info/am-utils.info
|
||||
./usr/share/info/as.info
|
||||
./usr/share/info/awk.info
|
||||
@ -750,6 +750,7 @@
|
||||
./usr/share/man/cat8/compat_ibcs2.0
|
||||
./usr/share/man/cat8/compat_linux.0
|
||||
./usr/share/man/cat8/compat_osf1.0
|
||||
./usr/share/man/cat8/compat_pecoff.0
|
||||
./usr/share/man/cat8/compat_sco.0
|
||||
./usr/share/man/cat8/compat_solaris.0
|
||||
./usr/share/man/cat8/compat_sunos.0
|
||||
@ -1780,6 +1781,7 @@
|
||||
./usr/share/man/man8/compat_ibcs2.8
|
||||
./usr/share/man/man8/compat_linux.8
|
||||
./usr/share/man/man8/compat_osf1.8
|
||||
./usr/share/man/man8/compat_pecoff.8
|
||||
./usr/share/man/man8/compat_sco.8
|
||||
./usr/share/man/man8/compat_solaris.8
|
||||
./usr/share/man/man8/compat_sunos.8
|
||||
|
@ -1,8 +1,8 @@
|
||||
# $NetBSD: Makefile,v 1.36 2000/04/29 00:29:01 lukem Exp $
|
||||
# $NetBSD: Makefile,v 1.37 2000/07/17 14:39:35 minoura Exp $
|
||||
# @(#)Makefile 8.1 (Berkeley) 6/5/93
|
||||
|
||||
MAN= compat_freebsd.8 compat_ibcs2.8 compat_linux.8 \
|
||||
compat_osf1.8 compat_sunos.8 compat_svr4.8 compat_ultrix.8 \
|
||||
MAN= compat_freebsd.8 compat_ibcs2.8 compat_linux.8 compat_osf1.8 \
|
||||
compat_pecoff.8 compat_sunos.8 compat_svr4.8 compat_ultrix.8 \
|
||||
diskless.8 genassym.sh.8 intro.8 rc.8 sticky.8 yp.8
|
||||
MLINKS+=compat_svr4.8 compat_sco.8
|
||||
MLINKS+=compat_svr4.8 compat_solaris.8
|
||||
|
164
share/man/man8/compat_pecoff.8
Normal file
164
share/man/man8/compat_pecoff.8
Normal file
@ -0,0 +1,164 @@
|
||||
.\" $NetBSD: compat_pecoff.8,v 1.1 2000/07/17 14:39:35 minoura Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2000 The PEACE Project.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" 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. The name of the author may not be used to endorse or promote products
|
||||
.\" derived from this software without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 July 17, 2000
|
||||
.Dt COMPAT_PECOFF 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm compat_pecoff
|
||||
.Nd setup procedure for running Win32 applications (a.k.a. PEACE)
|
||||
.Sh DESCRIPTION
|
||||
.Nx
|
||||
has partial support for running Win32 application.
|
||||
This manual page describes how to run Win32 (and hopefully WinCE
|
||||
in the future) applications on
|
||||
.Nx .
|
||||
Note that PE (Portable Executable) is Microsoft extention to COFF
|
||||
executable file format.
|
||||
|
||||
.Sh BRIEF INTRODUCTION TO WIN32 API
|
||||
Win32 API is an application program interface (API) for 32-bit
|
||||
applications for Microsoft Windows 9x/NT/2000. Win32 API is provided
|
||||
as a set of core DLLs (Dynamically Linked Libraries), including KERNEL32.DLL,
|
||||
USER32.DLL and GDI32.DLL.
|
||||
.Pp
|
||||
The structure of these core DLLs and the interface between the
|
||||
operating system kernel and userland is implementation-dependent.
|
||||
Each implementation must provide this via the core DLLs;
|
||||
for example, they are different between Windows 98 and Windows 2000.
|
||||
.Pp
|
||||
KERNEL32.DLL is used by all Win32 applications; it provides basic
|
||||
kernel interface such as file access, process control, memory management etc.
|
||||
.Pp
|
||||
USER32.DLL is used by most Win32 applications; it provides basic
|
||||
userland functions such as GUI and messaging.
|
||||
.Pp
|
||||
GDI32.DLL provides functions to draw images and characters.
|
||||
.Pp
|
||||
SHELL32.DLL is the Windows shell support, including file association.
|
||||
.Pp
|
||||
COMCTL32.DLL and COMDLG.32.DLL are GUI components which are commonly
|
||||
used in many applications. WSOCK32.DLL provides networking API.
|
||||
DDRAW.DLL is for DirectDraw.
|
||||
.Pp
|
||||
Most of other DLLs are compatible among all the implementations and
|
||||
therefore can be shared.
|
||||
|
||||
.Sh NETBSD SUPPORT FOR WIN32 API
|
||||
.Nx
|
||||
support for Win32 application is developed by the PEACE Project, and is
|
||||
under active development.
|
||||
Currently it can run some console applications including Windows 2000
|
||||
CMD.EXE, and very few GUI applications.
|
||||
.Pp
|
||||
PEACE system consists of three parts; kernel part, dynamic loader and
|
||||
core DLLs.
|
||||
.Pp
|
||||
The kernel part provides loading and executing PE/COFF format
|
||||
executable binaries, i.e. it extends
|
||||
.Xr execve 2
|
||||
system call.
|
||||
It is activated by enabling
|
||||
.Dv COMPAT_PECOFF
|
||||
option.
|
||||
.Pp
|
||||
The dynamic loader is PE/COFF version of
|
||||
.Xr ld.so 1 .
|
||||
It reads the file header of the executable binary, and
|
||||
loads required DLLs.
|
||||
.Pp
|
||||
The core DLLs implement actual Win32 API functions described in the
|
||||
previous section. Since the kernel part does not provide
|
||||
any additional system calls and other kernel interface,
|
||||
all Win32 API functions are implemented on top of the existing
|
||||
.Nx
|
||||
APIs (system calls and standard libraries such as libc and libX11).
|
||||
|
||||
.Sh PREPARING PEACE DYNAMIC LOADER AND CORE DLLS
|
||||
Development snapshot of the dynamic loader can be retrieved from
|
||||
.Pa http://chiharu.haun.org/peace/dist/peace-i386-ld.so.dll-*.gz ,
|
||||
where `*' is replaced with the snapshot date.
|
||||
Simply
|
||||
.Xr gunzip 8
|
||||
the file and copy the resultant as
|
||||
.Pa /usr/libexec/ld.so.dll .
|
||||
.Pp
|
||||
Core DLLs can also be retrieved from
|
||||
.Pa http://chiharu.haun.org/peace/dist/peace-i386-dll-*.tgz .
|
||||
The dynamic linker searches required DLLs from the following directories;
|
||||
.Bl -enum -compact
|
||||
.It
|
||||
.Pa /usr/lib
|
||||
.It
|
||||
Directories listed in the environment variable DLLPATH (separated by
|
||||
colons)
|
||||
.It
|
||||
Same directory where the executable is located
|
||||
.El
|
||||
The core DLLs are required to be installed into
|
||||
.Pa /usr/lib ,
|
||||
in order that CMD.EXE (or another Win32 application) is used
|
||||
as the login shell.
|
||||
.Pp
|
||||
Other DLLs can be stored into arbitrary directory. To use Windows NT/2000
|
||||
DLLs installed on a separate partition of the local disk directly
|
||||
for
|
||||
.Nx ,
|
||||
type
|
||||
.Bd -literal -compact -offset indent
|
||||
mount -t ntfs -o ro /dev/wd0h /nthd
|
||||
setenv DLLPATH /nthd/WINNT/SYSTEM32:/nthd/WINNT
|
||||
.Ed
|
||||
(assuming csh).
|
||||
|
||||
.Sh SEE ALSO
|
||||
.Xr config 8 , Xr options 4 ,
|
||||
.Xr execve 3 , Xr ld.so 1 ,
|
||||
.Xr mount_ntfs 8 , Xr gunzip 1
|
||||
|
||||
.Sh HISTORY
|
||||
Kernel support for PE/COFF appeared in
|
||||
.Nx 1.5 .
|
||||
|
||||
.Sh AUTHOR
|
||||
The kernel part is written by Masaru Oki, based on
|
||||
.Nx
|
||||
COFF loader. The userland functions are implemented by Masaru Oki and
|
||||
the PEACE Project.
|
||||
|
||||
.Sh BUGS
|
||||
.Bl -hyphen -compact
|
||||
.It
|
||||
Currently only i386 platform is supported.
|
||||
.It
|
||||
Many functions in Win32 are missing.
|
||||
.It
|
||||
Dynamic loader and core DLLs are not provided in the standard
|
||||
distribution of
|
||||
.Nx .
|
||||
This is because the cross-compiler is required to build them.
|
||||
.El
|
Loading…
Reference in New Issue
Block a user