COMPAT_NETBSD32(8) System Manager's Manual COMPAT_NETBSD32(8)
compat_netbsd32 -- setup procedure for 32-bit compatibility on 64-bit
The compat_netbsd32 module allows NetBSD/sparc64 to run NetBSD/sparc
executables, and NetBSD/amd64 to run NetBSD/i386 executables.
To use compat_netbsd32, one must either have COMPAT_NETBSD32 and
EXEC_ELF32 in the kernel, or load the compat_netbsd32 and exec_netbsd32
Static executables typically need no additional setup. Dynamic binaries
require the dynamic linker plus shared libraries. Most of these files
will need to be placed under /emul/netbsd32.
The easiest method of installing support for these is via the
emulators/netbsd32_compat14, emulators/netbsd32_compat15, and
emulators/netbsd32_compat16 packages, provided in the NetBSD packages
collection. These install 32-bit a.out and ELF compatibility libraries,
respectively. The details of what is actually necessary for correct
operation are given below. This obviously is handled by the emulator
For a.out compatibility, /usr/libexec/ld.so from a 32-bit distribution is
required to exist as /emul/netbsd32/usr/libexec/ld.so. For 32-bit ELF
compatibility, /usr/libexec/ld.elf_so needs to be in
The shared libraries for a.out binaries do not live under the
/emul/netbsd32 directory, but under the /emul/aout directory, where the
a.out dynamic linker will find them.
A list of things which fail to work in compatibility mode should be here.
IPC is not well supported.
sysctl(3) is not well supported.
NetBSD 6.1.5 March 11, 2006 NetBSD 6.1.5