Linux emulation in FreeBSD has reached a point where it is possible to run a large fraction of Linux binaries in both a.out and ELF format. The linux emulation in the 2.1-STABLE branch is capable of running Linux DOOM and Mathematica; the version present in 3.1-RELEASE is vastly more capable and runs all these as well as Quake, Abuse, IDL, netrek for Linux and a whole host of other programs.
There are some Linux-specific operating system features that are not supported on FreeBSD. Linux binaries will not work on FreeBSD if they use the Linux /proc filesystem (which is different from the optional FreeBSD /proc filesystem) or i386-specific calls, such as enabling virtual 8086 mode.
Depending on which version of FreeBSD you are running, how you get Linux-emulation up will vary slightly: