AOUT(4) | Device Drivers Manual | AOUT(4) |
aout
— kernel
support for executing binary files in legacy a.out format
kldload a.out
The a.out(5) executable format was used before the release of FreeBSD 3.0. Since i386 was the only supported architecture at that time, a.out(5) executables can only be activated on platforms that support execution of i386 code, such as i386 and amd64.
To add kernel support for old syscalls and old syscall invocation methods, place the following options in the kernel configuration file:
options COMPAT_43
options COMPAT_FREEBSD32
The COMPAT_FREEBSD32 option is only required on 64-bit CPU architectures.
The aout.ko module needs to be loaded with the kldload(8) utility in order to support the a.out(5) image activator:
kldload aout
Alternatively, to load the module at boot time, place the following line in loader.conf(5):
aout_load="YES"
The a.out(5) format was mainstream quite a long time ago. Reasonable default settings and security requirements of modern operating systems today contradict the default environment of that time and require adjustments of the system to mimic natural environment for old binaries.
The following sysctl(8) tunables are useful for this:
The a.out(5) executable format was used on ancient AT&T UNIX and served as the main executable format for FreeBSD from the beginning up to FreeBSD 2.2.9. In FreeBSD 3.0 it was superseded by elf(5).
The aout
manual page was written by
Konstantin Belousov
<kib@FreeBSD.org>.
On 64bit architectures, not all wrappers for older syscalls are implemented.
August 14, 2012 | Debian |