Note: the information below is valid as of the time this document was written, but certain details such as names of ftp sites, directories and distribution names may have changed by the time you read this.
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, usually consisting of subdirectories with gzipped tar files in them. The primary ftp sites for the distributions are:
sunsite.unc.edu:/pub/Linux/distributions tsx-11.mit.edu:/pub/linux/distributions
Some European mirrors:
ftp.luth.se:/pub/linux/distributions ftp.demon.co.uk:/pub/unix/linux src.doc.ic.ac.uk:/packages/linux/distributions
For simplicity, let us concentrate on Slackware here. This
distribution consists of a number of subdirectories, containing
separate packages. Normally, they are 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 text files 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:
Library 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
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:
Package Location
ldso diska2
shlibs diska2
oldlibs diskx6
xf_lib diskx9
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):
slakware/a2/ldso.tgz
slakware/a2/shlibs.tgz
slakware/x6/oldlibs/tgz
slakware/x9/xf_lib.tgz
Extract the files from these gzipped tarfiles in your /compat/linux directory (possibly omitting or afterwards removing files you do not need), and you are done.
See also:
ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README /usr/src/sys/i386/ibcs2/README.iBCS2