Create branch 'RELENG_2_1_0'.
This commit is contained in:
parent
ab87b86033
commit
31444442c3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/branches/RELENG_2_1_0/; revision=367
10 changed files with 2675 additions and 0 deletions
57
handbook/cyclades.sgml
Normal file
57
handbook/cyclades.sgml
Normal file
|
@ -0,0 +1,57 @@
|
|||
<!-- $Id: cyclades.sgml,v 1.1 1996-06-07 15:56:35 alex Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!--
|
||||
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
|
||||
|
||||
<!ENTITY % authors SYSTEM "authors.sgml">
|
||||
%authors;
|
||||
|
||||
]>
|
||||
-->
|
||||
<sect2><heading>Configuring the <tt>cy</tt> driver<label id="cy"></heading>
|
||||
|
||||
<p><em>Contributed by &a.alex;.<newline>6 June 1996.</em>
|
||||
|
||||
The Cyclades multiport cards are based on the <tt>cy</tt>
|
||||
driver instead of the usual <tt>sio</tt> driver used by
|
||||
other multiport cards. Configuration is a simple matter
|
||||
of:
|
||||
|
||||
<enum>
|
||||
<item>Add the <tt>cy</tt> device to your
|
||||
<ref id="kernelconfig:config" name="kernel configuration">
|
||||
(note that your irq and iomem settings may differ).
|
||||
|
||||
<tscreen><verb>
|
||||
device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
|
||||
</verb></tscreen>
|
||||
|
||||
<item><ref id="kernelconfig:building" name="Rebuild and install">
|
||||
the new kernel.
|
||||
|
||||
<item>Make the <ref id="kernelconfig:nodes" name="device nodes">
|
||||
by typing (the following example assumes an 8-port board):
|
||||
|
||||
<tscreen><verb>
|
||||
# cd /dev
|
||||
# for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done
|
||||
</verb></tscreen>
|
||||
|
||||
<item>If appropriate, add <ref id="dialup" name="dialup">
|
||||
entries to <ref id="dialup:ttys" name="/etc/ttys"> by
|
||||
duplicating serial device (<tt>ttyd</tt>) entries and
|
||||
using <tt>ttyc</tt> in place of <tt>ttyd</tt>. For
|
||||
example:
|
||||
|
||||
<tscreen><verb>
|
||||
ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
|
||||
ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
|
||||
ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
|
||||
[...]
|
||||
ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
|
||||
</verb></tscreen>
|
||||
|
||||
<item>Reboot with the new kernel.
|
||||
|
||||
</enum>
|
9
handbook/goals.sgml
Normal file
9
handbook/goals.sgml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<!-- $Id: goals.sgml,v 1.1 1995-12-07 13:22:13 jkh Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect><heading>FreeBSD Project goals<label id="goals"></heading>
|
||||
|
||||
<p><em>Contributed by &a.jkh;</em>.
|
||||
|
||||
<p><em>Note: This section is under construction.</em>
|
||||
|
700
handbook/linuxemu.sgml
Normal file
700
handbook/linuxemu.sgml
Normal file
|
@ -0,0 +1,700 @@
|
|||
<!-- $Id: linuxemu.sgml,v 1.8 1996-05-24 19:33:32 jfieber Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<chapt><heading>Linux Emulation<label id="linuxemu"></heading>
|
||||
|
||||
<p><em>Contributed by &a.brian and &a.rich;</em>
|
||||
|
||||
<sect><heading>How to install the Linux emulator</heading>
|
||||
|
||||
<p>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 -STABLE branch is capable of
|
||||
running Linux DOOM and Mathematica; the version present in
|
||||
FreeBSD-CURRENT 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.
|
||||
|
||||
<p>To tell whether your kernel is configured for Linux
|
||||
compatibility simply run any Linux binary. If it
|
||||
prints the error message
|
||||
<tscreen>
|
||||
<verb>
|
||||
linux-executable: Exec format error. Wrong Architecture.
|
||||
</verb>
|
||||
</tscreen>
|
||||
then you do not have linux compatibility support and
|
||||
you need to configure and install a new kernel.
|
||||
|
||||
Depending on which version of FreeBSD you are running, how you get
|
||||
Linux-emulation up will vary slightly:
|
||||
|
||||
<sect1><heading>Installing Linux Emulation in 2.1-STABLE</heading>
|
||||
|
||||
<p>The GENERIC kernel in 2.1-stable is not configured for linux
|
||||
compatibility so you you must reconfigure your kernel for it. There
|
||||
are two ways to do this: 1. linking the emulator statically in the
|
||||
kernel itself and 2. configuring your kernel to dynamically load the
|
||||
linux loadable kernel module (LKM).
|
||||
|
||||
<p>To enable the emulator, add the following to your configuration file
|
||||
(c.f. /sys/i386/conf/LINT):
|
||||
<tscreen>
|
||||
<verb>
|
||||
options "COMPAT_LINUX"
|
||||
</verb>
|
||||
</tscreen>
|
||||
If you want to run doom or other applications
|
||||
that need shared memory
|
||||
also add the following.
|
||||
<tscreen>
|
||||
<verb>
|
||||
options SYSVSHM
|
||||
</verb>
|
||||
</tscreen>
|
||||
The linux system calls require 4.3 BSD system call compatibility. So
|
||||
make sure you have the following.
|
||||
<tscreen>
|
||||
<verb>
|
||||
options "COMPAT_43"
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
If you prefer to statically link the emulator in the kernel rather than
|
||||
use the loadable kernel module (LKM), then add
|
||||
<tscreen>
|
||||
<verb>
|
||||
options LINUX
|
||||
</verb>
|
||||
</tscreen>
|
||||
Then run config and install the new kernel as described in the
|
||||
<ref id="kernelconfig" name="kernel configuration"> section.
|
||||
|
||||
If you decide to use the LKM you must also install the loadable
|
||||
module. A mismatch of versions between the kernel and loadable
|
||||
module can cause the kernel to crash, so the safest thing to do is to
|
||||
reinstall the LKM when you install the kernel.
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /usr/src/lkm/linux
|
||||
% make all install
|
||||
</verb>
|
||||
</tscreen>
|
||||
Once you have installed the kernel and the LKM, you can invoke
|
||||
`linux' as root to load the LKM.
|
||||
<tscreen>
|
||||
<verb>
|
||||
% linux
|
||||
Linux emulator installed
|
||||
Module loaded as ID 0
|
||||
%
|
||||
</verb>
|
||||
</tscreen>
|
||||
To see whether the LKM is loaded, run `modstat'.
|
||||
<tscreen>
|
||||
<verb>
|
||||
% modstat
|
||||
Type Id Off Loadaddr Size Info Rev Module Name
|
||||
EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator
|
||||
%
|
||||
</verb>
|
||||
</tscreen>
|
||||
You can cause the LKM to be loaded when the system boots in either of
|
||||
two ways. On FreeBSD-CURRENT and FreeBSD-STABLE enable it in
|
||||
/etc/sysconfig
|
||||
<tscreen>
|
||||
<verb>
|
||||
linux=YES
|
||||
</verb>
|
||||
</tscreen>
|
||||
by changing it from NO to YES. FreeBSD 2.1 RELEASE and earlier do not
|
||||
have such a line and on those you will need to edit /etc/rc.local to
|
||||
add the following line.
|
||||
<tscreen>
|
||||
<verb>
|
||||
linux
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<sect1><heading>Installing Linux Emulation in 2.2-CURRENT</heading>
|
||||
|
||||
<p>In -current it is no longer necessary to specify options "LINUX"
|
||||
or options "COMPAT_LINUX". Linux emulation is done with an LKM
|
||||
(``Loadable Kernel Module'') so it can be installed on the fly without
|
||||
having to reboot. You will need the following things in your startup files,
|
||||
however:
|
||||
<enum>
|
||||
<item> In /etc/sysconfig, you need the following line:
|
||||
<tscreen>
|
||||
<verb>
|
||||
linux=YES
|
||||
</verb>
|
||||
</tscreen>
|
||||
<item> This, in turn, triggers the following action in /etc/rc.i386:
|
||||
<tscreen>
|
||||
<verb>
|
||||
# Start the Linux binary emulation if requested.
|
||||
if [ "X${linux}" = X"YES" ]; then
|
||||
echo -n ' '; linux
|
||||
# XXX BOGUS - Linux script shouldn't make any output on success
|
||||
fi
|
||||
</verb>
|
||||
</tscreen>
|
||||
</enum>
|
||||
|
||||
<p>If you want to verify it is running, modstat will do that:
|
||||
<tscreen>
|
||||
<verb>
|
||||
% modstat
|
||||
Type Id Off Loadaddr Size Info Rev Module Name
|
||||
EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod
|
||||
%
|
||||
</verb>
|
||||
</tscreen>
|
||||
However, there have been reports that this fails on some
|
||||
FreeBSD-current systems. If for some reason you cannot load the linux
|
||||
LKM, then statically link the emulator in the kernel by adding
|
||||
<tscreen>
|
||||
<verb>
|
||||
options LINUX
|
||||
</verb>
|
||||
</tscreen>
|
||||
to your kernel config file. Then run config and install the new
|
||||
kernel as described in the <ref id="kernelconfig" name="kernel
|
||||
configuration"> section.
|
||||
|
||||
<sect1><heading>Installing Linux Runtime Libraries</heading>
|
||||
|
||||
<sect2><heading>Installing using the linux_lib port</heading>
|
||||
|
||||
<p>Most linux applications use shared libraries, so you are still not
|
||||
done until you install the shared libraries. It is possible to do
|
||||
this by hand, however, it is vastly simpler to just grab the
|
||||
linux_lib port:
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /usr/ports-current/emulators/linux_lib
|
||||
% make all install
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
and you should have a working linux emulator. Legend (and the mail
|
||||
archives :-) seems to hold that Linux emulation works best with
|
||||
linux binaries linked against the ZMAGIC libraries; QMAGIC libraries
|
||||
(such as those used in Slackware V2.0) may tend to give the
|
||||
Linuxulator heartburn. As of this writing (March 1996) ELF emulation
|
||||
is still in the formulative stages but seems to work pretty well. Also,
|
||||
expect some programs to complain about incorrect minor versions. In
|
||||
general this does not seem to be a problem.
|
||||
|
||||
<sect2><heading>Installing libraries manually</heading>
|
||||
|
||||
<p>If you don't have the ``ports'' distribution, you can install the
|
||||
libraries by hand instead. You will need the Linux shared libraries
|
||||
that the program depends on and the runtime linker. Also, you will
|
||||
need to create a "shadow root" directory, /compat/linux, for Linux
|
||||
libraries on your FreeBSD system. Any shared libraries opened by
|
||||
Linux programs run under FreeBSD will look in this tree first. So, if
|
||||
a Linux program loads, for example, /lib/libc.so, FreeBSD will first
|
||||
try to open /compat/linux/lib/libc.so, and if that does not exist then
|
||||
it will try /lib/libc.so. Shared libraries should be installed in the
|
||||
shadow tree /compat/linux/lib rather than the paths that the Linux
|
||||
ld.so reports.
|
||||
|
||||
|
||||
FreeBSD-current works slightly differently with respect to
|
||||
/compat/linux. On -current, all files, not just libraries, are
|
||||
searched for from the ``shadow root'' /compat/linux.
|
||||
|
||||
Generally, you will need to look for the shared libraries that Linux
|
||||
binaries depend on only the first few times that you install a Linux
|
||||
program on your FreeBSD system. After a while, you will have a sufficient
|
||||
set of Linux shared libraries on your system to be able to run newly
|
||||
imported Linux binaries without any extra work.
|
||||
|
||||
<sect2><heading>How to install additional shared libraries</heading>
|
||||
|
||||
<p>What if you install the linux_lib port and your application still
|
||||
complains about missing shared libraries? How do you know which
|
||||
shared libraries Linux binaries need, and where to get them?
|
||||
Basically, there are 2 possibilities (when following these
|
||||
instructions: you will need to be root on your FreeBSD system to do
|
||||
the necessary installation steps).
|
||||
|
||||
<p>If you have access to a Linux system, see what shared libraries
|
||||
it needs, and copy them to your FreeBSD system. Example: you have
|
||||
just ftp'ed the Linux binary of Doom. Put it on the Linux
|
||||
system you have access to, and check which shared libraries it
|
||||
needs by running `ldd linuxxdoom':
|
||||
|
||||
<tscreen>
|
||||
<verb>
|
||||
% ldd linuxxdoom
|
||||
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
|
||||
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
|
||||
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>You would need go get all the files from the last column, and
|
||||
put them under /compat/linux, with the names in the first column
|
||||
as symbolic links pointing to them. This means you eventually have
|
||||
these files on your FreeBSD system:
|
||||
<tscreen>
|
||||
<verb>
|
||||
/compat/linux/usr/X11/lib/libXt.so.3.1.0
|
||||
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
|
||||
/compat/linux/usr/X11/lib/libX11.so.3.1.0
|
||||
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
|
||||
/compat/linux/lib/libc.so.4.6.29
|
||||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>Note that if you already have a Linux shared library with a
|
||||
matching major revision number to the first column of the 'ldd'
|
||||
output, you will not need to copy the file named in the last column to
|
||||
your system, the one you already have should work. It is advisable to
|
||||
copy the shared library anyway if it is a newer version, though. You
|
||||
can remove the old one, as long as you make the symbolic link point to
|
||||
the new one. So, if you have these libraries on your system:
|
||||
<tscreen>
|
||||
<verb>
|
||||
/compat/linux/lib/libc.so.4.6.27
|
||||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
and you find a new binary that claims to require a later version
|
||||
according to the output of ldd:
|
||||
<tscreen>
|
||||
<verb>
|
||||
libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
If it is only one or two versions out of date in the in the trailing
|
||||
digit then do not worry about copying /lib/libc.so.4.6.29 too, because
|
||||
the program should work fine with the slightly older version.
|
||||
However, if you like you can decide to replace the libc.so anyway, and
|
||||
that should leave you with:
|
||||
<tscreen>
|
||||
<verb>
|
||||
/compat/linux/lib/libc.so.4.6.29
|
||||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>Please note that the symbolic link mechanism is <em>only</em>
|
||||
needed for Linux binaries, the FreeBSD runtime linker takes care of
|
||||
looking for matching major revision numbers itself, you do not need to
|
||||
worry about that.
|
||||
|
||||
<sect2><heading>Configuring the ld.so -- for FreeBSD-current only</heading>
|
||||
|
||||
<p>This section applies only to FreeBSD-current only. Those running
|
||||
FreeBSD-stable should skip this section.
|
||||
|
||||
<p>Finally, if you run FreeBSD-current you must make sure that you
|
||||
have the Linux runtime linker and its config files on your system. You
|
||||
should copy these files from the Linux system to their appropriate
|
||||
place on your FreeBSD system (to the /compat/linux tree):
|
||||
<tscreen>
|
||||
<verb>
|
||||
/compat/linux/lib/ld.so
|
||||
/compat/linux/etc/ld.so.config
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>If you do not have access to a Linux system, you should get the
|
||||
extra files you need from various ftp sites. Information on where to
|
||||
look for the various files is appended below. For now, let us assume
|
||||
you know where to get the files.
|
||||
|
||||
<p>
|
||||
Retrieve the following files (all from the same ftp site to avoid any
|
||||
version mismatches), and install them under /compat/linux
|
||||
(i.e. /foo/bar is installed as /compat/linux/foo/bar):
|
||||
<tscreen>
|
||||
<verb>
|
||||
/sbin/ldconfig
|
||||
/usr/bin/ldd
|
||||
/lib/libc.so.x.y.z
|
||||
/lib/ld.so
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>ldconfig and ldd do not necessarily need to be under /compat/linux,
|
||||
you can install them elsewhere in the system too. Just make sure they
|
||||
do not conflict with their FreeBSD counterparts. A good idea would be
|
||||
to install them in /usr/local/bin as ldconfig-linux and ldd-linux.
|
||||
<p>
|
||||
Create the file /compat/linux/etc/ld.so.conf, containing the
|
||||
directories in which the Linux runtime linker should look
|
||||
for shared libs. It is a plain text file, containing a directory
|
||||
name on each line. /lib and /usr/lib are standard, you could
|
||||
add the following:
|
||||
<tscreen>
|
||||
<verb>
|
||||
/usr/X11/lib
|
||||
/usr/local/lib
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>When a linux binary opens a library such as /lib/libc.so the
|
||||
emulator maps the name to /compat/linux/lib/libc.so internally. All
|
||||
linux libraries should be installed under /compat/linux (e.g.
|
||||
/compat/linux/lib/libc.so, /compat/linux/usr/X11/lib/libX11.so, etc.)
|
||||
in order for the emulator to find them.
|
||||
|
||||
<p>Those running FreeBSD-current should run the Linux ldconfig program.
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /compat/linux/lib
|
||||
% /compat/linux/sbin/ldconfig
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>Ldconfig is statically linked, so it does not need any shared
|
||||
libraries to run. It creates the file /compat/linux/etc/ld.so.cache
|
||||
which contains the names of all the shared libraries. It should rerun
|
||||
to recreate this file whenever you install additional shared
|
||||
libraries.
|
||||
|
||||
On FreeBSD-stable do not install /compat/linux/etc/ld.so.cache or run
|
||||
ldconfig becuase in FreeBSD-stable the syscalls are implemented
|
||||
differently and ldconfig is not needed or used.
|
||||
|
||||
<p>You should now be set up for Linux binaries which only need a
|
||||
shared libc. You can test this by running the Linux ldd on
|
||||
itself. Suppose that you have it installed as ldd-linux, it should
|
||||
produce something like:
|
||||
<tscreen>
|
||||
<verb>
|
||||
% ldd-linux `which ldd-linux`
|
||||
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>This being done, you are ready to install new Linux binaries.
|
||||
Whenever you install a new Linux program, you should check if it needs
|
||||
shared libraries, and if so, whether you have them installed in the
|
||||
/compat/linux tree. To do this, you run the Linux version ldd on the
|
||||
new program, and watch its output. ldd (see also the manual page for
|
||||
ldd(1)) will print a list of shared libraries that the program depends
|
||||
on, in the form majorname (jumpversion) => fullname.
|
||||
|
||||
<p>If it prints "not found" instead of fullname it means that you
|
||||
need an extra library. Which library this is, is shown in majorname,
|
||||
which will be of the form libXXXX.so.N You will need to find a
|
||||
libXXXX.so.N.mm on a Linux ftp site, and install it on your
|
||||
system. The XXXX (name) and N (major revision number) should match;
|
||||
the minor number(s) mm are less important, though it is advised to
|
||||
take the most recent version.
|
||||
|
||||
<sect1><heading>Configuring the host name resolver</heading>
|
||||
|
||||
<p>If DNS does not work or you get the messages
|
||||
<tscreen>
|
||||
<verb>
|
||||
resolv+: "bind" is an invalid keyword
|
||||
resolv+: "hosts" is an invalid keyword
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
then you need to configure a /compat/linux/etc/host.conf file
|
||||
containing:
|
||||
<tscreen>
|
||||
<verb>
|
||||
order hosts, bind
|
||||
multi on
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
where the order here specifies that /etc/hosts is searched first and
|
||||
DNS is searched second. When /compat/linux/etc/host.conf is not
|
||||
installed linux applications find FreeBSD's /etc/host.conf and
|
||||
complain about the incompatible FreeBSD syntax. You should remove
|
||||
`bind,' if you have not configured a name-server using the
|
||||
/etc/resolv.conf file.
|
||||
|
||||
<p>Lastly, those who run FreeBSD-stable need to set an the
|
||||
RESOLV_HOST_CONF environment variable so that applications will know
|
||||
how to search the host tables. If you run FreeBSD-current you can
|
||||
skip this. For the /bin/csh shell use:
|
||||
<tscreen>
|
||||
<verb>
|
||||
setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
For /bin/sh use:
|
||||
<tscreen>
|
||||
<verb>
|
||||
RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<sect1><heading>Finding the necessary files</heading>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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:
|
||||
<verb>
|
||||
sunsite.unc.edu:/pub/Linux/distributions
|
||||
tsx-11.mit.edu:/pub/linux/distributions
|
||||
</verb>
|
||||
|
||||
<p>
|
||||
Some European mirrors:
|
||||
<verb>
|
||||
ftp.luth.se:/pub/linux/distributions
|
||||
ftp.demon.co.uk:/pub/linux/distributions
|
||||
src.doc.ic.ac.uk:/packages/linux/distributions
|
||||
</verb>
|
||||
|
||||
<p>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:
|
||||
<tabular ca=ll>
|
||||
Library <colsep>Package <rowsep>
|
||||
ld.so <colsep>ldso <rowsep>
|
||||
ldconfig <colsep>ldso <rowsep>
|
||||
ldd <colsep>ldso <rowsep>
|
||||
libc.so.4 <colsep>shlibs <rowsep>
|
||||
libX11.so.6.0 <colsep>xf_lib <rowsep>
|
||||
libXt.so.6.0 <colsep>xf_lib <rowsep>
|
||||
libX11.so.3 <colsep>oldlibs <rowsep>
|
||||
libXt.so.3 <colsep>oldlibs <rowsep>
|
||||
</tabular>
|
||||
|
||||
<p>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:
|
||||
<tabular ca=ll>
|
||||
Package <colsep>Location <rowsep>
|
||||
ldso <colsep>diska2 <rowsep>
|
||||
shlibs <colsep>diska2 <rowsep>
|
||||
oldlibs <colsep>diskx6 <rowsep>
|
||||
xf_lib <colsep>diskx9 <rowsep>
|
||||
</tabular>
|
||||
|
||||
<p>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):
|
||||
<tscreen>
|
||||
<verb>
|
||||
slakware/a2/ldso.tgz
|
||||
slakware/a2/shlibs.tgz
|
||||
slakware/x6/oldlibs/tgz
|
||||
slakware/x9/xf_lib.tgz
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>Extract the files from these gzipped tarfiles in your
|
||||
/compat/linux directory (possibly omitting or afterwards
|
||||
removing files you don't need), and you are done.
|
||||
|
||||
<p><bf>See also:</bf>
|
||||
<verb>
|
||||
ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README
|
||||
|
||||
/usr/src/sys/i386/ibcs2/README.iBCS2
|
||||
</verb>
|
||||
|
||||
<sect><heading>How to Install Mathematica on FreeBSD<label id="mathematica"></heading>
|
||||
|
||||
<p><em>Contributed by &a.rich and &a.chuck</em>
|
||||
|
||||
This document shows how to install the Linux binary
|
||||
distribution of Mathematica 2.2 on FreeBSD 2.1.
|
||||
|
||||
<p>Mathematica supports Linux but not FreeBSD as it stands. So once
|
||||
you have configured your system for Linux compatibility you have most
|
||||
of what you need to run Mathematica.
|
||||
|
||||
<p>For those who already have the student edition of
|
||||
Mathematica for DOS the cost of upgrading to the Linux
|
||||
version at the time this was written, March 1996, was
|
||||
$45.00. It can be ordered directly from Wolfram at
|
||||
(217) 398-6500 and paid for by credit card.
|
||||
|
||||
<sect1><heading>Unpacking the Mathematica distribution</heading>
|
||||
<p>The binaries are currently distributed by Wolfram on CDROM.
|
||||
The CDROM has about a dozen tar files, each of which is a binary
|
||||
distribution for one of the supported architectures. The one
|
||||
for Linux is named LINUX.TAR. You can, for example, unpack this
|
||||
into /usr/local/Mathematica:
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /usr/local
|
||||
% mkdir Mathematica
|
||||
% cd Mathematica
|
||||
% tar -xvf /cdrom/LINUX.TAR
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<sect1><heading>Obtaining your Mathematica Password</heading>
|
||||
<p>Before you can run Mathematica you will have to obtain
|
||||
a password from Wolfram that corresponds to your
|
||||
`machine ID.'
|
||||
|
||||
<p>Once you have installed the linux compatibility runtime
|
||||
libraries and unpacked the mathematica you can obtain
|
||||
the `machine ID' by running the program `mathinfo' in
|
||||
the Install directory.
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /usr/local/Mathematica/Install
|
||||
% mathinfo
|
||||
LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
|
||||
richc.isdn.bcm.tmc.edu 9845-03452-90255
|
||||
%
|
||||
</verb>
|
||||
</tscreen>
|
||||
So, for example, the `machine ID' of `richc' is `9845-03452-90255'.
|
||||
You can ignore the message about the ioctl that is not
|
||||
implemented. It won't prevent Mathematica from running
|
||||
in any way and you can safely ignore it, though you
|
||||
will see the message every time you run Mathematica.
|
||||
|
||||
<p>When you register with Wolfram, either by email, phone
|
||||
or fax, you'll give them the 'machine ID' and they will
|
||||
respond with a corresponding password consisting of
|
||||
groups of numbers. You need to add them both along
|
||||
with the machine name and license number in your
|
||||
mathpass file.
|
||||
|
||||
You can do this by invoking:
|
||||
<tscreen>
|
||||
<verb>
|
||||
% cd /usr/local/Mathematica/Install
|
||||
% math.install
|
||||
</verb>
|
||||
</tscreen>
|
||||
It will ask you to enter your license number and the
|
||||
Wolfram supplied password. If you get them mixed up or
|
||||
for some reason the math.install fails, That's OK,
|
||||
because you can simply edit the file 'mathpass' in this
|
||||
same directory to correct the info manually.
|
||||
|
||||
<p>After getting past the password, math.install will ask
|
||||
you if you accept their canned install defaults, or if
|
||||
you want to use your own. If you are like us and
|
||||
distrust all install programs, you probably want to
|
||||
specify the actual directories. Beware. Although the
|
||||
math.install program asks you to specify directories,
|
||||
it won't create them for you, so you should perhaps
|
||||
have a second window open with another shell so that
|
||||
you can create them before you give them to the install
|
||||
program. Or, if it fails, you
|
||||
can create the directories and then restart the
|
||||
math.install program. The directories we chose to
|
||||
create beforehand and specify to math.install were:
|
||||
<tscreen>
|
||||
<verb>
|
||||
/usr/local/Mathematica/bin for binaries
|
||||
/usr/local/Mathematica/man/man1 for man pages
|
||||
/usr/local/Mathematica/lib/X11 for the XKeysymb file
|
||||
</verb>
|
||||
</tscreen>
|
||||
You can also tell it to use /tmp/math.record for the
|
||||
system record file, where it puts logs of sessions.
|
||||
After this math.install will continue on to
|
||||
unpacking things and placing everything where it should
|
||||
go.
|
||||
|
||||
<p>The Mathematica Notebook feature is included separately,
|
||||
as the X Front End, and you have to install it separately.
|
||||
To get the X Front End stuff correctly installed, cd
|
||||
into the /usr/local/Mathematica/FrontEnd directory and
|
||||
executed the ./xfe.install shell script. You'll have
|
||||
to tell it where to put things, but you don't have to
|
||||
create any directories because it uses all the same
|
||||
directories that had been created for math.install.
|
||||
When it finished, there should be a new shell script in
|
||||
/usr/local/Mathematica/bin called "mathematica".
|
||||
|
||||
<p>Lastly, you need to modify each of the shell scripts that
|
||||
Mathematica has installed. At the beginning of every shell script in
|
||||
/usr/local/Mathematica/bin add the following line:
|
||||
<tscreen>
|
||||
<verb>
|
||||
XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB
|
||||
</verb>
|
||||
</tscreen>
|
||||
This tells Mathematica were to find it's own version of the key
|
||||
mapping file XKeysymDB. Without this you will get pages of error
|
||||
messages about missing key mappings.
|
||||
|
||||
On FreeBSD-stable you need to add the following as well:
|
||||
<tscreen>
|
||||
<verb>
|
||||
RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
|
||||
</verb>
|
||||
</tscreen>
|
||||
This tells Mathematica to use the linux version of host.conf. This
|
||||
file has a different syntax from FreeBSD's host.conf, so you'll get an
|
||||
error message about /etc/host.conf if you leave this out.
|
||||
|
||||
<p>You might want to also modify your /etc/manpath.config file
|
||||
to read the new man directory, and you may need to edit your
|
||||
~/.cshrc file to add /usr/local/Mathematica/bin
|
||||
to your path.
|
||||
|
||||
<p>That's about all it takes, With this you should be able
|
||||
to type "mathematica" and get a really slick looking
|
||||
Mathematica Notebook screen up. Mathematica has included
|
||||
the Motif user interfaces, but it's compiled in statically,
|
||||
so you don't need the Motif libraries. Good luck doing this
|
||||
yourself!
|
||||
|
||||
<sect1><heading>Bugs</heading>
|
||||
|
||||
<p>The Notebook front end is known to hang sometimes when reading
|
||||
notebook files with an error messages similar to:
|
||||
<tscreen>
|
||||
<verb>
|
||||
File .../Untitled-1.mb appears to be broken for OMPR.257.0
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
We haven't found the cause for this, but it only affects the
|
||||
Notebook's X window front end, not the mathematica engine itself. So
|
||||
the command line interface invoked by 'math' is unaffected by this
|
||||
bug.
|
||||
|
||||
<sect1><heading>Acknowledgments</heading>
|
||||
|
||||
<p>A well-deserved thanks should go to &a.sos; and &a.peter;
|
||||
who made linux emulation what it is today, and Michael Smith who
|
||||
drove these two guys like dogs to get it to the point where it runs
|
||||
Linux binaries better than linux! :-)
|
57
handbook/lists.sgml
Normal file
57
handbook/lists.sgml
Normal file
|
@ -0,0 +1,57 @@
|
|||
<!-- $Id: lists.sgml,v 1.1 1996-05-16 23:18:06 mpp Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!--
|
||||
Names and email address of contributing authors and CVS committers
|
||||
and some of the common FreeBSD mailing lists. Use these
|
||||
entities when referencing people or mailing lists. Please
|
||||
note the use of single
|
||||
and double quotes.
|
||||
-->
|
||||
|
||||
<!ENTITY a.announce "FreeBSD announcments mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-announce@FreeBSD.ORG'
|
||||
name='<freebsd-announce@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.doc "FreeBSD documentation project mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-doc@FreeBSD.ORG'
|
||||
name='<freebsd-doc@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.bugs "FreeBSD problem reports mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-doc@FreeBSD.ORG'
|
||||
name='<freebsd-doc@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.current "FreeBSD-current mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-current@FreeBSD.ORG'
|
||||
name='<freebsd-current@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.emulation "FreeBSD-emulation mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-emulation@FreeBSD.ORG'
|
||||
name='<freebsd-emulation@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.fs "FreeBSD filesystem project mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-fs@FreeBSD.ORG'
|
||||
name='<freebsd-fs@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.hackers "FreeBSD technical discussions mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-hackers@FreeBSD.ORG'
|
||||
name='<freebsd-hackers@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.ports "FreeBSD ports mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-ports@FreeBSD.ORG'
|
||||
name='<freebsd-ports@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.questions "FreeBSD general questions mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
|
||||
name='<freebsd-questions@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.scsi "FreeBSD SCSI subsystem mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
|
||||
name='<freebsd-questions@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.stable "FreeBSD-stable mailing list
|
||||
<tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
|
||||
name='<freebsd-questions@FreeBSD.ORG>'></tt>">
|
||||
|
||||
<!ENTITY a.majordomo "<tt><htmlurl url='mailto:majordomo@FreeBSD.ORG'
|
||||
name='<majordomo@FreeBSD.ORG>'></tt>">
|
200
handbook/pgpkeys.sgml
Normal file
200
handbook/pgpkeys.sgml
Normal file
|
@ -0,0 +1,200 @@
|
|||
<!-- $Id: pgpkeys.sgml,v 1.6 1996-06-11 18:05:47 rich Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<chapt><heading>PGP keys<label id="pgpkeys"></heading>
|
||||
<p> In case you need to verify a signature or send encrypted
|
||||
email to one of the officers or core team members a
|
||||
number of keys are provided here for your convenience.
|
||||
<sect><heading>Officers</heading>
|
||||
<sect1><heading>
|
||||
FreeBSD Security Officer <security-officer@freebsd.org>
|
||||
</heading> <p>
|
||||
<tscreen><verb>
|
||||
FreeBSD Security Officer <security-officer@freebsd.org>
|
||||
Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.3i
|
||||
|
||||
mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
|
||||
h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
|
||||
Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
|
||||
tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
|
||||
ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
|
||||
tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
|
||||
PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
|
||||
3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
|
||||
QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
|
||||
nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
|
||||
3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
|
||||
/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
|
||||
5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
|
||||
9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
|
||||
sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
|
||||
BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
|
||||
0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
|
||||
ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
|
||||
ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
|
||||
v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
|
||||
lw==
|
||||
=ipyA
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
||||
|
||||
<sect><heading>Core team members</heading>
|
||||
<sect1><heading>&a.jkh</heading><p>
|
||||
|
||||
<tscreen><verb>
|
||||
Jordan K. Hubbard <jkh@FreeBSD.org>
|
||||
Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.2i
|
||||
|
||||
mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
|
||||
jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
|
||||
tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
|
||||
tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokAlQMFEDF75D1r
|
||||
WmeNgbKneQEBXtcD+gJIv8JzZRKlDZyTCQanK8iRgE+zMhxptI0kDObaGxT1BrpY
|
||||
4/EPyiUN10G4k2Jb+DOc8Lg2xDQ3xmvgipFf9NMNV/ThaEuZ3wA31I6tW/arQEqB
|
||||
Tp8u6T3v20m62t7Afo9HaoE6MBpHQUk2TilxgAd5P57sporL3pgW9YojIO9ziQCV
|
||||
AwUQMXyV2h9/qQgDWPy9AQEMfgP/RmbSg2WlesATUQ4WuanjcdREduKPyfQatrXD
|
||||
2xt+jg9X78dTyiNN1YvLqvT6msfs04MKSC0hA2mou6ozw8Xak+1QmP0fBOZKp9pP
|
||||
8szO188Do9ByzJPvHF1eXT7jFMOXVq8ZIl9iwjxcIDLzlxOz49DC7LO6AT+LKQk7
|
||||
UGeP+lqJAJUDBRAxe+UG9RVb+45ULV0BAXZ9A/9F9gLpGukVNkeOjaqxQdJGTS+a
|
||||
xh/Abk0c/nKhAEyxpAl5JyQ3ifYk6BHhPvlTi9LrZoXGA8sk/eU4eRTZVzvGEC4G
|
||||
+xsavlE/xzku8855QTLPpkCunUpQeu1wzaIrUUE6Zjh05imFbJYyQOBgTFpuqWsC
|
||||
rsUpl+2mr8IGIxG5rA==
|
||||
=LW9i
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
||||
|
||||
<sect1><heading>&a.phk</heading><p>
|
||||
|
||||
<tscreen><verb>
|
||||
Poul-Henning Kamp <phk@FreeBSD.org>
|
||||
Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.3i
|
||||
|
||||
mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
|
||||
ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
|
||||
K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
|
||||
tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDF+jX1r
|
||||
WmeNgbKneQEBCrID/i/ri8/eXUXRJp2fqJqzvrWGTP9Ix1O4vMguah9IILijgpYy
|
||||
OJYkezZKijjVCVmLX7EwfNXfYkqLAWUa08eov4QfJfJDgfe+Z/3/UoX7RcJoy2Aj
|
||||
TBZQzOI9JMkrzFdtFGYwMr/QXhOdVVpSGeZ/6Hkrs7pd2Z6MNNrRf81ZyJyYiQCV
|
||||
AwUQMXyV5/UVW/uOVC1dAQFyfAP/SujU+lS2WQuat4O2wZOQ1rswUt6CthG8MOsc
|
||||
7A9kfXnZbaM9Sdxj54CtAlqR4eJMOYk2kVqAtmCWETRuonJxr5TAJdf7q6kByVYc
|
||||
QEyDZvKJYwyrI9UQSelSgczWwiSB01aV9ACaKlEF9iHYvIKBa9HwJu3A9ggW9SYa
|
||||
AHcxHzuJAJUDBRAxSx5cH3+pCANY/L0BAY+TA/9YQPISXYaS+5r0I60wCJ+i3a9P
|
||||
C69Zak2ikgTHQi97LhpVtEsP3SAYInDw4YMS2oU9w1XxoiLLd9hUpcZlmO8Ip3vN
|
||||
F+E2ZCfR4sNzKarY5fdo+sxzatGWRPgnHjbm6RHWCw6qJACDD3VpaFjx2XD8QrOT
|
||||
yiObnbHhWBdoEAIyNokAlQMFEDE5Q6DvYbnpEdWO1QEBsvgD/0c6flBrSWr20oj8
|
||||
eRJ1zl8ZAP/rpV0IEBvb3ZFsHsJL8QzTsx1typFFghrT7SDBDc52xY90JWAflEiG
|
||||
n9aIL5Q+RHVxjw30yDaRPAl9ll82o34GBaWBEw83bsI6Fg2XxDfc2X0KkEutlYAE
|
||||
XjiM95PQS+9PM//llDtPvkSxgpiJiQCVAwUQMOavJADy2QnruxtBAQE92wQAsKPq
|
||||
/U4G4ksslOXGaauSoBk9XO3lB147cSpra1w9ZxTSeo+8dgzNlxnugWDnw1mxauFJ
|
||||
BAMgHl74rrlD+Hp0Ltb9oOyRl3riPG0TOdfaS3T8w6vw52wOKzUrZ/0pB+2sDHzU
|
||||
qZXBbhOq3OXs1ZMNe3jh8w62JsLBWry/YMWRMnI=
|
||||
=MDQ9
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
||||
|
||||
<sect1><heading>&a.joerg</heading><p>
|
||||
|
||||
<tscreen><verb>
|
||||
Joerg Wunsch <j@uriah.heep.sax.de>
|
||||
Fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.2i
|
||||
|
||||
mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
|
||||
q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
|
||||
ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
|
||||
tCJKb2VyZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5zYXguZGU+iQCVAwUQMalkbHW7
|
||||
bjh2o/exAQFwwQP+Pa82QeWpJE0m7f4DXd/DiYAvh/DeXWtub1fXQ9yqAL131n8O
|
||||
zsSLMb0PwG/qyZrpK61sT3bAvtVlNftaxmuD7yaf1SUQ3rNmsBq5/oju/3EKEiFc
|
||||
4gtuyaXG74y7y1XASIstck/0byfvO2t4z0R7d1RRnKRYeCspMcUjYshsoJeJAJUD
|
||||
BRAxpL3UPiAdBSUb0JkBAZg7BACE+mKhsrd39/P6NattCCOSg76Pf2CVgZdvbb7q
|
||||
K4SmsVGz+58pi2OWM1M0rcHgNZKTIg9rBy47gui2KOnqOR7ZuyMVJJqyEZZywmWm
|
||||
fCy/sR4Ui1PehZNNNBAi09u03ItbozrEH6Msa1oC8mp86XOA70Et8e4DYtj5a9tV
|
||||
bjjtJYkAlQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJZe5lFkPr2B/Cr7BKMVBot1/J
|
||||
Su05NsHgJZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDFe/GF0HZD/ZD1FJt8yQjzF2w3
|
||||
40B+F2GGEOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gpkFZrFgg5eON7ikqmusDnOlYS
|
||||
tM/CBfgpSbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpAaW50ZXJmYWNlLWJ1c2luZXNz
|
||||
LmRlPokAlQMFEDGpbnd1u244dqP3sQEBJnQD/RVSAzgf4uorv3fpbosI0LE3LUuf
|
||||
AYGBSJNJnskeKyudZkNkI5zGGDwVneH/cSkKT4ORooeqcTBxKeMaMuXPVl30Qahg
|
||||
NwWjfuTvl5OZ8orsQGGWIn5FhqYXsKkjEGxIOBOfvvlVQ0UbcR0N2+5F6Mb5GqrX
|
||||
ZpIesn7jFJpkQKPU
|
||||
=46Ab
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
||||
|
||||
<sect1><heading>&a.ache</heading><p>
|
||||
|
||||
<tscreen><verb>
|
||||
Andrey A. Chernov <ache@FreeBSD.org>
|
||||
Fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.3ia
|
||||
|
||||
mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
|
||||
Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
|
||||
m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
|
||||
tDJBbmRyZXkgQS4gQ2hlcm5vdiwgQmxhY2sgTWFnZSA8YWNoZUBhc3RyYWwubXNr
|
||||
LnN1PokAlQMFEDArAKOf6xq8qC/IdwEB6tUEAIncjRagPYb65jHI6WO3LCVRZRr4
|
||||
+e+Fo+Bj2qN6WXrkGjAZrFqmly2J1lPwJXW+pE8+vp0XEF+dMxR9Ex0j3wKcBFu8
|
||||
sm0kyOWqSZlk96oSjdr5izYNsjc4ai08xyw9ZR94taX0KvFnr6zX4y1HKOUv1bnp
|
||||
E5mv6LJ8wgsO30MwiQCVAwUQMCr8KGtaZ42Bsqd5AQEYoQQAqF696nxuuYRQsiiS
|
||||
Epozr2qBq2p8VCJHg0tMkHUx84UPncAdToYSteRNDcK9DCmoyzJvdJ+vmXW+cvxS
|
||||
I6T64rvHSK5R61mZXsGvPHhAzPkPzcU9YmIPh2igwBNe9Y5i6UqQi9DIibTtIt+i
|
||||
93pFQ+x7/L33zmRz0h4qyMyTmU2JAJUDBRAwGrusxS1HbQ2/kG0BAUF/A/wMcJGH
|
||||
hWmMWWDBTgxyL0pNt4QLIwplANlIpdRXlgLrG/qPMUXzw3O056LKyInyamxefn3B
|
||||
whuVUkxpYQYXdfGFlHmm3/4fTtgbEF+eclkbgdsd3YidcSP1VXRvq8ZTAphOGUdU
|
||||
5fcfjLbp/SqilaQd/VZZAgWEN4ZYDbf0yVGOK4kAlQMFEDARzJsiUZbZZm0AUQEB
|
||||
UJMD/2At2obN2TDKK4jpbd2cRjVFD0xe6yBEd4/nO5qhhuOnRJwwebFK5M2nKaC1
|
||||
+bI9bRkd278/WuL5pNQL9yhTTb62Wd/wWRRqat5gk4gAvc7MjWEPC9AHxiFDuYKA
|
||||
iI6sDkzUCADqTbCeUvpzAJEAeGJpjZSOhk29w9fM34T2ernIiQCVAgUQMA9LJeLl
|
||||
u+H7XhUZAQFrAAP/TWKgUQSm5pbUA6ciuPowQGI5FwSZgERVyiWE5Z04DhzKWaqF
|
||||
clvesZ2muTM8RIru2VpuaC9dEAyKdZK5AT9inJr30jDB2+WhggkHNvz/DZX1wLh7
|
||||
TRs2IiNFACMIvIof0tZYlX756hfbld3d5KBO1bEPTgOEKNGS9oIFvv4BGmCJAJUD
|
||||
BRAwDs+qsfyMh3t65eEBASL2A/4yK/F6qP9iOYJ3IIUnhUdNZ9LxCxSL2heHB6Hx
|
||||
s8swaWLHwPuqYBSNSDPi1Bd5G1JAGP9rkn/VORAnGjAk1gsFYCVTvqBtO+UhxDOG
|
||||
7oa87rWYjNXU8k2nqWj6U8kTFFMfWTDGCbO7G6iyHdXg8KycVD4awTb3/8NltrGB
|
||||
0mPHHYkAlQMFEDAM6oB3HZKuiXLHwQEBk8cEALYHixYtq4UjnZZaQ11MM/kkumxI
|
||||
xU1oEbFhTMvUJznKq8sOy8rhZlnop+I2rI2NN9ybDg31kD4j1TQN1BJ11YPfp/AL
|
||||
zTDzvCZEbwp9XjYNFWicvSd+vLgK4qPd2oHdmH/0ea/kBLj4yLLFZPIXXMv5bhIU
|
||||
ol1n+myzFRxANCfjiQCVAwUQMA1IvuJgpPLZnQjrAQGrQQQAhwfqrVvPNLHkQg2S
|
||||
45f209W9eOaaOtFO7umtzxAZGNDQO9rVg0LkTxfwp/9PlXRTcUFLIJK28GiVjqIt
|
||||
CkLL5Tpt0a7MSm5/brxCi8RMcih96cae+pL8/5RFsBHirwSvvOD29Zc6Rt1u7tlw
|
||||
34t1UD04t+UmTAB3OgtArf5ozZWJAJUDBRAwDKzw+8I/jbEzFDkBASXJA/4pOFrG
|
||||
c5tqjsfRcHqxqu2cHIXPiatWHjeT8ac6kn+ABu/u3RSJ/qHul9hXCM4G2GPiH5oC
|
||||
SBxFYwxx+frgF8m+peIinPPXkGsDt7fPKXxyyVm085p74M9nDK8bfeB0b4JB373K
|
||||
RhIG8pXauhAd9zrp2sxXH2RUSHF5NbH8iw72BA==
|
||||
=ekPo
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
||||
|
||||
<sect1><heading>&a.rich</heading><p>
|
||||
|
||||
<tscreen><verb>
|
||||
Rich Murphey <rich@FreeBSD.org>
|
||||
fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.2
|
||||
|
||||
mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
|
||||
FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
|
||||
wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
|
||||
tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
|
||||
vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
|
||||
Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
|
||||
/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
|
||||
=QoiM
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
</verb></tscreen>
|
208
handbook/quotas.sgml
Normal file
208
handbook/quotas.sgml
Normal file
|
@ -0,0 +1,208 @@
|
|||
<!-- This is an SGML document in the linuxdoc DTD describing
|
||||
disk quotas under FreeBSD. By Mike Pritchard, 1996.
|
||||
|
||||
$Id: quotas.sgml,v 1.3 1996-05-15 19:40:57 mpp Exp $
|
||||
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
|
||||
|
||||
<article>
|
||||
<title> Disk quotas
|
||||
<author> Mike Pritchard <tt/mpp@FreeBSD.org/
|
||||
<date> 26 February 1996, (c) 1996
|
||||
|
||||
<abstract> This document describes configuration and administration
|
||||
of disk quotas under FreeBSD. </abstract>
|
||||
|
||||
<toc>
|
||||
-->
|
||||
|
||||
<chapt><heading>Disk quotas<label id="quotas"></heading>
|
||||
|
||||
<p><em>Contributed by &a.mpp;.<newline>26 February 1996</em>
|
||||
|
||||
Quotas are an optional feature of the operating system that allow
|
||||
you to limit the amount of disk space and/or the number of files
|
||||
a user, or members of a group, may allocate on a per-file system basis.
|
||||
This is used most often on timesharing systems where it is desirable
|
||||
to limit the amount of resources any one user or group of users may
|
||||
allocate. This will prevent one user from consuming all of
|
||||
the available disk space.
|
||||
|
||||
<sect><heading>Configuring your system to enable disk quotas</heading>
|
||||
|
||||
<p>Before attempting to use disk quotas it is
|
||||
necessary to make sure that quotas are configured in your kernel.
|
||||
This is done by adding the following line to your kernel configuration file:
|
||||
<verb>
|
||||
options QUOTA
|
||||
</verb>
|
||||
The stock GENERIC kernel does not have this enabled by default, so you
|
||||
will have to configure, build and install a custom kernel in order to use
|
||||
disk quotas. Please refer to the
|
||||
<ref id="kernelconfig" name="Configuring the FreeBSD Kernel">
|
||||
section for more information on kernel configuration.
|
||||
|
||||
<p>Next you will need to enable disk quotas in <tt>/etc/sysconfig</tt>.
|
||||
This is done by changing the line:
|
||||
<verb>
|
||||
quotas=NO
|
||||
</verb>
|
||||
to:
|
||||
<verb>
|
||||
quotas=YES
|
||||
</verb>
|
||||
|
||||
<p>Finally you will need to edit <tt>/etc/fstab</tt> to enable
|
||||
disk quotas on a per-file system basis. This is where you can
|
||||
either enable user or group quotas or both for all of your file
|
||||
systems.
|
||||
|
||||
<p>To enable per-user quotas on a file system, add the
|
||||
<tt>userquota</tt> option to the options field in the
|
||||
<tt>/etc/fstab</tt> entry for the file system you want to
|
||||
to enable quotas on. For example:
|
||||
<verb>
|
||||
/dev/sd1s2g /home ufs rw,userquota 1 2
|
||||
</verb>
|
||||
|
||||
<p>Similarly, to enable group quotas, use the <tt>groupquota</tt>
|
||||
option instead of the <tt>userquota</tt> keyword. To enable both
|
||||
user and group quotas, change the entry as follows:
|
||||
<verb>
|
||||
/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
|
||||
</verb>
|
||||
|
||||
<p>By default the quota files are stored in the root directory of the file
|
||||
system with the names <tt>quota.user</tt> and <tt>quota.group</tt>
|
||||
for user and group quotas respectively. See <tt>man fstab</tt> for more
|
||||
information. Even though that man page says that you can specify an
|
||||
alternate location for the quota files, this is not recommended since
|
||||
all of the various quota utilities do not seem to handle this
|
||||
properly.
|
||||
|
||||
<p>At this point you should reboot your system with your new kernel.
|
||||
<tt>/etc/rc</tt> will automatically run the appropriate commands to
|
||||
create the initial quota files for all of quotas you enabled
|
||||
in <tt>/etc/fstab</tt>, so there is no need to manually create any
|
||||
zero length quota files.
|
||||
|
||||
<p>In the normal course of operations you should not be required
|
||||
to run the <tt>quotacheck</tt>, <tt>quotaon</tt>, or <tt>quotaoff</tt>
|
||||
commands manually. However, you may want to read their man pages
|
||||
just to be familiar with their operation.
|
||||
|
||||
<sect><heading>Setting quota limits</heading>
|
||||
|
||||
<p>Once you have configured your system to enable quotas, verify that
|
||||
they really are enabled. An easy way to do this is to run
|
||||
<tt>quota -v</tt>. You should see a one line summary of disk
|
||||
usage and current quota limits for each file system that
|
||||
quotas are enabled on.
|
||||
|
||||
<p>You are now ready to start assigning quota limits
|
||||
with the <tt>edquota</tt> command.
|
||||
|
||||
<p>You have several options on how to enforce limits on the amount of
|
||||
disk space a user or group may allocate, and how many files they may create.
|
||||
You may limit allocations based on disk space (block quotas) or
|
||||
number of files (inode quotas) or a combination of both.
|
||||
Each of these limits are further broken down into two categories: hard and
|
||||
soft limits.
|
||||
|
||||
<p>A hard limit may not be exceeded. Once a user reaches their hard
|
||||
limit they may not make any further allocations on the file system
|
||||
in question. For example, if the user has a hard limit of 500 blocks
|
||||
on a file system and is currently using 490 blocks, the user can only allocate
|
||||
an additional 10 blocks. Attempting to allocate an additional 11 blocks
|
||||
will fail.
|
||||
|
||||
<p>Soft limits on the other hand can be exceeded for a limited amount
|
||||
of time. This period of time is known as the grace period, which is
|
||||
one week by default. If a user stays over his or her soft limit longer
|
||||
than their grace period, the soft limit will turn into a hard limit
|
||||
and no further allocations will be allowed. When the user drops
|
||||
back below the soft limit, the grace period will be reset.
|
||||
|
||||
<p>The following is an example of what you might see when
|
||||
you run then <tt>edquota</tt> command. When the <tt>edquota</tt>
|
||||
command is invoked, you are placed into the editor specified by the
|
||||
<tt>EDITOR</tt> environment variable, or in the <tt>vi</tt> editor
|
||||
if the <tt>EDITOR</tt> variable is not set, to
|
||||
allow you to edit the quota limits.
|
||||
<verb>
|
||||
# edquota -u test
|
||||
Quotas for user test:
|
||||
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
|
||||
inodes in use: 7, limits (soft = 50, hard = 60)
|
||||
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
|
||||
inodes in use: 0, limits (soft = 50, hard = 60)
|
||||
</verb>
|
||||
You will normally see two lines for each file system that has
|
||||
quotas enabled. One line for the block limits, and one line
|
||||
for inode limits. Simply change the value you want updated
|
||||
to modify the quota limit. For example, to raise this users
|
||||
block limit from a soft limit of 50 and a hard limit of 75
|
||||
to a soft limit of 500 and a hard limit of 600, change:
|
||||
<verb>
|
||||
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
|
||||
</verb>
|
||||
to:
|
||||
<verb>
|
||||
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
|
||||
</verb>
|
||||
The new quota limits will be in place when you exit the editor.
|
||||
|
||||
<p>Sometimes it is desirable to set quota limits on a range
|
||||
of uids. This can be done by use of the <tt>-p</tt> option
|
||||
on the <tt>edquota</tt> command. First, assign the desired
|
||||
quota limit to a user, and then run
|
||||
<tt>edquota -p protouser startuid-enduid</tt>.
|
||||
For example, if user <tt>test</tt> has the desired quota
|
||||
limits, the following command can be used to duplicate
|
||||
those quota limits for uids 10,000 through 19,999:
|
||||
<verb>
|
||||
edquota -p test 10000-19999
|
||||
</verb>
|
||||
|
||||
<p>The ability to specify uid ranges was added to the system
|
||||
after 2.1 was released. If you need this feature on a 2.1
|
||||
system, you will need to obtain a newer copy of edquota.
|
||||
|
||||
<p>See <tt>man edquota</tt> for more detailed information.
|
||||
|
||||
<sect><heading>Checking quota limits and disk usage</heading>
|
||||
|
||||
<p>You can use either the <tt>quota</tt> or the <tt>repquota</tt>
|
||||
commands to check quota limits and disk usage. The <tt>quota</tt>
|
||||
command can be used to check individual user and group quotas and
|
||||
disk usage. Only the super-user may examine quotas and usage for
|
||||
other users, or for groups that they are not a member of.
|
||||
The <tt>repquota</tt> command can be used to get a summary of all
|
||||
quotas and disk usage for file systems with quotas enabled.
|
||||
|
||||
<p>The following is some sample output from the <tt>quota -v</tt>
|
||||
command for a user that has quota limits on two file systems.
|
||||
|
||||
<verb>
|
||||
Disk quotas for user test (uid 1002):
|
||||
Filesystem blocks quota limit grace files quota limit grace
|
||||
/usr 65* 50 75 5days 7 50 60
|
||||
/usr/var 0 50 75 0 50 60
|
||||
</verb>
|
||||
On the /usr file system in the above example this user is
|
||||
currently 15 blocks over their soft limit of 50 blocks and has 5 days of
|
||||
their grace period left. Note the asterisk (*) which indicates that
|
||||
the user is currently over their quota limit.
|
||||
|
||||
<p>Normally file systems that the user is not using any disk space
|
||||
on will not show up in the output from the <tt>quota</tt> command,
|
||||
even if they have a quota limit assigned for that file system.
|
||||
The <tt>-v</tt> option will display those file systems, such as
|
||||
the <tt>/usr/var</tt> file system in the above example.
|
||||
|
||||
<sect><heading>* Quotas over NFS</heading>
|
||||
|
||||
<p>This section is still under development.
|
||||
|
207
handbook/sio.sgml
Normal file
207
handbook/sio.sgml
Normal file
|
@ -0,0 +1,207 @@
|
|||
<!-- $Id: sio.sgml,v 1.2 1996-03-26 23:22:03 mpp Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!--
|
||||
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
|
||||
|
||||
<!ENTITY % authors SYSTEM "authors.sgml">
|
||||
%authors;
|
||||
|
||||
]>
|
||||
-->
|
||||
<sect2><heading>Configuring the <tt>sio</tt> driver<label id="sio"></heading>
|
||||
|
||||
<p>The <tt>sio</tt> driver provides support for NS8250-,
|
||||
NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT
|
||||
V.24) communications interfaces. Several multiport
|
||||
cards are supported as well. See the <tt>sio(4)</tt>
|
||||
manual page for detailed technical documentation.
|
||||
|
||||
<sect3><heading>Digi International (DigiBoard) PC/8</heading>
|
||||
|
||||
<p><em>Contributed by &a.awebster;.<newline>26 August
|
||||
1995.</em>
|
||||
|
||||
Here is a config snippet from a machine with
|
||||
a Digi International PC/8 with 16550. It has 8 modems connected
|
||||
to these 8 lines, and they work just great. Do not
|
||||
forget to add <tt>options "COM_MULTIPORT"</tt> or it
|
||||
will not work very well!
|
||||
|
||||
<tscreen><verb>
|
||||
device sio4 at isa? port 0x100 tty flags 0xb05
|
||||
device sio5 at isa? port 0x108 tty flags 0xb05
|
||||
device sio6 at isa? port 0x110 tty flags 0xb05
|
||||
device sio7 at isa? port 0x118 tty flags 0xb05
|
||||
device sio8 at isa? port 0x120 tty flags 0xb05
|
||||
device sio9 at isa? port 0x128 tty flags 0xb05
|
||||
device sio10 at isa? port 0x130 tty flags 0xb05
|
||||
device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
|
||||
</verb></tscreen>
|
||||
|
||||
The trick in setting this up is that the MSB of the
|
||||
flags represent the last SIO port, in this case 11 so
|
||||
flags are 0xb05.
|
||||
|
||||
<sect3><heading>Boca 16</heading>
|
||||
|
||||
<p><em>Contributed by &a.whiteside;.<newline>26 August
|
||||
1995.</em>
|
||||
|
||||
The procedures to make a Boca 16 pord board with
|
||||
FreeBSD are pretty straightforward, but you will need
|
||||
a couple things to make it work:
|
||||
|
||||
<enum>
|
||||
<item>You either need the kernel sources installed
|
||||
so you can recompile the necessary options or
|
||||
you will need someone else to compile it for you.
|
||||
The 2.0.5 default kernel does <bf>not</bf> come with
|
||||
multiport support enabled and you will need to add
|
||||
a device entry for each port anyways.
|
||||
</item>
|
||||
<item>Two, you will need to know the interrupt and IO
|
||||
setting for your Boca Board so you can set these
|
||||
options properly in the kernel.</item>
|
||||
</enum>
|
||||
|
||||
One important note - the actual UART chips for the
|
||||
Boca 16 are in the connector box, not on the internal
|
||||
board itself. So if you have it unplugged, probes of
|
||||
those ports will fail. I have never tested booting with
|
||||
the box unplugged and plugging it back in, and I
|
||||
suggest you do not either.
|
||||
|
||||
If you do not already have a custom kernel
|
||||
configuration file set up, refer to <ref
|
||||
id="kernelconfig" name="Kernel Configuration"> for
|
||||
general procedures. The following are the specifics
|
||||
for the Boca 16 board and assume you are using the
|
||||
kernel name MYKERNEL and editing with vi.
|
||||
|
||||
<enum>
|
||||
<item>Add the line
|
||||
<tscreen><verb>
|
||||
options "COM_MULTIPORT"
|
||||
</verb></tscreen>
|
||||
to the config file.
|
||||
</item>
|
||||
|
||||
<item>Where the current <tt>device sio
|
||||
<em>xxx</em></tt> lines are, you will need to add
|
||||
16 more devices. <em>Only the last device
|
||||
includes the interrupt vector for the
|
||||
board</em>. (See the <tt>sio(4)</tt> manual page
|
||||
for detail as to why.)
|
||||
|
||||
The following example is for a Boca Board with an
|
||||
interrupt of 3, and a base IO address 100h. The
|
||||
IO address for Each port is +8 hexadecimal from
|
||||
the previous port, thus the 100h, 108h, 110h...
|
||||
addresses.
|
||||
|
||||
<tscreen><verb>
|
||||
device sio1 at isa? port 0x100 tty flags 0x1005
|
||||
device sio2 at isa? port 0x108 tty flags 0x1005
|
||||
device sio3 at isa? port 0x110 tty flags 0x1005
|
||||
device sio4 at isa? port 0x118 tty flags 0x1005
|
||||
[...]
|
||||
device sio15 at isa? port 0x170 tty flags 0x1005
|
||||
device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
|
||||
</verb></tscreen>
|
||||
|
||||
The flags entry <em>must</em> be changed from
|
||||
this example unless you are using the exact same
|
||||
sio assignments. Flags are set according to
|
||||
0x<em>MYY</em> where <em>M</em> indicates the
|
||||
minor number of the master port (the last port on
|
||||
a Boca 16) and <em>YY</em> indicates if FIFO is
|
||||
enabled or disabled(enabled), IRQ sharing is
|
||||
used(yes) and if there is an AST/4 compatible IRQ
|
||||
control register(no).
|
||||
|
||||
In this example,
|
||||
<tscreen><verb>
|
||||
flags 0x1005
|
||||
</verb></tscreen>
|
||||
|
||||
indicates that the master port is sio16. If I
|
||||
added another board and assigned sio17 through
|
||||
sio28, the flags for all 16 ports on
|
||||
<em>that</em> board would be 0x1C05, where 1C
|
||||
indicates the minor number of the master port.
|
||||
Do not change the 05 setting.</item>
|
||||
|
||||
<item>Save and complete the kernel configuration,
|
||||
recompile, install and reboot.
|
||||
|
||||
Presuming you have successfully installed the
|
||||
recompiled kernel and have it set to the correct
|
||||
address and IRQ, your boot message should
|
||||
indicate the successful probe of the Boca ports
|
||||
as follows: (obviously the sio numbers, IO and
|
||||
IRQ could be different)
|
||||
|
||||
<tscreen><verb>
|
||||
sio1 at 0x100-0x107 flags 0x1005 on isa
|
||||
sio1: type 16550A (multiport)
|
||||
sio2 at 0x108-0x10f flags 0x1005 on isa
|
||||
sio2: type 16550A (multiport)
|
||||
sio3 at 0x110-0x117 flags 0x1005 on isa
|
||||
sio3: type 16550A (multiport)
|
||||
sio4 at 0x118-0x11f flags 0x1005 on isa
|
||||
sio4: type 16550A (multiport)
|
||||
sio5 at 0x120-0x127 flags 0x1005 on isa
|
||||
sio5: type 16550A (multiport)
|
||||
sio6 at 0x128-0x12f flags 0x1005 on isa
|
||||
sio6: type 16550A (multiport)
|
||||
sio7 at 0x130-0x137 flags 0x1005 on isa
|
||||
sio7: type 16550A (multiport)
|
||||
sio8 at 0x138-0x13f flags 0x1005 on isa
|
||||
sio8: type 16550A (multiport)
|
||||
sio9 at 0x140-0x147 flags 0x1005 on isa
|
||||
sio9: type 16550A (multiport)
|
||||
sio10 at 0x148-0x14f flags 0x1005 on isa
|
||||
sio10: type 16550A (multiport)
|
||||
sio11 at 0x150-0x157 flags 0x1005 on isa
|
||||
sio11: type 16550A (multiport)
|
||||
sio12 at 0x158-0x15f flags 0x1005 on isa
|
||||
sio12: type 16550A (multiport)
|
||||
sio13 at 0x160-0x167 flags 0x1005 on isa
|
||||
sio13: type 16550A (multiport)
|
||||
sio14 at 0x168-0x16f flags 0x1005 on isa
|
||||
sio14: type 16550A (multiport)
|
||||
sio15 at 0x170-0x177 flags 0x1005 on isa
|
||||
sio15: type 16550A (multiport)
|
||||
sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
|
||||
sio16: type 16550A (multiport master)
|
||||
</verb></tscreen>
|
||||
|
||||
If the messages go by too fast to see, <tt>dmesg
|
||||
> more</tt> will show you the boot
|
||||
messages.</item>
|
||||
|
||||
<item>Next, appropriate entries in <tt>/dev</tt> for the devices
|
||||
must be made using the <tt>/dev/MAKEDEV</tt>
|
||||
script. After becoming root:
|
||||
<tscreen>
|
||||
# cd /dev<newline>
|
||||
# ./MAKEDEV tty1<newline>
|
||||
# ./MAKEDEV cua1<newline>
|
||||
<em>(everything in between)</em><newline>
|
||||
# ./MAKEDEV ttyg<newline>
|
||||
# ./MAKEDEV cuag
|
||||
</tscreen>
|
||||
|
||||
If you do not want or need callout devices for some
|
||||
reason, you can dispense with making the <tt>cua*</tt>
|
||||
devices.</item>
|
||||
|
||||
<item>If you want a quick and sloppy way to make
|
||||
sure the devices are working, you can simply plug
|
||||
a modem into each port and (as root) <tt>echo at
|
||||
> ttyd*</tt> for each device you have
|
||||
made. You <em>should</em> see the RX lights flash
|
||||
for each working port.</item>
|
||||
</enum>
|
||||
|
108
handbook/stable.sgml
Normal file
108
handbook/stable.sgml
Normal file
|
@ -0,0 +1,108 @@
|
|||
<!-- $Id: stable.sgml,v 1.2 1996-05-16 23:18:19 mpp Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
|
||||
<chapt><heading>Staying stable with FreeBSD<label id="stable"></heading>
|
||||
|
||||
<p><em>Contributed by &a.jkh;.</em>
|
||||
|
||||
<!--
|
||||
|
||||
THE FREEBSD STABLE POLICY
|
||||
|
||||
Last updated: $Date: 1996-05-16 23:18:19 $
|
||||
|
||||
This document attempts to explain the rationale behind
|
||||
FreeBSD-stable, what you should expect should you decide to run it,
|
||||
and states some prerequisites for making sure the process goes as
|
||||
smoothly as possible.
|
||||
-->
|
||||
|
||||
<sect><heading>What is FreeBSD-stable?</heading>
|
||||
|
||||
<p>FreeBSD-stable is our development branch for a more low-key and
|
||||
conservative set of changes intended for our next mainstream release.
|
||||
Changes of an experimental or untested nature do not go into this
|
||||
branch (see <ref id="current" name="FreeBSD-current">).
|
||||
|
||||
<sect><heading>Who needs FreeBSD-stable?</heading>
|
||||
|
||||
<p>If you are a commercial user or someone who puts maximum stability of
|
||||
their FreeBSD system before all other concerns, you should consider tracking
|
||||
<em>stable</em>. This is especially true if you have installed the most
|
||||
recent release (<htmlurl url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.0-RELEASE"
|
||||
name="2.1.0-RELEASE"> at the time of this writing) since the <em>stable</em>
|
||||
branch is effectively a bug-fix stream relative to the previous release.
|
||||
|
||||
<p>Please note that the <em>stable</em> tree endevors, above all, to
|
||||
be fully compilable and stable at all times, but we do occasionally
|
||||
make mistakes (these are still active sources with quickly-transmitted
|
||||
updates, after all). We also do our best to thoroughly test fixes in
|
||||
<em>current</em> before bringing them into <em>stable</em>, but sometimes
|
||||
our tests fail to catch every case. If something breaks for you in
|
||||
<em>stable</em>, please let us know <em>immediately!</em> (see
|
||||
next section).
|
||||
|
||||
<sect><heading>Using FreeBSD-stable</heading>
|
||||
|
||||
<p><enum><item> Join the freebsd-stable mailing list. This will
|
||||
keep you informed of build-dependencies that may appear in
|
||||
<em>stable</em> or any other issues requring special attention.
|
||||
Developers will also make announcements in this mailing list when
|
||||
they are contemplating some contraversal fix or update, giving
|
||||
the users a chance to respond if they have any issues to raise concerning
|
||||
the proposed change.
|
||||
|
||||
To join this list, send mail to &a.majordomo and say:
|
||||
<verb>
|
||||
subscribe freebsd-stable
|
||||
</verb>
|
||||
In the body of your message. Optionally, you can also say `help'
|
||||
and Majordomo will send you full help on how to subscribe and
|
||||
unsubscribe to the various other mailing lists we support.
|
||||
|
||||
<item> Grab the sources from ftp.FreeBSD.ORG. You can do this in
|
||||
three ways:
|
||||
|
||||
<enum>
|
||||
<item> Using the CTM facility described below. Unless you
|
||||
have a good TCP/IP connection at a flat rate, this is
|
||||
the way to do it.
|
||||
|
||||
<item> Use the CMU `sup' program (Software Update
|
||||
Protocol), also described below.
|
||||
This is the second most recommended method, since it allows
|
||||
you to grab the entire collection once and then only what has
|
||||
changed from then on. Many people run sup from cron
|
||||
and keep their sources up-to-date automatically.
|
||||
|
||||
<item> Use ftp. The source tree for FreeBSD-stable is always
|
||||
"exported" on:
|
||||
<htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable"
|
||||
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">
|
||||
|
||||
<p>We also use `wu-ftpd' which allows compressed/tar'd grabbing
|
||||
of whole trees. e.g. you see:
|
||||
<verb>
|
||||
usr.bin/lex
|
||||
</verb>
|
||||
You can do:
|
||||
<verb>
|
||||
ftp> cd usr.bin
|
||||
ftp> get lex.tar.Z
|
||||
</verb>
|
||||
And it will get the whole directory for you as a compressed
|
||||
tar file.
|
||||
</enum>
|
||||
|
||||
<item> Essentially, if you need rapid on-demand access to the source and
|
||||
communications bandwidth is not a consideration, use sup or ftp.
|
||||
Otherwise, use CTM.
|
||||
|
||||
<item> Before compiling stable, read the Makefile in /usr/src
|
||||
carefully. You should at least run a `make world' the first time
|
||||
through as part of the upgrading process.
|
||||
Reading freebsd-stable will keep you up-to-date on other bootstrapping
|
||||
procedures that sometimes become necessary as we move towards the next
|
||||
release.
|
||||
</enum>
|
21
handbook/synching.sgml
Normal file
21
handbook/synching.sgml
Normal file
|
@ -0,0 +1,21 @@
|
|||
<!-- $Id: synching.sgml,v 1.1 1996-02-11 00:16:20 jkh Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<chapt><heading>Synchronizing source trees over the Internet<label id="synching"></heading>
|
||||
|
||||
<p><em>Contributed by &a.jkh;.</em>
|
||||
|
||||
<!--
|
||||
|
||||
Last updated: $Date: 1996-02-11 00:16:20 $
|
||||
|
||||
This document tries to describe the various ways in which a user may
|
||||
use the internet to keep development sources in synch.
|
||||
-->
|
||||
|
||||
<p>There are various ways of using an Internet (or email) connection
|
||||
to stay up-to-date with whatever collection of FreeBSD project sources
|
||||
it is that interests you. The primary services we offer are:
|
||||
|
||||
⊃
|
||||
&ctm;
|
1108
handbook/uart.sgml
Normal file
1108
handbook/uart.sgml
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue