This commit is contained in:
Gabor Kovesdan 2013-07-03 10:43:17 +00:00
commit fc03eb5c00
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/projects/db5/; revision=42131
227 changed files with 36363 additions and 17247 deletions
de_DE.ISO8859-1
htdocs/releases
share/xml
el_GR.ISO8859-7/share/xml
en_US.ISO8859-1
articles
books
fdp-primer
Makefilebook.xmlchapters.ent
docbook-markup
overview
the-website
writing-style
xhtml-markup
xml-primer
handbook
porters-handbook
htdocs

View file

@ -14,7 +14,7 @@ DOCS?= index.xml
SUBDIR= 4.6.2R 4.7R 4.8R 4.9R 4.11R
SUBDIR+= 5.0R 5.1R 5.2R 5.3R
.if defined $(NEW_BUILD)
.if defined(NEW_BUILD)
SUBDIR=
.endif

View file

@ -4,7 +4,7 @@
<!--
$FreeBSD$
$FreeBSDde$
basiert auf: r41693
basiert auf: r41837
-->
<!-- Simple schema for FreeBSD Project news.
@ -38,9 +38,31 @@
<year>
<name>2013</name>
<month>
<name>6</name>
<day>
<name>4</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a> (doc, ports, src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:crees@FreeBSD.org">Chris Rees</a> (doc, ports)</p>
</event>
</day>
<day>
<name>14</name>
@ -1281,7 +1303,7 @@
<event>
<p>Neuer Committer: <a
href="mailto:rm@FreeBSD.org">Ruslan Mahmatkhanov</a> (ports)</p>
href="mailto:rm@FreeBSD.org">Ruslan Makhmatkhanov</a> (ports)</p>
</event>
</day>

View file

@ -369,7 +369,7 @@ Coverity, Inc.</para>">
ένα από τα σύμβολα: <quote>&trade;</quote> ή <quote>&reg;</quote>.</para>">
<!ENTITY legalnotice '
<legalnotice xmlns="http://docbook.org/ns/docbook">
<legalnotice xmlns="http://docbook.org/ns/docbook" xml:id="legalnotice">>
<para>Η διανομή και χρήση σε μορφή πηγαίου κώδικα (SGML DocBook) ή
σε "μεταγλωττισμένη" μορφή (SGML, HTML, PDF, PostScript, RTF κοκ)
με ή χωρίς αλλαγές, επιτρέπεται εφόσον οι παρακάτω προϋποθέσεις

File diff suppressed because it is too large Load diff

View file

@ -6191,11 +6191,6 @@
<email>markd@grizzly.com</email></para>
</listitem>
<listitem>
<para>Mark Felder
<email>feld@feld.me</email></para>
</listitem>
<listitem>
<para>Mark Foster
<email>mark@foster.cc</email></para>
@ -7838,6 +7833,11 @@
<email>olmi@rentech.ru</email></para>
</listitem>
<listitem>
<para>Oleg Moskalenko
<email>mom040267@gmail.com</email></para>
</listitem>
<listitem>
<para>Oleg R. Muhutdinov
<email>mor@whiteluna.com</email></para>
@ -10572,11 +10572,6 @@
<email>vt@bsd-fr.org</email></para>
</listitem>
<listitem>
<para>Veniamin Gvozdikov
<email>g.veniamin@googlemail.com</email></para>
</listitem>
<listitem>
<para>Vernon J. Schryver
<email>vjs@mica.denver.sgi.com</email></para>

View file

@ -403,6 +403,10 @@
<para>&a.scf;</para>
</listitem>
<listitem>
<para>&a.feld;</para>
</listitem>
<listitem>
<para>&a.green;</para>
</listitem>
@ -511,6 +515,10 @@
<para>&a.mjg;</para>
</listitem>
<listitem>
<para>&a.vg;</para>
</listitem>
<listitem>
<para>&a.jhale;</para>
</listitem>

View file

@ -62,7 +62,7 @@
</author>
</authorgroup>
<legalnotice>
<legalnotice id="pam-legalnotice">
<para>This article was written for the FreeBSD Project by
ThinkSec AS and Network Associates Laboratories, the Security
Research Division of Network Associates, Inc. under

View file

@ -47,7 +47,7 @@
<abstract>
<para>
<warning>
<para>2013/02/26: This document is outdated and does not
<para>2013/02/26: This document is partially outdated and does not
accurately describe the current release procedures of the
&os; Release Engineering team. The &os; Release
Engineering team is currently reviewing this document and
@ -85,39 +85,38 @@
formal source code management provides. This has been a huge help
in attracting more talented developers to &os;. However, I
think everyone would agree that chaos would soon manifest if write
access was opened up to everyone on the Internet. Therefore only
a <quote>select</quote> group of nearly 300 people are given write
access to the Subversion repository. These
access to the main repository was opened up to everyone on the Internet.
Therefore only a <quote>select</quote> group of nearly 300 people are
given write access to the Subversion repository. These
<ulink url="&url.articles.contributors;/article.html#staff-committers">committers</ulink>
<footnote>
<simpara>
<ulink url="&url.articles.contributors;/article.html#staff-committers">FreeBSD committers</ulink>
</simpara>
</footnote>
are responsible for the bulk of &os; development. An elected
are usually the people who do the bulk of &os; development. An elected
<ulink url="&url.base;/administration.html#t-core">Core Team</ulink>
<footnote>
<simpara>
<ulink url="&url.base;/administration.html#t-core">&os; Core Team</ulink>
</simpara>
</footnote>
of very senior developers provides some level of direction over
the project.</para>
of developers provide some level of direction over the project.</para>
<para>The rapid pace of <systemitem
class="osname">&os;</systemitem> development leaves little time
for polishing the development system into a production quality
release. To solve this dilemma, development continues on two
parallel tracks. The main development branch is the
<emphasis>HEAD</emphasis> or <emphasis>trunk</emphasis> of our Subversion
tree, known as <quote>&os;-CURRENT</quote> or
<para>The rapid pace of <systemitem class="osname">&os;</systemitem>
development makes the main development branch unsuitable for the
everyday use by the general public. In particular, stabilizing
efforts are required for polishing the development system into a
production quality release. To solve this conflict, development
continues on several parallel tracks. The main development branch
is the <emphasis>HEAD</emphasis> or <emphasis>trunk</emphasis> of
our Subversion tree, known as <quote>&os;-CURRENT</quote> or
<quote>-CURRENT</quote> for short.</para>
<para>A more stable branch is maintained, known as
<para>A set of more stable branches are maintained, known as
<quote>&os;-STABLE</quote> or <quote>-STABLE</quote> for short.
Both branches live in a master Subversion repository on a machine
maintained by the &os; Project.
&os;-CURRENT is the <quote>bleeding-edge</quote> of
All branches live in a master Subversion repository maintained by the
&os; Project. &os;-CURRENT is the <quote>bleeding-edge</quote> of
&os; development where all new changes first enter the system.
&os;-STABLE is the development branch from which major releases
are made. Changes go into this branch at a different pace, and
@ -125,6 +124,17 @@
&os;-CURRENT and have been thoroughly tested by our user
community.</para>
<para>The term <emphasis>stable</emphasis> in the name of the branch
refers to the presumed Application Binary Interface stability,
which is promised by the project. This means that a user
application compiled on an older version of the system from the
same branch works on a newer system from the same branch. The
ABI stability has improved greatly from the compared to previous
releases. In most cases, binaries from the older
<emphasis>STABLE</emphasis> systems run unmodified on newer systems,
including <emphasis>HEAD</emphasis>, assuming that the system
management interfaces are not used.</para>
<para>In the interim period between releases, monthly snapshots are
built automatically by the &os; Project build machines and made
available for download from <systemitem
@ -222,24 +232,34 @@
<para>New releases of &os; are released from the -STABLE branch
at approximately four month intervals. The &os; release
process begins to ramp up 45 days before the anticipated release
process begins to ramp up 70-80 days before the anticipated release
date when the release engineer sends an email to the development
mailing lists to remind developers that they only have 15 days to
integrate new changes before the code freeze. During this time,
many developers perform what have become known as <quote>MFC
sweeps</quote>. <acronym>MFC</acronym> stands for <quote>Merge
From CURRENT</quote> and it describes the process of merging a
tested change from our -CURRENT development branch to our -STABLE
branch.</para>
sweeps</quote>.</para>
<para><acronym>MFC</acronym> stands for <quote>Merge From
CURRENT</quote> and it describes the process of merging a tested
change from our -CURRENT development branch to our -STABLE branch.
Project policy requires any change to be first applied to
trunk, and merged to the -STABLE branches after sufficient
external testing was done by -CURRENT users (developers are
expected to extensively test the change before committing to
-CURRENT, but it is impossible for a person to exercise all usages
of the general-purpose operating system). Minimal MFC period is 3
days, which is typically used only for trivial or critical
bugfixes.</para>
<sect2>
<title>Code Review</title>
<para>Thirty days before the anticipated release, the source
repository enters a <quote>code slush</quote>. During this
<para>Sixty days before the anticipated release, the source
repository enters a <quote>code freeze</quote>. During this
time, all commits to the -STABLE branch must be approved by the
&a.re;. The kinds of changes that are allowed during this 15 day
period include:</para>
&a.re;, the approval process is technically enforced by the
pre-commit hook. The kinds of changes that are allowed during
this period include:</para>
<itemizedlist>
<listitem>
@ -259,31 +279,42 @@
IDs.</para>
</listitem>
<listitem>
<para>Driver updates from the vendors.</para>
</listitem>
<listitem>
<para>Any additional change that the release engineering team feels
is justified, given the potential risk.</para>
</listitem>
</itemizedlist>
<para>After the first 15 days of the code slush, a
<emphasis>release candidate</emphasis> is released for
widespread testing and the code enters a <quote>code
freeze</quote> where it becomes much harder to justify new
changes to the system unless a serious bug-fix or security issue
is involved. During the code freeze, at least one release
candidate is released per week, until the final release is
ready. During the days leading to the final release, the
release engineering team is in constant communication with the
security-officer team, the documentation maintainers, and the
port maintainers, to ensure that all of the
<para>Shortly after the code freeze is started, a
<emphasis>BETA1</emphasis> image is built and released for
widespread testing. During the code freeze, at least one beta
image or release candidate is released every two weeks until the
final release is ready. During the days preceeding the final
release, the release engineering team is in constant
communication with the security-officer team, the documentation
maintainers, and the port maintainers to ensure that all of the
different components required for a successful release are
available.</para>
<para>After the quality of the BETA images is satisfying enough,
and no large and potentially risky changes are planned, the
release branch is created and <emphasis>Release
Candidate</emphasis> (RC) images are built from the release
branch, instead of the BETA images from the STABLE branch.
Also, the freeze on the STABLE branch is lifted and release
branch enters a <quote>hard code freeze</quote> where it becomes
much harder to justify new changes to the system unless a
serious bug-fix or security issue is involved.</para>
</sect2>
<sect2>
<title>Final Release Checklist</title>
<para>When several release candidates have been made available for
<para>When several BETA images have been made available for
widespread testing and all major issues have been resolved, the
final release <quote>polishing</quote> can begin.</para>
@ -315,10 +346,10 @@
<screen>&prompt.root; <userinput>svn co $FSVN/releng/9.2 src</userinput></screen>
<note>
<para>Creating <literal>releng</literal> branch and <literal>release</literal>
tags are restricted to
<ulink url="&url.base;/administration.html#t-subversion">Subversion administrators</ulink>
and the <ulink url="&url.base;/administration.html#t-re">Release Engineering Team</ulink>.
<para>Creating the <literal>releng</literal> branch and
<literal>release</literal> tags is done by the <ulink
url="&url.base;/administration.html#t-re">Release
Engineering Team</ulink>.
</para>
</note>

View file

@ -1628,7 +1628,7 @@
</row>
<row>
<entry colname="col2" spanname="2to5">Together these
<entry spanname="2to5">Together these
bits specify the number of bits in each data
word.</entry>
</row>
@ -1636,35 +1636,35 @@
<row>
<entry colname="col2">1</entry>
<entry colname="col3">0</entry>
<entry colname="col4" spanname="4to5">Word
<entry spanname="4to5">Word
Length</entry>
</row>
<row>
<entry colname="col2">0</entry>
<entry colname="col3">0</entry>
<entry colname="col4" spanname="4to5">5 Data
<entry spanname="4to5">5 Data
Bits</entry>
</row>
<row>
<entry colname="col2">0</entry>
<entry colname="col3">1</entry>
<entry colname="col4" spanname="4to5">6 Data
<entry spanname="4to5">6 Data
Bits</entry>
</row>
<row>
<entry colname="col2">1</entry>
<entry colname="col3">0</entry>
<entry colname="col4" spanname="4to5">7 Data
<entry spanname="4to5">7 Data
Bits</entry>
</row>
<row>
<entry colname="col2">1</entry>
<entry colname="col3">1</entry>
<entry colname="col4" spanname="4to5">8 Data
<entry spanname="4to5">8 Data
Bits</entry>
</row>
</tbody>

View file

@ -52,7 +52,7 @@
with peoples names, since I will invariably get it wrong.</para>
</abstract>
<legalnotice>
<legalnotice id="legalnotice">
<para>This article was originally published in the January 2000 issue of
<ulink url="http://www.daemonnews.org/">DaemonNews</ulink>. This
version of the article may include updates from Matt and other authors

View file

@ -23,8 +23,9 @@ SRCS= book.xml
SRCS+= overview/chapter.xml
SRCS+= psgml-mode/chapter.xml
SRCS+= see-also/chapter.xml
SRCS+= sgml-markup/chapter.xml
SRCS+= sgml-primer/chapter.xml
SRCS+= xhtml-markup/chapter.xml
SRCS+= docbook-markup/chapter.xml
SRCS+= xml-primer/chapter.xml
SRCS+= stylesheets/chapter.xml
SRCS+= structure/chapter.xml
SRCS+= doc-build/chapter.xml

View file

@ -57,6 +57,10 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<year>2013</year>
<holder role="mailto:doceng@FreeBSD.org">DocEng</holder>
</copyright>
@ -68,17 +72,17 @@
<abstract>
<para>Thank you for becoming a part of the FreeBSD Documentation
Project. Your contribution is extremely valuable.</para>
Project. Your contribution is extremely valuable, and we
appreciate it.</para>
<para>This primer covers everything you will need to know in
order to start contributing to the FreeBSD Documentation
Project, from the tools and software you will be using (both
mandatory and recommended) to the philosophy behind the
<para>This primer covers details needed
to start contributing to the FreeBSD Documentation
Project, or <acronym>FDP</acronym>, including tools, software,
and the philosophy behind the
Documentation Project.</para>
<para>This document is a work in progress, and is not complete.
Sections that are known to be incomplete are indicated with a
<literal>*</literal> in their name.</para>
<para>This is a work in progress. Corrections and
additions are always welcome.</para>
</abstract>
</bookinfo>
@ -88,10 +92,9 @@
<sect1 id="preface-prompts">
<title>Shell Prompts</title>
<para>The following table shows the default system prompt and
superuser prompt. The examples will use this prompt to
indicate which user you should be running the example
as.</para>
<para>This table shows the default system prompt and
superuser prompt. The examples use these prompts to
indicate which type of user is running the example.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
@ -120,7 +123,7 @@
<sect1 id="preface-conventions">
<title>Typographic Conventions</title>
<para>The following table describes the typographic conventions
<para>This table describes the typographic conventions
used in this book.</para>
<informaltable frame="none" pgwide="1">
@ -145,44 +148,47 @@
</row>
<row>
<entry>On screen computer output.</entry>
<entry>On-screen computer output.</entry>
<entry><screen>You have mail.</screen></entry>
</row>
<row>
<entry>What you type, when contrasted with on-screen
<entry>What the user types, contrasted with on-screen
computer output.</entry>
<entry><screen>&prompt.user; <userinput>su</userinput>
Password:</screen></entry>
<entry><screen>&prompt.user; <userinput>date +"The time is %H:%M"</userinput>
The time is 09:18</screen></entry>
</row>
<row>
<entry>Manual page references.</entry>
<entry>Use &man.su.1; to change user names.</entry>
<entry>Use &man.su.1; to change user identity.</entry>
</row>
<row>
<entry>User and group names</entry>
<entry>User and group names.</entry>
<entry>Only <username>root</username> can do
this.</entry>
</row>
<row>
<entry>Emphasis</entry>
<entry>You <emphasis>must</emphasis> do this.</entry>
<entry>Emphasis.</entry>
<entry>The user <emphasis>must</emphasis> do
this.</entry>
</row>
<row>
<entry>Command line variables; replace with the real
name or variable.</entry>
<entry>To delete a file, type <command>rm
<filename><replaceable>filename</replaceable></filename></command></entry>
<entry>Text that the user is expected to replace with
the actual text.</entry>
<entry>To search for a keyword in the manual pages, type
<command>man -k
<replaceable>keyword</replaceable></command></entry>
</row>
<row>
<entry>Environment variables</entry>
<entry><envar>$HOME</envar> is your home
<entry>Environment variables.</entry>
<entry><envar>$HOME</envar> is set to the user's home
directory.</entry>
</row>
</tbody>
@ -194,41 +200,41 @@ Password:</screen></entry>
<title>Notes, Tips, Important Information, Warnings, and
Examples</title>
<para>Within the text appear notes, warnings, and
examples.</para>
<para>Notes, warnings, and examples appear within the
text.</para>
<note>
<para>Notes are represented like this, and contain information
that you should take note of, as it may affect what you
do.</para>
to take note of, as it may affect what the user
does.</para>
</note>
<tip>
<para>Tips are represented like this, and contain information
that you might find useful, or lead to an easier way to do
helpful to the user, like showing an easier way to do
something.</para>
</tip>
<important>
<para>Important information is represented like this.
Typically they flag extra steps you may need to carry
out.</para>
Typically, these show extra steps the user may need to
take.</para>
</important>
<warning>
<para>Warnings are represented like this, and contain
information warning you about possible damage if you do not
follow the instructions. This damage may be physical, to
your hardware or to you, or it may be non-physical, such as
the inadvertent deletion of important files.</para>
information warning about possible damage if the
instructions are not followed. This damage may be physical,
to the hardware or the user, or it may be non-physical, such
as the inadvertent deletion of important files.</para>
</warning>
<example>
<title>A Sample Example</title>
<para>Examples are represented like this, and typically
contain examples you should walk through, or show you what
the results of a particular action should be.</para>
contain examples showing a walkthrough, or
the results of a particular action.</para>
</example>
</sect1>
@ -245,7 +251,8 @@ Password:</screen></entry>
&chap.overview;
&chap.tools;
&chap.xml-primer;
&chap.xml-markup;
&chap.xhtml-markup;
&chap.docbook-markup;
&chap.stylesheets;
&chap.structure;
&chap.doc-build;

View file

@ -11,9 +11,10 @@
-->
<!ENTITY chap.overview SYSTEM "overview/chapter.xml">
<!ENTITY chap.xml-primer SYSTEM "sgml-primer/chapter.xml">
<!ENTITY chap.xml-primer SYSTEM "xml-primer/chapter.xml">
<!ENTITY chap.tools SYSTEM "tools/chapter.xml">
<!ENTITY chap.xml-markup SYSTEM "sgml-markup/chapter.xml">
<!ENTITY chap.xhtml-markup SYSTEM "xhtml-markup/chapter.xml">
<!ENTITY chap.docbook-markup SYSTEM "docbook-markup/chapter.xml">
<!ENTITY chap.stylesheets SYSTEM "stylesheets/chapter.xml">
<!ENTITY chap.structure SYSTEM "structure/chapter.xml">
<!ENTITY chap.the-website SYSTEM "the-website/chapter.xml">

File diff suppressed because it is too large Load diff

View file

@ -34,279 +34,261 @@
<chapter id="overview">
<title>Overview</title>
<para>Welcome to the FreeBSD Documentation Project. Good quality
documentation is very important to the success of FreeBSD, and the
FreeBSD Documentation Project (FDP) is how a lot of that
documentation is produced. Your contributions are very
valuable.</para>
<para>Welcome to the &os; Documentation Project
(<acronym>FDP</acronym>). Quality documentation is crucial
to the success of &os;, and we value your contributions very
highly.</para>
<para>This document's main purpose is to clearly explain
<emphasis>how the FDP is organized</emphasis>, <emphasis>how to
write and submit documentation to the FDP</emphasis>, and
<emphasis>how to effectively use the tools available to you when
writing documentation</emphasis>.</para>
<para>This document describes how the <acronym>FDP</acronym> is
organized, how to write and submit documentation, and how to
effectively use the available tools.</para>
<indexterm>
<primary>Membership</primary>
</indexterm>
<para>Everyone is welcome to join the FDP. There is no minimum
membership requirement, no quota of documentation you need to
produce per month. All you need to do is subscribe to the
&a.doc;.</para>
<para>Everyone is welcome to contribute to the
<acronym>FDP</acronym>. Willingness to contribute is the only
membership requirement.</para>
<para>After you have finished reading this document you
should:</para>
<para>This primer shows the reader how to:</para>
<itemizedlist>
<listitem>
<para>Know which documentation is maintained by the FDP.</para>
<para>Identify which parts of &os; are maintained by the
<acronym>FDP</acronym>.</para>
</listitem>
<listitem>
<para>Be able to read and understand the XML source code for
the documentation maintained by the FDP.</para>
<para>Install the required documentation tools and files.</para>
</listitem>
<listitem>
<para>Be able to make changes to the documentation.</para>
<para>Make changes to the documentation.</para>
</listitem>
<listitem>
<para>Be able to submit your changes back for review and
eventual inclusion in the FreeBSD documentation.</para>
<para>Submit changes back for review and eventual inclusion in
the &os; documentation.</para>
</listitem>
</itemizedlist>
<sect1 id="overview-doc">
<title>The FreeBSD Documentation Set</title>
<title>The &os; Documentation Set</title>
<para>The FDP is responsible for four categories of FreeBSD
documentation.</para>
<variablelist>
<varlistentry>
<term>Manual pages</term>
<listitem>
<para>The English language system manual pages are not
written by the FDP, as they are part of the base system.
However, the FDP can (and has) re-worded parts of existing
manual pages to make them clearer, or to correct
inaccuracies.</para>
<para>The translation teams are responsible for translating
the system manual pages into different languages. These
translations are kept within the FDP.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FAQ</term>
<listitem>
<para>The FAQ aims to address (in short question and answer
format) questions that are asked, or should be asked, on
the various mailing lists and newsgroups devoted to
FreeBSD. The format does not permit long and
comprehensive answers.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Handbook</term>
<listitem>
<para>The Handbook aims to be the comprehensive on-line
resource and reference for FreeBSD users.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Web site</term>
<listitem>
<para>This is the main FreeBSD presence on the World Wide
Web, visible at <ulink
url="&url.base;/index.html">http://www.FreeBSD.org/</ulink>
and many mirrors around the world. The web site is many
people's first exposure to FreeBSD.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The documentation for the web site, &os; Handbook, and FAQ
are available in the <literal>doc/</literal> Subversion
repository, which is located at
<literal>https://svn.FreeBSD.org/doc/</literal>.</para>
<para>Manual pages are available in the <literal>src/</literal>
Subversion repository, which is available at
<literal>https://svn.FreeBSD.org/base/</literal>.</para>
<para>This means that the logs of changes to these
files are visible to anyone, and anyone can use
<application>svn</application> to view the changes.</para>
<para>In addition, many people have written tutorials or other web
sites relating to FreeBSD. Some of these are stored in the
Subversion repository as well (where the author has agreed to
this). In other cases the author has decided to keep his
documentation separate from the main FreeBSD repository. The
FDP endeavors to provide links to as much of this documentation
as possible.</para>
</sect1>
<sect1 id="overview-before">
<title>Before You Start</title>
<para>This document assumes that you already know:</para>
<para>The <acronym>FDP</acronym> is responsible for four
categories of &os; documentation.</para>
<itemizedlist>
<listitem>
<para>How to maintain an up-to-date local copy of the FreeBSD
documentation by maintaining a local copy of the FreeBSD
Subversion repository using
<application>svn</application>.</para>
<para><emphasis>Handbook</emphasis>: The Handbook is the
comprehensive online resource and reference for &os;
users.</para>
</listitem>
<listitem>
<para>How to download and install new software using either
the FreeBSD Ports system or &man.pkg.add.1;.</para>
<para><emphasis>FAQ</emphasis>: The <acronym>FAQ</acronym>
uses a short question and answer format to address questions
that are frequently asked on the various mailing lists and
forums devoted to &os;. This format does not permit long
and comprehensive answers.</para>
</listitem>
<listitem>
<para><emphasis>Manual pages</emphasis>: The English language
system manual pages are usually not written by the
<acronym>FDP</acronym>, as they are part of the base system.
However, the <acronym>FDP</acronym> can reword parts of
existing manual pages to make them clearer or to correct
inaccuracies.</para>
</listitem>
<listitem>
<para><emphasis>Web site</emphasis>: This is the main &os;
presence on the web, visible at <ulink
url="http://www.freebsd.org/index.html">http://www.FreeBSD.org/</ulink>
and many mirrors around the world. The web site is
typically a new user's first exposure to &os;.</para>
</listitem>
</itemizedlist>
<para>Translation teams are responsible for translating the
Handbook and web site into different languages. Manual pages
are not translated.</para>
<para>Documentation source for the &os; web site, Handbook, and
<acronym>FAQ</acronym> is available in the Subversion
repository at
<literal>https://svn.FreeBSD.org/doc/</literal>.</para>
<para>Source for manual pages is available in a separate
Subversion repository located at
<literal>https://svn.FreeBSD.org/base/</literal>.</para>
<para>Documentation commit messages are visible with
<application>svn</application>. Commit messages are also
archived at <ulink url="&a.svn-doc-all.url;"></ulink>.</para>
<para>In addition, many people have written tutorials or how-to
articles about &os;. Some are stored as part of the
<acronym>FDP</acronym> files. In other cases, the author has
decided to keep the documentation separate. The
<acronym>FDP</acronym> endeavors to provide links to as much of
this external documentation as possible.</para>
</sect1>
<sect1 id="overview-quick-start">
<title>Quick Start</title>
<para>If you just want to get going, and feel confident you can
pick things up as you go along, follow these
instructions.</para>
<para>Here we describe the steps contributors must take before
making changes to the <acronym>FDP</acronym>. New
contributors will interact with other members of the &os;
Documentation Team, which can assist in learning to use
<acronym>XML</acronym> and the suggestions in
<xref linkend="writing-style-guide"/>. If a new user
contributes regularly, a Documentation Team member may be
assigned as a mentor to guide the user through the process from
contributor to documentation committer.</para>
<procedure>
<step>
<para>Subscribe to the &a.doc;. Some members of the mailing
list also interact on the <literal>#bsddocs</literal>
<acronym>IRC</acronym> channel on <ulink
url="http://www.efnet.org/">EFnet</ulink>.</para>
</step>
<step>
<para>Install the
<filename role="package">textproc/docproj</filename>
meta-port.</para>
<screen>&prompt.root; <userinput>cd /usr/ports/textproc/docproj</userinput>
&prompt.root; <userinput>make JADETEX=no install</userinput></screen>
package or port. This meta-port installs all of the
utilities needed by the <acronym>FDP</acronym>.</para>
</step>
<step>
<para>Get a local copy of the FreeBSD <filename>doc</filename>
tree using <application>svn</application>.</para>
<para>Install a local working copy of the documentation
from a mirror of the &os; repository. For the fastest
download, pick the nearest mirror from the list of <ulink
url="&url.books.handbook;/subversion-mirrors.html">Subversion
mirror sites</ulink>. If <filename
class="directory">/usr/doc</filename> already exists, move
or delete it first to prevent file conflicts.</para>
<para>If network bandwidth or local drive space is a concern,
then at minimum, the <filename>head/share</filename> and
<filename>head/<replaceable>language</replaceable>/share</filename>
directories will need to be checked out. For
example:</para>
<screen>&prompt.user; <userinput>svn checkout https://<replaceable>svn0.us-west.FreeBSD.org</replaceable>/doc/head <replaceable>/usr/doc</replaceable></userinput></screen>
</step>
<screen>&prompt.user; <userinput>mkdir -p head/share</userinput>
&prompt.user; <userinput>mkdir -p head/en_US.ISO8859-1/share</userinput>
&prompt.user; <userinput>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/share head/share</userinput>
&prompt.user; <userinput>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/en_US.ISO8859-1/share head/en_US.ISO8859-1/share</userinput></screen>
<step>
<para>Before making any documentation edits, configure your
editor to conform to <acronym>FDP</acronym> standards.
How to do so varies by editor. Some editor configurations
are listed in <xref linkend="writing-style"/>. The editor
should be configured as follows:</para>
<para>If you have plenty of disk space then you could check
out everything.</para>
<itemizedlist>
<listitem>
<para>Word wrap set to 70 characters.</para>
</listitem>
<screen>&prompt.user; <userinput>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head head</userinput></screen>
<listitem>
<para>Tab stops set to 2.</para>
</listitem>
<note>
<para><ulink
url="https://svn0.us-east.FreeBSD.org/">svn0.us-east.FreeBSD.org</ulink>
is a public <literal>SVN</literal> server.
Select the closest mirror and verify the mirror server
certificate from the list of <ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
mirror sites</ulink>.</para>
</note>
</step>
<listitem>
<para>Replace each group of 8 leading spaces with a
single tab.</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>If you are preparing a change to an existing book or
article, check it out of the repository as necessary. If
you are planning on contributing a new book or article then
use an existing one as a guide.</para>
<step>
<para>Locate the file to edit. Run
<command>svn up</command> within the local working copy to
make sure that it is up to date. Before making major
changes to a file, discuss the proposed changes with the
&a.doc;.</para>
<para>For example, if you want to contribute a new article
about setting up a VPN between FreeBSD and Windows 2000 you
might do the following.</para>
<para>When making edits, determine which tags and entities
are needed to achieve the desired formatting. One way to
learn is to compare some text in the
<acronym>HTML</acronym> formatted version of the document
to the tags which surround the text or the entities that
represent that text in the <acronym>XML</acronym> file.
References to the commonly used tags and entities can be
found in <xref linkend="xhtml-markup"/> and
<xref linkend="docbook-markup"/>.</para>
</step>
<procedure>
<step>
<para>Check out the <filename>articles</filename>
directory.</para>
<step>
<para>After edits are complete, check for problems by
running:</para>
<screen>&prompt.user; <userinput>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/en_US.ISO8859-1/articles</userinput></screen>
</step>
<screen>&prompt.user; <userinput>igor -R filename.xml | less -RS</userinput></screen>
<step>
<para>Copy an existing article to use as a template. In
this case, you have decided that your new article
belongs in a directory called
<filename>vpn-w2k</filename>.</para>
<para>Review the output and edit the file to fix any listed
tab errors, spelling mistakes, and improper grammar. Save
the changes and rerun this command to find any remaining
problems. Repeat until all of the errors that you deem
fixable are resolved. If you get stuck trying to fix
errors, ask for assistance on the &a.doc;.</para>
</step>
<screen>&prompt.user; <userinput>cd head/en_US.ISO8859-1/articles</userinput>
&prompt.user; <userinput>svn export committers-guide vpn-w2k</userinput></screen>
</step>
</procedure>
<step>
<para><emphasis>Always</emphasis> build-test changes before
submitting them. By default, typing
<userinput>make</userinput> in the top-level directory of
the type of documentation being edited will generate that
documentation in split HTML format. For example, to build
the English version of the Handbook, type
<command>make</command> in the
<filename>en_US.ISO8859-1/books/handbook/</filename>
directory. This step is necessary to make sure that the
edits do not break the build.</para>
</step>
<para>If you wanted to edit an existing document, such as the
FAQ, which is in
<filename>head/en_US.ISO8859-1/books/faq</filename> you
would check it out of the repository like this.</para>
<step>
<para>In order to build the output in other formats, other
<application>make</application> targets are defined in
<filename>head/share/mk/doc.docbook.mk</filename>. Use
quotes around the list of formats when building more than
one format with a single command.</para>
<screen>&prompt.user; <userinput>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/en_US.ISO8859-1/books/faq</userinput></screen>
</step>
<para>For example, to convert the document to both
<literal>.html</literal> and <literal>.txt</literal>, use
this command:</para>
<step>
<para>Edit the <filename>.xml</filename> files using your
editor of choice.</para>
</step>
<screen>&prompt.user; <userinput>make FORMATS="html txt"</userinput></screen>
<step>
<para>Test the markup using the <maketarget>lint</maketarget>
target. This will quickly find any errors in the document
without actually performing the time-consuming
transformation.</para>
<para>Once these steps are successfully completed, generate
a <quote>diff file</quote> of the changes. While in
<filename class="directory">/usr/doc</filename>, run this
command, replacing <replaceable>bsdinstall</replaceable>
with the name of the directory containing the
edits:</para>
<screen>&prompt.user; <userinput>make lint</userinput></screen>
<screen>&prompt.user; <userinput>svn diff > <replaceable>bsdinstall</replaceable>.diff.txt</userinput></screen>
</step>
<para>When you are ready to actually build the document, you
may specify a single format or a list of formats in the
<varname>FORMATS</varname> variable. Currently,
<literal>html</literal>, <literal>html-split</literal>,
<literal>txt</literal>, <literal>ps</literal>,
<literal>pdf</literal>, and <literal>rtf</literal> are
supported. The most up to date list of supported formats is
listed at the top of the
<filename>head/share/mk/doc.docbook.mk</filename> file.
Make sure to use quotes around the list of formats when you
build more than one format with a single command.</para>
<step>
<para>Submit the diff file using the web-based <ulink
url="&url.base;/support.html#gnats">Problem
Report</ulink> system or with &man.send-pr.1;. If using
the web form, input a synopsis of <emphasis>[patch]
<replaceable>short description of
problem</replaceable></emphasis>. Select the category
<literal>docs</literal> and the class
<literal>doc-bug</literal>. The body of the message
should contain a short description of the edits and any
important discussion points. Use the
<guibutton>[&nbsp;Browse...&nbsp;]</guibutton> button to
attach the <literal>.diff.txt</literal> file and enter
the captcha phrase.</para>
<para>For example, to convert the document to
<literal>html</literal> only, you would use:</para>
<screen>&prompt.user; <userinput>make FORMATS=html</userinput></screen>
<para>But when you want to convert the document to both
<literal>html</literal> and <literal>txt</literal> format,
you could use either two separate &man.make.1; runs,
with:</para>
<screen>&prompt.user; <userinput>make FORMATS=html</userinput>
&prompt.user; <userinput>make FORMATS=txt</userinput></screen>
<para>or, you can do it in one command:</para>
<screen>&prompt.user; <userinput>make FORMATS="html txt"</userinput></screen>
</step>
<step>
<para>Submit your changes using &man.send-pr.1;.</para>
</step>
</procedure>
</sect1>
</chapter>
<para>It is important to remember that the
<acronym>FDP</acronym> is comprised of volunteers who
review edits in their spare time and who live in different
time zones around the globe. It takes time to review
edits and to either commit them or respond if additional
edits are required. If you do not receive a response in a
reasonable amount of time, send a follow-up email to the
&a.doc; and ask if anyone has had a chance to review the
patch or if additional information is required.</para>
</step>
</procedure>
</sect1>
</chapter>

View file

@ -37,141 +37,107 @@
<sect1 id="the-website-prep">
<title>Preparation</title>
<para>Use a disk with sufficient free space. You may need
anything from 200&nbsp;MB to over 500&nbsp;MB, depending on the
method you choose. This space will hold the XML tools, a
subset of the <application>svn</application> tree, temporary
<para>Use a disk with sufficient free space. A full copy of
the documentation and web site files takes over 700&nbsp;MB.
Allowing a full gigabyte provides some breathing room. This
space will hold the XML tools, the documentation tree, temporary
build space and the installed web pages.</para>
<note>
<para>Make sure your documentation ports are up to date! When
in doubt, remove the old ports using &man.pkg.delete.1;
command before installing the port. For example, we currently
depend on jade-1.2 and if you have installed jade-1.1, please
do:</para>
<screen>&prompt.root; <userinput><command>pkg_delete</command> jade-1.1</userinput></screen>
<para>Make sure the documentation ports are updated to the
latest version. See
<ulink url="&url.books.handbook;/ports.html#ports-using">the
Handbook section on ports</ulink> for more
information.</para>
</note>
<sect2 id="the-website-svn">
<title>Using <command>svn</command></title>
<para><command>svn</command> is necessary to <quote>check
out</quote> the necessary files from the
<literal>doc/</literal> Subversion repository.
<para><command>svn</command> is needed to check out the
documentation and web site files from the
<literal>doc</literal> Subversion repository.
<command>svn</command> can be installed with &man.pkg.add.1;
or from the &os; Ports Collection by running:</para>
<screen>&prompt.root; <userinput><command>cd /usr/ports/devel/subversion</command></userinput>
&prompt.root; <userinput><command>make</command> <maketarget>install clean</maketarget></userinput></screen>
<para>To check out the full source files for the &os; website,
run:</para>
<para>To check out the source files for the &os; web site and
the rest of the documentation, run:</para>
<screen>&prompt.root; <userinput><command>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/ <replaceable>/usr/build</replaceable></command></userinput></screen>
<screen>&prompt.user; <userinput><command>svn checkout <replaceable>https://svn0.us-east.FreeBSD.org</replaceable>/doc/head/ <replaceable>~/doc</replaceable></command></userinput></screen>
<para><ulink
url="https://svn0.us-east.FreeBSD.org/">svn0.us-east.FreeBSD.org</ulink>
is a public <literal>SVN</literal> server.
Select the closest mirror and verify the mirror server
certificate from the list of <ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
is a public <literal>SVN</literal> server. Select the closest
mirror and verify the mirror server certificate from the list
of
<ulink url="&url.books.handbook;/svn-mirrors.html">Subversion
mirror sites</ulink>.</para>
<tip>
<para>If <command>svn</command> is not run as
<username>root</username>, be sure <filename
class="directory">/usr/build</filename> has the proper
permissions for the current user. If changing the
permissions is not possible, use a different target
directory for the website files.</para>
</tip>
<para>When <command>svn</command> finishes, the current version
of the &os; website will exist within <filename
class="directory">/usr/build</filename>. If a different
target directory was used, replace <filename
class="directory">/usr/build</filename> appropriately
throughout the remainder of this document.</para>
<para>That's it! You can now proceed with the
<link linkend="the-website-build">website build</link>.</para>
<para>After the checkout completes, the current version of the
&os; documentation, including the web site files, will be
present in
<filename class="directory">~/doc</filename>.</para>
</sect2>
</sect1>
<sect1 id="the-website-build">
<title>Build the Web Pages from Scratch</title>
<title>Build the Web Pages</title>
<para>Having completed the necessary steps to obtain the website
source files, the website can be built. In our example, the
build directory is <filename
class="directory"><replaceable>/usr/build</replaceable></filename>
<para>Having obtained the documentation and web site source files,
the web site can be built. In this example, the build directory
is <filename
class="directory"><replaceable>~/doc</replaceable></filename>
and all the required files are already in place.</para>
<procedure>
<step>
<para>Change into the build directory:</para>
<para>The web site is built from the
<filename class="directory">en_US.ISO8859-1/htdocs</filename>
subdirectory of the document tree directory,
<filename class="directory">~/doc</filename> in this example.
Change to the build directory and start the build by executing
<command>make all</command>.</para>
<screen>&prompt.root; <userinput><command>cd</command> <replaceable>/usr/build</replaceable></userinput></screen>
</step>
<screen>&prompt.user; <userinput><command>cd</command> ~/doc/en_US.ISO8859-1/htdocs</userinput>
&prompt.user; <userinput><command>make</command> <maketarget>all</maketarget></userinput></screen>
<step>
<para>The website build starts from the <filename
class="directory">en_US.ISO8859-1/htdocs</filename>
directory by executing the &man.make.1;
<maketarget>all</maketarget> target, to create the web
pages.</para>
<screen>&prompt.root; <userinput><command>cd</command> en_US.ISO8859-1/htdocs</userinput>
&prompt.root; <userinput><command>make</command> <maketarget>all</maketarget></userinput></screen>
<tip>
<para>The build requires a few files from the Ports Collection
and may fail without a properly configured Ports CVS
mirror. Set the <makevar>NOPORTSCVS</makevar> environment
variable as described in <xref linkend="the-website-env"/>
to use your local Ports Collection (typically <filename
class="directory">/usr/ports</filename>) instead.</para>
</tip>
</step>
</procedure>
<tip>
<para>The web site build uses the <filename>INDEX</filename>
from the Ports Collection and may fail if that file or
<filename class="directory">/usr/ports</filename> is not
present. The simplest approach is to install the <ulink
url="&url.books.handbook;/ports.html#ports-tree">Ports
Collection</ulink>.</para>
</tip>
</sect1>
<sect1 id="the-website-install">
<title>Install the Web Pages into Your Web Server</title>
<title>Install the Web Pages</title>
<procedure>
<step>
<para>If you have moved out of the <filename
class="directory">en_US.ISO8859-1/htdocs</filename>
directory, change back to it.</para>
<para>Run <command>make install</command>, setting
<makevar>DESTDIR</makevar> to the target directory for the web
site files. The files will be installed in
<filename class="directory">$DESTDIR/data</filename>, which is
expected to be the web server's document root.</para>
<screen>&prompt.root; <userinput><command>cd</command> <replaceable>/usr/build/en_US.ISO8859-1/htdocs</replaceable></userinput></screen>
</step>
<para>This installation is run as the <username>root</username>
user because the permissions on the web server directory will
not allow files to be installed by an unprivileged user. In
this example, the web site files were built by user
<username>jru</username> in their home directory, <filename
class="directory">/usr/home/jru/doc</filename>.</para>
<step>
<para>Run the &man.make.1; <maketarget>install</maketarget>
target, setting the <makevar>DESTDIR</makevar> variable to
the name of the directory you want to install the files to.
The actual files are installed under <filename
class="directory">$DESTDIR/data</filename>
which should be configured as your web server's document
root.</para>
<screen>&prompt.root; <userinput><command>cd</command> /home/jru/doc/en_US.ISO8859-1/htdocs</userinput>
&prompt.root; <userinput><command>env</command> <makevar>DESTDIR</makevar>=<replaceable>/usr/local/www</replaceable> <command>make</command> <maketarget>install</maketarget></userinput></screen>
<screen>&prompt.root; <userinput><command>env</command> <makevar>DESTDIR</makevar>=<replaceable>/usr/local/www</replaceable> <command>make</command> <maketarget>install</maketarget></userinput></screen>
</step>
<para>The install process will not delete any old or outdated
files that existed previously in the same directory. If a new
copy of the site is built and installed every day, this command
will find and delete all files that have not been updated in
three days.</para>
<step>
<para>If you have previously installed the web pages into the
same directory the install process will not have deleted any
old or outdated pages. For example, if you build and
install a new copy of the site every day, this command will
find and delete all files that have not been updated in
three days.</para>
<screen>&prompt.root; <userinput><command>find</command> <replaceable>/usr/local/www</replaceable> <option>-ctime</option> 3 <option>-print0</option> | <command>xargs</command> <option>-0</option> <command>rm</command></userinput></screen>
</step>
</procedure>
<screen>&prompt.root; <userinput><command>find</command> <replaceable>/usr/local/www</replaceable> <option>-ctime</option> 3 <option>-delete</option></userinput></screen>
</sect1>
<sect1 id="the-website-env">
@ -182,16 +148,15 @@
<term><makevar>ENGLISH_ONLY</makevar></term>
<listitem>
<para>If set and not empty, the makefiles will build and
install only the English documents. All translations will
be ignored. E.g.:</para>
<para>If set and not empty, only the English documents will
be built or installed. All translations will be ignored.
E.g.:</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>ENGLISH_ONLY=YES</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget></userinput></screen>
<para>If you want to unset the variable
<makevar>ENGLISH_ONLY</makevar> and build all pages,
including translations, set the variable
<makevar>ENGLISH_ONLY</makevar> to an empty value:</para>
<para>To unset the variable and build all pages, including
translations, set <makevar>ENGLISH_ONLY</makevar> to an
empty value:</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>ENGLISH_ONLY=""</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget> <maketarget>clean</maketarget></userinput></screen>
</listitem>
@ -201,13 +166,13 @@
<term><makevar>WEB_ONLY</makevar></term>
<listitem>
<para>If set and not empty, the Makefiles will build and
install only the HTML pages from the <filename
<para>If set and not empty, only the <acronym>HTML</acronym>
pages from the <filename
class="directory">en_US.ISO8859-1/htdocs</filename>
directory. All other directories within <filename
class="directory">en_US.ISO8859-1</filename>
(Handbook, FAQ, Tutorials) will be ignored.
E.g.:</para>
directory will be built or installed. All other
directories within
<filename class="directory">en_US.ISO8859-1</filename>
(Handbook, FAQ, Tutorials) will be ignored. E.g.:</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>WEB_ONLY=YES</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget></userinput></screen>
</listitem>
@ -217,35 +182,21 @@
<term><makevar>WEB_LANG</makevar></term>
<listitem>
<para>If set, the Makefiles will build and install only for
the languages specified by this variable inside the
<filename
class="directory"><replaceable>/usr/build</replaceable></filename>
<para>If set, build or install only for the languages
specified by this variable inside the <filename
class="directory"><replaceable>~/doc</replaceable></filename>
directory. All other languages except English will be
ignored. E.g.:</para>
<screen>&prompt.root; <userinput>make WEB_LANG="el_GR.ISO8859-7 es_ES.ISO8859-1 hu_HU.ISO8859-2 nl_NL.ISO8859-1" all install</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>NOPORTSCVS</makevar></term>
<listitem>
<para>If set, the Makefiles will not checkout files from the
ports CVS repository. Instead, it will copy the files
from <filename class="directory">/usr/ports</filename> (or
where the variable <envar>PORTSBASE</envar> points
to).</para>
</listitem>
</varlistentry>
</variablelist>
<para><makevar>WEB_ONLY</makevar>, <makevar>WEB_LANG</makevar>,
<makevar>ENGLISH_ONLY</makevar> and
<makevar>NOPORTSCVS</makevar> are make variables. You can set
the variables in <filename>/etc/make.conf</filename>,
and <makevar>ENGLISH_ONLY</makevar> are &man.make.1; variables
and can be set in <filename>/etc/make.conf</filename>,
<filename>Makefile.inc</filename>, as environment variables on
the command line, or in your dot files.</para>
the command line, or in dot files.</para>
</sect1>
</chapter>

View file

@ -34,142 +34,230 @@
<chapter id="writing-style">
<title>Writing Style</title>
<para>In order to promote consistency between the myriad authors of
the FreeBSD documentation, some guidelines have been drawn up for
authors to follow.</para>
<sect1 id="writing-style-tips">
<title>Tips</title>
<variablelist>
<varlistentry>
<term>Use American English Spelling</term>
<para>Technical documentation can be improved by consistent use of
several principes. Most of these can be classified into three
goals: <emphasis>be clear</emphasis>,
<emphasis>be complete</emphasis>, and
<emphasis>be concise</emphasis>. These goals can conflict with
each other. Good writing consists of a balance between
them.</para>
<listitem>
<para>There are several variants of English, with different
spellings for the same word. Where spellings differ, use
the American English variant. <quote>color</quote>, not
<quote>colour</quote>, <quote>rationalize</quote>, not
<quote>rationalise</quote>, and so on.</para>
<sect2 id="writing-style-be-clear">
<title>Be Clear</title>
<note>
<para>The use of British English may be accepted in the case
of a contributed article, however the spelling must be
consistent within the whole document. The other documents
such as books, web site, manual pages, etc. will have to
use American English.</para>
</note>
</listitem>
</varlistentry>
<para>Clarity is extremely important. The reader may be a
novice, or reading the document in a second language. Strive
for simple, uncomplicated text that clearly explains the
concepts.</para>
<varlistentry>
<term>Do not use contractions</term>
<para>Avoid flowery or embellished speech, jokes, or colloquial
expressions. Write as simply and clearly as possible. Simple
text is easier to understand and translate.</para>
<listitem>
<para>Do not use contractions. Always spell the phrase out in
full. <quote>Don't use contractions</quote> would be
wrong.</para>
<para>Keep explanations as short, simple, and clear as possible.
Avoid empty phrases like <quote>in order to</quote>, which
usually just means <quote>to</quote>. Avoid potentially
patronizing words like <quote>basically</quote>. Avoid Latin
terms like <quote>i.e.</quote> or <quote>cf.</quote>, which
may be unknown outside of academic or scientific
groups.</para>
<para>Avoiding contractions makes for a more formal tone, is
more precise, and is slightly easier for translators.</para>
</listitem>
</varlistentry>
<para>Write in a formal style. Avoid addressing the reader
as <quote>you</quote>. For example, say
<quote>copy the file to <filename>/tmp</filename></quote>
rather than <quote>you can copy the file to
<filename>/tmp</filename></quote>.</para>
<varlistentry>
<term>Use the serial comma</term>
<para>Give clear, correct, <emphasis>tested</emphasis> examples.
A trivial example is better than no example. A good example
is better yet. Do not give bad examples, identifiable by
apologies or sentences like <quote>but really it should never
be done that way</quote>. Bad examples are worse than no
examples. Give good examples, because <emphasis>even when
warned not to use the example as shown</emphasis>, the
reader will usually just use the example as shown.</para>
<listitem>
<para>In a list of items within a paragraph, separate each
item from the others with a comma. Separate the last item
from the others with a comma and the word
<quote>and</quote>.</para>
<para>Avoid <emphasis>weasel words</emphasis> like
<quote>should</quote>, <quote>might</quote>,
<quote>try</quote>, or <quote>could</quote>. These words
imply that the speaker is unsure of the facts, and
create doubt in the reader.</para>
<para>For example, look at the following:</para>
<para>Similarly, give instructions as imperative commands: not
<quote>you should do this</quote>, but merely
<quote>do this</quote>.</para>
</sect2>
<blockquote>
<para>This is a list of one, two and three items.</para>
</blockquote>
<sect2 id="writing-style-be-complete">
<title>Be Complete</title>
<para>Is this a list of three items, <quote>one</quote>,
<quote>two</quote>, and <quote>three</quote>, or a list of
two items, <quote>one</quote> and <quote>two and
three</quote>?</para>
<para>Do not make assumptions about the reader's abilities or
skill level. Tell them what they need to know. Give links to
other documents to provide background information without
having to recreate it. Put yourself in the reader's place,
anticipate the questions they will ask, and answer
them.</para>
</sect2>
<para>It is better to be explicit and include a serial
comma:</para>
<sect2 id="writing-style-be-concise">
<title>Be Concise</title>
<blockquote>
<para>This is a list of one, two, and three items.</para>
</blockquote>
</listitem>
</varlistentry>
<para>While features should be documented completely, sometimes
there is so much information that the reader cannot easily
find the specific detail needed. The balance between being
complete and being concise is a challenge. One approach is to
have an introduction, then a <quote>quick start</quote>
section that describes the most common situation, followed by
an in-depth reference section.</para>
</sect2>
</sect1>
<varlistentry>
<term>Avoid redundant phrases</term>
<sect1 id="writing-style-guidelines">
<title>Guidelines</title>
<listitem>
<para>Try not to use redundant phrases. In particular,
<quote>the command</quote>, <quote>the file</quote>, and
<quote>man command</quote> are probably redundant.</para>
<para>To promote consistency between the myriad authors of the
FreeBSD documentation, some guidelines have been drawn up for
authors to follow.</para>
<para>These two examples show this for commands. The second
example is preferred.</para>
<variablelist>
<varlistentry>
<term>Use American English Spelling</term>
<informalexample>
<para>Use the command <command>svn</command> to update
your sources.</para>
</informalexample>
<listitem>
<para>There are several variants of English, with different
spellings for the same word. Where spellings differ, use
the American English variant. <quote>color</quote>, not
<quote>colour</quote>, <quote>rationalize</quote>, not
<quote>rationalise</quote>, and so on.</para>
<informalexample>
<para>Use <command>svn</command> to update your
sources.</para>
</informalexample>
<note>
<para>The use of British English may be accepted in the
case of a contributed article, however the spelling must
be consistent within the whole document. The other
documents such as books, web site, manual pages, etc.
will have to use American English.</para>
</note>
</listitem>
</varlistentry>
<para>These two examples show this for filenames. The second
example is preferred.</para>
<varlistentry>
<term>Do not use contractions</term>
<informalexample>
<para>&hellip; in the filename
<filename>/etc/rc.local</filename>&hellip;</para>
</informalexample>
<listitem>
<para>Do not use contractions. Always spell the phrase out
in full. <quote>Don't use contractions</quote> would be
wrong.</para>
<informalexample>
<para>&hellip; in
<filename>/etc/rc.local</filename>&hellip;</para>
</informalexample>
<para>Avoiding contractions makes for a more formal tone, is
more precise, and is slightly easier for
translators.</para>
</listitem>
</varlistentry>
<para>These two examples show this for manual references. The
second example is preferred (the second example uses
<sgmltag>citerefentry</sgmltag>).</para>
<varlistentry>
<term>Use the serial comma</term>
<informalexample>
<para>See <command>man csh</command> for more
information.</para>
</informalexample>
<listitem>
<para>In a list of items within a paragraph, separate each
item from the others with a comma. Separate the last item
from the others with a comma and the word
<quote>and</quote>.</para>
<informalexample>
<para>See &man.csh.1;.</para>
</informalexample>
</listitem>
</varlistentry>
<varlistentry>
<term>Two spaces at the end of sentences</term>
<para>For example, look at the following:</para>
<listitem>
<para>Always use two spaces at the end of sentences, as this
improves readability, and eases use of tools such as
<application>Emacs</application>.</para>
<blockquote>
<para>This is a list of one, two and three items.</para>
</blockquote>
<para>While it may be argued that a capital letter following
a period denotes a new sentence, this is not the case,
especially in name usage. <quote>Jordan K. Hubbard</quote>
is a good example; it has a capital <literal>H</literal>
following a period and a space, and there certainly is not a
new sentence there.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Is this a list of three items, <quote>one</quote>,
<quote>two</quote>, and <quote>three</quote>, or a list of
two items, <quote>one</quote> and <quote>two and
three</quote>?</para>
<para>For more information about writing style, see <ulink
url="http://www.bartleby.com/141/">Elements of
Style</ulink>, by William Strunk.</para>
<para>It is better to be explicit and include a serial
comma:</para>
<blockquote>
<para>This is a list of one, two, and three items.</para>
</blockquote>
</listitem>
</varlistentry>
<varlistentry>
<term>Avoid redundant phrases</term>
<listitem>
<para>Try not to use redundant phrases. In particular,
<quote>the command</quote>, <quote>the file</quote>, and
<quote>man command</quote> are probably redundant.</para>
<para>These two examples show this for commands. The second
example is preferred.</para>
<informalexample>
<para>Use the command <command>svn</command> to update
your sources.</para>
</informalexample>
<informalexample>
<para>Use <command>svn</command> to update your
sources.</para>
</informalexample>
<para>These two examples show this for filenames. The
second example is preferred.</para>
<informalexample>
<para>&hellip; in the filename
<filename>/etc/rc.local</filename>&hellip;</para>
</informalexample>
<informalexample>
<para>&hellip; in
<filename>/etc/rc.local</filename>&hellip;</para>
</informalexample>
<para>These two examples show this for manual references.
The second example is preferred (the second example uses
<sgmltag>citerefentry</sgmltag>).</para>
<informalexample>
<para>See <command>man csh</command> for more
information.</para>
</informalexample>
<informalexample>
<para>See &man.csh.1;.</para>
</informalexample>
</listitem>
</varlistentry>
<varlistentry>
<term>Two spaces at the end of sentences</term>
<listitem>
<para>Always use two spaces at the end of sentences, as this
improves readability, and eases use of tools such as
<application>Emacs</application>.</para>
<para>While it may be argued that a capital letter following
a period denotes a new sentence, this is not the case,
especially in name usage.
<quote>Jordan K. Hubbard</quote> is a good example; it has
a capital <literal>H</literal> following a period and a
space, and there certainly is not a new sentence
there.</para>
</listitem>
</varlistentry>
</variablelist>
<para>For more information about writing style, see <ulink
url="http://www.bartleby.com/141/">Elements of
Style</ulink>, by William Strunk.</para>
</sect1>
<sect1 id="writing-style-guide">
<title>Style Guide</title>
@ -205,7 +293,7 @@
also define them the first time they appear in each
chapter.</para>
<para>The first three uses of an acronym should be enclosed in
<para>All acronyms should be enclosed in
<sgmltag>acronym</sgmltag> tags, with a
<literal>role</literal> attribute with the full term defined.
This allows a link to the glossary to be created, and for
@ -402,89 +490,94 @@ GB. Hardware compression &hellip;</literallayout>
<sect1 id="writing-style-word-list">
<title>Word List</title>
<para>The following is a small list of words spelled the way they
should be used in the FreeBSD Documentation Project. If the
word you are looking for is not in this list, then please
consult the <ulink
url="http://www.oreilly.com/oreilly/author/stylesheet.html">O'Reilly
word list</ulink>.</para>
<para>This list of words shows the correct spelling and
capitalization when used in FreeBSD Documentation. If a word is
not on this list, ask about it on the &a.doc;.</para>
<itemizedlist>
<listitem>
<para>2.2.X</para>
</listitem>
<informaltable frame="none" pgwide="0">
<tgroup cols="3">
<thead>
<row>
<entry>Word</entry>
<entry>XML Code</entry>
<entry>Notes</entry>
</row>
</thead>
<listitem>
<para>4.X-STABLE</para>
</listitem>
<tbody>
<row>
<entry>CD-ROM</entry>
<entry><sgmltag class="starttag">acronym</sgmltag><literal>CD-ROM</literal><sgmltag class="endtag">acronym</sgmltag></entry>
</row>
<listitem>
<para>CD-ROM</para>
</listitem>
<row>
<entry>DoS (Denial of Service)</entry>
<entry><sgmltag class="starttag">acronym</sgmltag><literal>DoS</literal><sgmltag class="endtag">acronym</sgmltag></entry>
</row>
<listitem>
<para>DoS <emphasis>(Denial of Service)</emphasis> </para>
</listitem>
<row>
<entry>email</entry>
</row>
<listitem>
<para>Ports Collection</para>
</listitem>
<row>
<entry>file system</entry>
</row>
<listitem>
<para>IPsec</para>
</listitem>
<row>
<entry>IPsec</entry>
</row>
<listitem>
<para>Internet</para>
</listitem>
<row>
<entry>Internet</entry>
</row>
<listitem>
<para>MHz</para>
</listitem>
<row>
<entry>manual page</entry>
</row>
<listitem>
<para>Soft Updates</para>
</listitem>
<row>
<entry>mail server</entry>
</row>
<listitem>
<para>Unix</para>
</listitem>
<row>
<entry>name server</entry>
</row>
<listitem>
<para>disk label</para>
</listitem>
<row>
<entry>Ports Collection</entry>
</row>
<listitem>
<para>email</para>
</listitem>
<row>
<entry>read-only</entry>
</row>
<listitem>
<para>file system</para>
</listitem>
<row>
<entry>Soft Updates</entry>
</row>
<listitem>
<para>manual page</para>
</listitem>
<row>
<entry>Subversion</entry>
<listitem>
<para>mail server</para>
</listitem>
<entry><sgmltag
class="starttag">application</sgmltag><literal>Subversion</literal><sgmltag
class="endtag">application</sgmltag></entry>
<entry>Do not refer to the Subversion application as
<literal>SVN</literal> in upper case. To refer to the
command, use <sgmltag
class="starttag">command</sgmltag><literal>svn</literal><sgmltag
class="endtag">command</sgmltag>.</entry>
</row>
<listitem>
<para>name server</para>
</listitem>
<row>
<entry>&unix;</entry>
<entry><literal>&amp;unix;</literal></entry>
</row>
<listitem>
<para>null-modem</para>
</listitem>
<listitem>
<para>read-only</para>
</listitem>
<listitem>
<para>web server</para>
</listitem>
</itemizedlist>
<row>
<entry>web server</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1>
</chapter>

View file

@ -0,0 +1,613 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.
Redistribution and use in source (SGML DocBook) and 'compiled' forms
(SGML HTML, PDF, PostScript, RTF and so forth) with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code (SGML DocBook) must retain the above
copyright notice, this list of conditions and the following
disclaimer as the first lines of this file unmodified.
2. Redistributions in compiled form (transformed to other DTDs,
converted to PDF, PostScript, RTF and other formats) must reproduce
the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
$FreeBSD$
-->
<chapter id="xhtml-markup">
<title><acronym>XHTML</acronym> Markup</title>
<sect1 id="xhtml-markup-introduction">
<title>Introduction</title>
<para>This chapter describes usage of the <acronym>XHTML</acronym>
markup language used for the &os; web site.</para>
<para><acronym>XHTML</acronym> is the <acronym>XML</acronym>
version of the HyperText Markup Language, the markup language of
choice on the World Wide Web. More information can be found at
<ulink url="http://www.w3.org/"></ulink>.</para>
<para><acronym>XHTML</acronym> is used to mark up pages on the
&os; web site. It is usually not used to mark up other
documentation, since DocBook offers a far richer set of elements
from which to choose. Consequently, <acronym>XHTML</acronym>
pages will normally only be encountered when writing for the web
site.</para>
<para><acronym>HTML</acronym> has gone through a number of
versions. The <acronym>XML</acronym>-compliant version
described here is called <acronym>XHTML</acronym>. The latest
widespread version is <acronym>XHTML</acronym> 1.0, available in
both <emphasis>strict</emphasis> and
<emphasis>transitional</emphasis> variants.</para>
<para>The <acronym>XHTML</acronym> <acronym>DTDs</acronym> are
available from the Ports&nbsp;Collection in
<filename role="package">textproc/xhtml</filename>. They are
automatically installed as part of the <filename
role="package">textproc/docproj</filename> port.</para>
<note>
<para>This is <emphasis>not</emphasis> an exhaustive list of
elements, since that would just repeat the documentation for
<acronym>XHTML</acronym>. The aim is to list those elements
most commonly used. Please post questions about elements or
uses not covered here to the &a.doc;.</para>
</note>
<note>
<title>Inline Versus Block</title>
<para>In the remainder of this document, when describing
elements, <emphasis>inline</emphasis> means that the element
can occur within a block element, and does not cause a line
break. A <emphasis>block</emphasis> element, by comparison,
will cause a line break (and other processing) when it is
encountered.</para>
</note>
</sect1>
<sect1 id="xhtml-markup-fpi">
<title>Formal Public Identifier (<acronym>FPI</acronym>)</title>
<para>There are a number of <acronym>XHTML</acronym>
<acronym>FPI</acronym>s, depending upon the version, or
<emphasis>level</emphasis> of <acronym>XHTML</acronym> to which
a document conforms. Most XHTML documents on the FreeBSD web
site comply with the transitional version of
<acronym>XHTML</acronym> 1.0.</para>
<programlisting>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"</programlisting>
</sect1>
<sect1 id="xhtml-markup-sectional-elements">
<title>Sectional Elements</title>
<para>An <acronym>XHTML</acronym> document is normally split into
two sections. The first section, called the
<emphasis>head</emphasis>, contains meta-information about the
document, such as its title, the name of the author, the parent
document, and so on. The second section, the
<emphasis>body</emphasis>, contains the content that will be
displayed to the user.</para>
<para>These sections are indicated with <sgmltag>head</sgmltag>
and <sgmltag>body</sgmltag> elements respectively. These
elements are contained within the top-level
<sgmltag>html</sgmltag> element.</para>
<example>
<title>Normal <acronym>XHTML</acronym> Document
Structure</title>
<programlisting>&lt;html xmlns="http://www.w3.org/1999/xhtml">
&lt;head>
&lt;title><replaceable>The Document's Title</replaceable>&lt;/title>
&lt;/head>
&lt;body>
&hellip;
&lt;/body>
&lt;/html></programlisting>
</example>
</sect1>
<sect1 id="xhtml-markup-block-elements">
<title>Block Elements</title>
<sect2 id="xhtml-markup-block-elements-headings">
<title>Headings</title>
<para><acronym>XHTML</acronym> has tags to denote headings in
the document at up to six different levels.</para>
<para>The largest and most prominent heading is
<sgmltag>h1</sgmltag>, then <sgmltag>h2</sgmltag>,
continuing down to <sgmltag>h6</sgmltag>.</para>
<para>The element's content is the text of the heading.</para>
<example>
<title><sgmltag>h1</sgmltag>, <sgmltag>h2</sgmltag>,
and Other Header Tags</title>
<para>Usage:</para>
<programlisting><![CDATA[<h1>First section</h1>
<!-- Document introduction goes here -->
<h2>This is the heading for the first section</h2>
<!-- Content for the first section goes here -->
<h3>This is the heading for the first sub-section</h3>
<!-- Content for the first sub-section goes here -->
<h2>This is the heading for the second section</h2>
<!-- Content for the second section goes here -->]]></programlisting>
</example>
<para>Generally, an <acronym>XHTML</acronym> page should have
one first level heading (<sgmltag>h1</sgmltag>). This can
contain many second level headings (<sgmltag>h2</sgmltag>),
which can in turn contain many third level headings. Each
<sgmltag>h<replaceable>n</replaceable></sgmltag> element
should have the same element, but one further up the
hierarchy, preceding it. Leaving gaps in the numbering is to
be avoided.</para>
<example>
<title>Bad Ordering of
<sgmltag>h<replaceable>n</replaceable></sgmltag>
Elements</title>
<para>Usage:</para>
<programlisting><![CDATA[<h1>First section</h1>
<!-- Document introduction -->
<h3>Sub-section</h3>
<!-- This is bad, <h2> has been left out -->]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-block-elements-paragraphs">
<title>Paragraphs</title>
<para><acronym>XHTML</acronym> supports a single paragraph
element, <sgmltag>p</sgmltag>.</para>
<example>
<title><sgmltag>p</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>This is a paragraph. It can contain just about any
other element.</p>]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-block-elements-block-quotations">
<title>Block Quotations</title>
<para>A block quotation is an extended quotation from another
document that should not appear within the current
paragraph.</para>
<example>
<title><sgmltag>blockquote</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>A small excerpt from the US Constitution:</p>
<blockquote>We the People of the United States, in Order to form
a more perfect Union, establish Justice, insure domestic
Tranquility, provide for the common defence, promote the general
Welfare, and secure the Blessings of Liberty to ourselves and our
Posterity, do ordain and establish this Constitution for the
United States of America.</blockquote>]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-block-elements-lists">
<title>Lists</title>
<para><acronym>XHTML</acronym> can present the user with three
types of lists: ordered, unordered, and definition.</para>
<para>Typically, each entry in an ordered list will be
numbered, while each entry in an unordered list will be
preceded by a bullet point. Definition lists are composed of
two sections for each entry. The first section is the term
being defined, and the second section is the definition of the
term.</para>
<para>Ordered lists are indicated by the <sgmltag>ol</sgmltag>
element, unordered lists by the <sgmltag>ul</sgmltag>
element, and definition lists by the <sgmltag>dl</sgmltag>
element.</para>
<para>Ordered and unordered lists contain listitems, indicated
by the <sgmltag>li</sgmltag> element. A listitem can
contain textual content, or it may be further wrapped in one
or more <sgmltag>p</sgmltag> elements.</para>
<para>Definition lists contain definition terms
(<sgmltag>dt</sgmltag>) and definition descriptions
(<sgmltag>dd</sgmltag>). A definition term can only contain
inline elements. A definition description can contain other
block elements.</para>
<example>
<title><sgmltag>ul</sgmltag> and
<sgmltag>ol</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>An unordered list. Listitems will probably be
preceded by bullets.</p>
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
<p>An ordered list, with list items consisting of multiple
paragraphs. Each item (note: not each paragraph) will be
numbered.</p>
<ol>
<li><p>This is the first item. It only has one paragraph.</p></li>
<li><p>This is the first paragraph of the second item.</p>
<p>This is the second paragraph of the second item.</p></li>
<li><p>This is the first and only paragraph of the third
item.</p></li>
</ol>]]></programlisting>
</example>
<example>
<title>Definition Lists with <sgmltag>dl</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<dl>
<dt>Term 1</dt>
<dd><p>Paragraph 1 of definition 1.</p>
<p>Paragraph 2 of definition 1.</p></dd>
<dt>Term 2</dt>
<dd><p>Paragraph 1 of definition 2.</p></dd>
<dt>Term 3</dt>
<dd><p>Paragraph 1 of definition 3.</p></dd>
</dl>]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-block-elements-preformatted-text">
<title>Pre-formatted Text</title>
<para>Pre-formatted text can be shown to the user exactly as it
is in the file. Typically, this means that the text is shown
in a fixed font, multiple spaces are not merged into one, and
line breaks in the text are significant.</para>
<para>In order to do this, wrap the content in the
<sgmltag>pre</sgmltag> element.</para>
<example>
<title><sgmltag>pre</sgmltag></title>
<para>For example, the <sgmltag>pre</sgmltag> tags could be
used to mark up an email message:</para>
<programlisting><![CDATA[<pre> From: nik@FreeBSD.org
To: freebsd-doc@FreeBSD.org
Subject: New documentation available
There is a new copy of my primer for contributors to the FreeBSD
Documentation Project available at
&lt;URL:http://people.FreeBSD.org/~nik/primer/index.html&gt;
Comments appreciated.
N</pre>]]></programlisting>
<para>Keep in mind that <literal>&lt;</literal> and
<literal>&amp;</literal> still are recognized as special
characters in pre-formatted text. This is why the example
shown had to use <literal>&amp;lt;</literal> instead of
<literal>&lt;</literal>. For consistency,
<literal>&amp;gt;</literal> was used in place of
<literal>&gt;</literal>, too. Watch out for the special
characters that may appear in text copied from a plain-text
source, like an email message or program code.</para>
</example>
</sect2>
<sect2 id="xhtml-markup-block-elements-tables">
<title>Tables</title>
<para>Mark up tabular information using the
<sgmltag>table</sgmltag> element. A table consists of one or
more table rows (<sgmltag>tr</sgmltag>), each containing one
or more cells of table data (<sgmltag>td</sgmltag>). Each
cell can contain other block elements, such as paragraphs or
lists. It can also contain another table (this nesting can
repeat indefinitely). If the cell only contains one paragraph
then the <sgmltag>p</sgmltag>element is not needed.</para>
<example>
<title>Simple Use of <sgmltag>table</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>This is a simple 2x2 table.</p>
<table>
<tr>
<td>Top left cell</td>
<td>Top right cell</td>
</tr>
<tr>
<td>Bottom left cell</td>
<td>Bottom right cell</td>
</tr>
</table>]]></programlisting>
</example>
<para>A cell can span multiple rows and columns. To indicate
this, add the <literal>rowspan</literal> and/or
<literal>colspan</literal> attributes, with values indicating
the number of rows or columns that should be spanned.</para>
<example>
<title>Using <literal>rowspan</literal></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>One tall thin cell on the left, two short cells next to
it on the right.</p>
<table>
<tr>
<td rowspan="2">Long and thin</td>
</tr>
<tr>
<td>Top cell</td>
<td>Bottom cell</td>
</tr>
</table>]]></programlisting>
</example>
<example>
<title>Using <literal>colspan</literal></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>One long cell on top, two short cells below it.</p>
<table>
<tr>
<td colspan="2">Top cell</td>
</tr>
<tr>
<td>Bottom left cell</td>
<td>Bottom right cell</td>
</tr>
</table>]]></programlisting>
</example>
<example>
<title>Using <literal>rowspan</literal> and
<literal>colspan</literal> Together</title>
<para>Usage:</para>
<programlisting><![CDATA[<p>On a 3x3 grid, the top left block is a 2x2 set of
cells merged into one. The other cells are normal.</p>
<table>
<tr>
<td colspan="2" rowspan="2">Top left large cell</td>
<td>Top right cell</td>
</tr>
<tr>
<!-- Because the large cell on the left merges into
this row, the first <td> will occur on its
right -->
<td>Middle right cell</td>
</tr>
<tr>
<td>Bottom left cell</td>
<td>Bottom middle cell</td>
<td>Bottom right cell</td>
</tr>
</table>]]></programlisting>
</example>
</sect2>
</sect1>
<sect1 id="xhtml-markup-inline-elements">
<title>In-line Elements</title>
<sect2 id="xhtml-markup-inline-elements-emphasizing-information">
<title>Emphasizing Information</title>
<para>Two levels of emphasis are available in
<acronym>XHTML</acronym>, <sgmltag>em</sgmltag> and
<sgmltag>strong</sgmltag>. <sgmltag>em</sgmltag> is for a
normal level of emphasis and <sgmltag>strong</sgmltag>
indicates stronger emphasis.</para>
<para>Typically, <sgmltag>em</sgmltag> is rendered in italic
and <sgmltag>strong</sgmltag> is rendered in bold. This is
not always the case, however, and should not be relied upon.
According to best practices, webpages only hold structural and
semantical information and stylesheets are later applied to
them. Think of semantics, not formatting, when using these
tags.</para>
<example>
<title><sgmltag>em</sgmltag> and
<sgmltag>strong</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p><em>This</em> has been emphasized, while
<strong>this</strong> has been strongly emphasized.</p>]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-inline-elements-fixed-pitch-text">
<title>Indicating Fixed-Pitch Text</title>
<para>Content that should be rendered in a fixed pitch
(typewriter) typeface is tagged with <sgmltag>tt</sgmltag>
(for <quote>teletype</quote>).</para>
<example>
<title><sgmltag>tt</sgmltag></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>This document was originally written by
Nik Clayton, who can be reached by email as
<tt>nik@FreeBSD.org</tt>.</p>]]></programlisting>
</example>
</sect2>
<sect2 id="xhtml-markup-inline-elements-links">
<title>Links</title>
<note>
<para>Links are also inline elements.</para>
</note>
<sect3 id="xhtml-markup-inline-elements-linking">
<title>Linking to Other Documents on the Web</title>
<para>A link points to the <acronym>URL</acronym> of another
document on the web. The link is indicated with
<sgmltag>a</sgmltag>, and the <literal>href</literal>
attribute contains the <acronym>URL</acronym> of the target
document. The content of the element becomes the link, and
is normally indicated to the user in some way,
typically by a different color or underlining.</para>
<example>
<title>Using <literal>&lt;a href="..."&gt;</literal></title>
<para>Usage:</para>
<programlisting><![CDATA[<p>More information is available at the
<a href="http://www.FreeBSD.org/">FreeBSD web site</a>.</p>]]></programlisting>
</example>
<para>These links will take the user to the top of the chosen
document.</para>
</sect3>
<sect3 id="xhtml-markup-inline-elements-other-parts">
<title>Linking to Other Parts of Documents</title>
<para>Linking to a point within another document, or within
the same document, requires that the document author include
<emphasis>anchors</emphasis>. Anchors are indicated with
<sgmltag>a</sgmltag> and the <literal>id</literal> attribute
instead of <literal>href</literal>.</para>
<example>
<title>Using <literal>&lt;a id="..."&gt;</literal></title>
<para>Usage:</para>
<programlisting><![CDATA[<p><a id="para1">This</a> paragraph can be referenced
in other links with the name <tt>para1</tt>.</p>]]></programlisting>
</example>
<para>To link to a named part of a document, write a normal
link to that document, but include the <acronym>ID</acronym>
of the anchor after a <literal>#</literal> symbol.</para>
<example>
<title>Linking to a Named Part of Another Document</title>
<para>Assume that the <literal>para1</literal> example
resides in a document called
<filename>foo.html</filename>.</para>
<programlisting><![CDATA[<p>More information can be found in the
<a href="foo.html#para1">first paragraph</a> of
<tt>foo.html</tt>.</p>]]></programlisting>
</example>
<para>If you are linking to a named anchor within the same
document then you can omit the document's URL, and just
include the name of the anchor (with the preceding
<literal>#</literal>).</para>
<example>
<title>Linking to a Named Part of the Same Document</title>
<para>Assume that the <literal>para1</literal> example
resides in this document:</para>
<programlisting><![CDATA[<p>More information can be found in the
<a href="#para1">first paragraph</a> of this
document.</p>]]></programlisting>
</example>
</sect3>
</sect2>
</sect1>
</chapter>

File diff suppressed because it is too large Load diff

View file

@ -178,13 +178,6 @@ IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
IMAGES_EN+= virtualization/parallels-freebsd1.png
IMAGES_EN+= virtualization/parallels-freebsd2.png
IMAGES_EN+= virtualization/parallels-freebsd3.png
@ -283,7 +276,6 @@ SRCS+= printing/chapter.xml
SRCS+= security/chapter.xml
SRCS+= serialcomms/chapter.xml
SRCS+= users/chapter.xml
SRCS+= vinum/chapter.xml
SRCS+= virtualization/chapter.xml
SRCS+= x11/chapter.xml

File diff suppressed because it is too large Load diff

View file

@ -60,8 +60,8 @@ requirements. -->
</listitem>
<listitem>
<para>How to configure Event Auditing on &os; for users
and processes.</para>
<para>How to configure Event Auditing on &os; for users and
processes.</para>
</listitem>
<listitem>
@ -85,8 +85,8 @@ requirements. -->
</listitem>
<listitem>
<para>Have some familiarity with security and how it
pertains to &os; (<xref linkend="security"/>).</para>
<para>Have some familiarity with security and how it pertains
to &os; (<xref linkend="security"/>).</para>
</listitem>
</itemizedlist>
@ -104,9 +104,9 @@ requirements. -->
Administrators should take into account disk space
requirements associated with high volume audit configurations.
For example, it may be desirable to dedicate a file system to
the <filename class="directory">/var/audit</filename> tree so that other file
systems are not affected if the audit file system becomes
full.</para>
the <filename class="directory">/var/audit</filename> tree
so that other file systems are not affected if the audit file
system becomes full.</para>
</warning>
</sect1>
@ -133,9 +133,9 @@ requirements. -->
<listitem>
<para><emphasis>class</emphasis>: Event classes are named sets
of related events, and are used in selection expressions.
Commonly used classes of events include
<quote>file creation</quote> (fc), <quote>exec</quote> (ex)
and <quote>login_logout</quote> (lo).</para>
Commonly used classes of events include <quote>file
creation</quote> (fc), <quote>exec</quote> (ex) and
<quote>login_logout</quote> (lo).</para>
</listitem>
<listitem>
@ -199,8 +199,8 @@ requirements. -->
<programlisting>options AUDIT</programlisting>
<para>Rebuild and reinstall
the kernel via the normal process explained in
<xref linkend="kernelconfig"/>.</para>
the kernel via the normal process explained in <xref
linkend="kernelconfig"/>.</para>
<para>Once an audit-enabled kernel is built, installed, and the
system has been rebooted, enable the audit daemon by adding the
@ -249,10 +249,10 @@ requirements. -->
<listitem>
<para><filename>audit_warn</filename> - A customizable shell
script used by <application>auditd</application> to generate
warning messages in exceptional situations, such as when
space for audit records is running low or when the audit
trail file has been rotated.</para>
script used by &man.auditd.8; to generate warning messages
in exceptional situations, such as when space for audit
records is running low or when the audit trail file has
been rotated.</para>
</listitem>
</itemizedlist>
@ -400,8 +400,8 @@ requirements. -->
</itemizedlist>
<para>These audit event classes may be customized by modifying
the <filename>audit_class</filename> and
<filename>audit_event</filename> configuration files.</para>
the <filename>audit_class</filename> and <filename>audit_
event</filename> configuration files.</para>
<para>Each audit class in the list is combined with a prefix
indicating whether successful/failed operations are matched,
@ -451,18 +451,16 @@ requirements. -->
<title>Configuration Files</title>
<para>In most cases, administrators will need to modify only two
files when configuring the audit system:
<filename>audit_control</filename> and
<filename>audit_user</filename>. The first controls
system-wide audit properties and policies; the second may be
used to fine-tune auditing by user.</para>
files when configuring the audit system: <filename>audit_
control</filename> and <filename>audit_user</filename>.
The first controls system-wide audit properties and policies;
the second may be used to fine-tune auditing by user.</para>
<sect3 id="audit-auditcontrol">
<title>The <filename>audit_control</filename> File</title>
<para>The <filename>audit_control</filename> file specifies a
number of defaults for the audit subsystem. Viewing the
contents of this file, we see the following:</para>
<para>A number of defaults for the audit subsystem are
specified in <filename>audit_control</filename>:</para>
<programlisting>dir:/var/audit
flags:lo
@ -471,7 +469,7 @@ naflags:lo
policy:cnt
filesz:0</programlisting>
<para>The <option>dir</option> option is used to set one or
<para>The <option>dir</option> entry is used to set one or
more directories where audit logs will be stored. If more
than one directory entry appears, they will be used in order
as they fill. It is common to configure audit so that audit
@ -484,17 +482,17 @@ filesz:0</programlisting>
example above, successful and failed login and logout events
are audited for all users.</para>
<para>The <option>minfree</option> option defines the minimum
<para>The <option>minfree</option> entry defines the minimum
percentage of free space for the file system where the audit
trail is stored. When this threshold is exceeded, a warning
will be generated. The above example sets the minimum free
space to twenty percent.</para>
<para>The <option>naflags</option> option specifies audit
classes to be audited for non-attributed events, such as the
login process and system daemons.</para>
<para>The <option>naflags</option> entry specifies audit classes
to be audited for non-attributed events, such as the login
process and system daemons.</para>
<para>The <option>policy</option> option specifies a
<para>The <option>policy</option> entry specifies a
comma-separated list of policy flags controlling various
aspects of audit behavior. The default
<literal>cnt</literal> flag indicates that the system should
@ -504,7 +502,7 @@ filesz:0</programlisting>
to the &man.execve.2; system call to be audited as part of
command execution.</para>
<para>The <option>filesz</option> option specifies the maximum
<para>The <option>filesz</option> entry specifies the maximum
size in bytes to allow an audit trail file to grow to before
automatically terminating and rotating the trail file. The
default, 0, disables automatic log rotation. If the
@ -516,25 +514,24 @@ filesz:0</programlisting>
<sect3 id="audit-audituser">
<title>The <filename>audit_user</filename> File</title>
<para>The <filename>audit_user</filename> file permits the
administrator to specify further audit requirements for
specific users. Each line configures auditing for a user
via two fields: the first is the
<literal>alwaysaudit</literal> field, which specifies a set
of events that should always be audited for the user, and
the second is the <literal>neveraudit</literal> field, which
specifies a set of events that should never be audited for
the user.</para>
<para>The administrator can specify further audit requirements
for specific users in <filename>audit_user</filename>.
Each line configures auditing for a user via two fields:
the first is the <literal>alwaysaudit</literal> field,
which specifies a set of events that should always be
audited for the user, and the second is the
<literal>neveraudit</literal> field, which specifies a set
of events that should never be audited for the user.</para>
<para>The following example <filename>audit_user</filename>
file audits login/logout events and successful command
execution for the <username>root</username> user, and audits
file creation and successful command execution for the
<username>www</username> user. If used with the example
<filename>audit_control</filename> file above, the
audits login/logout events and successful command
execution for <username>root</username>, and audits
file creation and successful command execution for
<username>www</username>. If used with the above example
<filename>audit_control</filename>, the
<literal>lo</literal> entry for <username>root</username> is
redundant, and login/logout events will also be audited for
the <username>www</username> user.</para>
<username>www</username>.</para>
<programlisting>root:lo,+ex:no
www:fc,+ex:no</programlisting>
@ -553,14 +550,13 @@ www:fc,+ex:no</programlisting>
&man.praudit.1; command converts trail files to a simple text
format; the &man.auditreduce.1; command may be used to reduce
the audit trail file for analysis, archiving, or printing
purposes. <command>auditreduce</command> supports a variety
of selection parameters, including event type, event class,
purposes. A variety of selection parameters are supported by
&man.auditreduce.1;, including event type, event class,
user, date or time of the event, and the file path or object
acted on.</para>
<para>For example, the <command>praudit</command> utility will
dump the entire contents of a specified audit log in plain
text:</para>
<para>For example, &man.praudit.1; will dump the entire
contents of a specified audit log in plain text:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
@ -569,11 +565,11 @@ www:fc,+ex:no</programlisting>
the audit log to dump.</para>
<para>Audit trails consist of a series of audit records made up
of tokens, which <command>praudit</command> prints
sequentially one per line. Each token is of a specific type,
such as <literal>header</literal> holding an audit record
header, or <literal>path</literal> holding a file path from a
name lookup. The following is an example of an
of tokens, which &man.praudit.1; prints sequentially one per
line. Each token is of a specific type, such as
<literal>header</literal> holding an audit record header, or
<literal>path</literal> holding a file path from a name
lookup. The following is an example of an
<literal>execve</literal> event:</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
@ -605,9 +601,9 @@ trailer,133</programlisting>
successful execution, and the <literal>trailer</literal>
concludes the record.</para>
<para><command>praudit</command> also supports
an XML output format, which can be selected using the
<option>-x</option> argument.</para>
<para><acronym>XML</acronym> output format is also supported by
&man.praudit.1;, and can be selected using
<option>-x</option>.</para>
</sect2>
<sect2>
@ -619,20 +615,19 @@ trailer,133</programlisting>
<screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
<para>This will select all audit records produced for the user
<username>trhodes</username> stored in the
<filename><replaceable>AUDITFILE</replaceable></filename>
file.</para>
<para>This will select all audit records produced for
<username>trhodes</username> stored in
<filename><replaceable>AUDITFILE</replaceable></filename>.</para>
</sect2>
<sect2>
<title>Delegating Audit Review Rights</title>
<para>Members of the <groupname>audit</groupname> group are
given permission to read audit trails in
<filename class="directory">/var/audit</filename>; by default, this group is
empty, so only the <username>root</username> user may read
audit trails. Users may be added to the
given permission to read audit trails in <filename
class="directory">/var/audit</filename>; by default, this
group is empty, so only the <username>root</username> user
may read audit trails. Users may be added to the
<groupname>audit</groupname> group in order to delegate audit
review rights to the user. As the ability to track audit log
contents provides significant insight into the behavior of
@ -674,9 +669,9 @@ trailer,133</programlisting>
SSH session, then a continuous stream of audit events will
be generated at a high rate, as each event being printed
will generate another event. It is advisable to run
<command>praudit</command> on an audit pipe device from
sessions without fine-grained I/O auditing in order to avoid
this happening.</para>
&man.praudit.1; on an audit pipe device from sessions
without fine-grained I/O auditing in order to avoid this
happening.</para>
</warning>
</sect2>
@ -684,24 +679,23 @@ trailer,133</programlisting>
<title>Rotating Audit Trail Files</title>
<para>Audit trails are written to only by the kernel, and
managed only by the audit daemon,
<application>auditd</application>. Administrators should not
attempt to use &man.newsyslog.conf.5; or other tools to
directly rotate audit logs. Instead, the
<command>audit</command> management tool may be used to shut
down auditing, reconfigure the audit system, and perform log
rotation. The following command causes the audit daemon to
create a new audit log and signal the kernel to switch to
using the new log. The old log will be terminated and
renamed, at which point it may then be manipulated by the
administrator.</para>
managed only by the audit daemon, &man.auditd.8;.
Administrators should not attempt to use
&man.newsyslog.conf.5; or other tools to directly rotate
audit logs. Instead, the &man.audit.8; management tool may
be used to shut down auditing, reconfigure the audit system,
and perform log rotation. The following command causes the
audit daemon to create a new audit log and signal the kernel
to switch to using the new log. The old log will be
terminated and renamed, at which point it may then be
manipulated by the administrator.</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<warning>
<para>If the <application>auditd</application> daemon is not
currently running, this command will fail and an error
message will be produced.</para>
<para>If &man.auditd.8; is not currently running, this
command will fail and an error message will be
produced.</para>
</warning>
<para>Adding the following line to
@ -710,11 +704,11 @@ trailer,133</programlisting>
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
<para>The change will take effect once you have saved the
new <filename>/etc/crontab</filename>.</para>
<para>The change will take effect once you have saved the new
<filename>/etc/crontab</filename>.</para>
<para>Automatic rotation of the audit trail file based on file
size is possible via the <option>filesz</option> option in
size is possible using <option>filesz</option> in
&man.audit.control.5;, and is described in the configuration
files section of this chapter.</para>
</sect2>

File diff suppressed because it is too large Load diff

View file

@ -71,12 +71,10 @@
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
@ -238,7 +236,6 @@
&chap.disks;
&chap.geom;
&chap.filesystems;
&chap.vinum;
&chap.virtualization;
&chap.l10n;
&chap.cutting-edge;

View file

@ -16,9 +16,9 @@
<para>The process of starting a computer and loading the operating
system is referred to as <quote>the bootstrap process</quote>,
or simply <quote>booting</quote>. &os;'s boot process
provides a great deal of flexibility in customizing what happens
when the system starts, including the ability to select from
or simply <quote>booting</quote>. &os;'s boot process provides
a great deal of flexibility in customizing what happens when
the system starts, including the ability to select from
different operating systems installed on the same computer,
different versions of the same operating system, or a different
installed kernel.</para>
@ -73,47 +73,54 @@
to the mechanism used to load the operating system, which has
become shortened to <quote>booting</quote>.</para>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary><acronym>BIOS</acronym></primary></indexterm>
<indexterm>
<primary>Basic Input/Output System</primary>
<see>BIOS</see>
<see><acronym>BIOS</acronym></see>
</indexterm>
<para>On x86 hardware the Basic Input/Output System (BIOS) is
responsible for loading the operating system. To do this, the
BIOS looks on the hard disk for the Master Boot Record (MBR),
which must be located on a specific place on the disk. The BIOS
has enough knowledge to load and run the MBR, and assumes that
the MBR can then carry out the rest of the tasks involved in
loading the operating system, possibly with the help of the
BIOS.</para>
<para>On x86 hardware the Basic Input/Output System
(<acronym>BIOS</acronym>) is responsible for loading the
operating system. To do this, the <acronym>BIOS</acronym>
looks on the hard disk for the Master Boot Record
(<acronym>MBR</acronym>), which must be located in a specific
place on the disk. The <acronym>BIOS</acronym> has enough
knowledge to load and run the <acronym>MBR</acronym>, and
assumes that the <acronym>MBR</acronym> can then carry out the
rest of the tasks involved in loading the operating system,
possibly with the help of the <acronym>BIOS</acronym>.</para>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<indexterm><primary>Master Boot Record
<acronym>MBR</acronym>)</primary></indexterm>
<indexterm><primary>Boot Manager</primary></indexterm>
<indexterm><primary>Boot Loader</primary></indexterm>
<para>The code within the MBR is usually referred to as a
<emphasis>boot manager</emphasis>, especially when it interacts
with the user. In this case the boot manager usually has more
code in the first <emphasis>track</emphasis> of the disk or
within some OS's file system. (A boot manager is sometimes also
called a <emphasis>boot loader</emphasis>, but &os; uses that
term for a later stage of booting.) Popular boot managers
include <application>boot0</application> (aka
<para>The code within the <acronym>MBR</acronym> is usually
referred to as a <emphasis>boot manager</emphasis>, especially
when it interacts with the user. In this case, the boot
manager usually has more code in the first
<emphasis>track</emphasis> of the disk or within the file
system of some operating systems. A boot manager is sometimes
also called a <emphasis>boot loader</emphasis>, but &os; uses
that term for a later stage of booting. Popular boot managers
include <application>boot0</application>, also called
<application>Boot Easy</application>, the standard &os; boot
manager), <application>Grub</application>,
manager, <application>Grub</application>,
<application>GAG</application>, and
<application>LILO</application>. (Only
<application>boot0</application> fits within the MBR.)</para>
<application>LILO</application>. Only
<application>boot0</application> fits within the
<acronym>MBR</acronym>.</para>
<para>If only one operating system is installed, a standard PC MBR
will suffice. This MBR searches for the first bootable (active)
<para>If only one operating system is installed, a standard PC
<acronym>MBR</acronym> will suffice. This
<acronym>MBR</acronym> searches for the first bootable (active)
slice on the disk, and then runs the code on that slice to load
the remainder of the operating system. By default, the MBR
installed by &man.fdisk.8; is such an MBR and is based on
the remainder of the operating system. By default, the
<acronym>MBR</acronym> installed by &man.fdisk.8; is such an
<acronym>MBR</acronym> and is based on
<filename>/boot/mbr</filename>.</para>
<para>If multiple operating systems are present, a different boot
@ -122,18 +129,18 @@
boot managers are discussed in the next subsection.</para>
<para>The remainder of the &os; bootstrap system is divided
into three stages. The first stage is run by the MBR, which
knows just enough to get the computer into a specific state and
run the second stage. The second stage can do a little bit
more, before running the third stage. The third stage finishes
the task of loading the operating system. The work is split
into three stages because PC standards put limits on the size of
the programs that can be run at stages one and two. Chaining
the tasks together allows &os; to provide a more flexible
loader.</para>
into three stages. The first stage is run by the
<acronym>MBR</acronym>, which knows just enough to get the
computer into a specific state and run the second stage. The
second stage can do a little bit more, before running the
third stage. The third stage finishes the task of loading the
operating system. The work is split into three stages because
PC standards put limits on the size of the programs that can
be run at stages one and two. Chaining the tasks together
allows &os; to provide a more flexible loader.</para>
<indexterm><primary>kernel</primary></indexterm>
<indexterm><primary><command>init</command></primary></indexterm>
<indexterm><primary>&man.init.8;</primary></indexterm>
<para>The kernel is then started and it begins to probe for
devices and initialize them for use. Once the kernel boot
@ -154,11 +161,11 @@
<title>The Boot Manager</title>
<indexterm><primary>Master Boot Record
(MBR)</primary></indexterm>
(<acronym>MBR</acronym>)</primary></indexterm>
<para>The code in the MBR or boot manager is sometimes referred
to as <emphasis>stage zero</emphasis> of the boot process.
This section discusses two boot managers:
<para>The code in the <acronym>MBR</acronym> or boot manager is
sometimes referred to as <emphasis>stage zero</emphasis> of
the boot process. This section discusses two boot managers:
<application>boot0</application> and
<application>LILO</application>.</para>
@ -166,12 +173,12 @@
<title>The <application>boot0</application> Boot
Manager:</title>
<para>The MBR installed by &os;'s installer or
&man.boot0cfg.8; is based on
<para>The <acronym>MBR</acronym> installed by &os;'s installer
or &man.boot0cfg.8; is based on
<filename>/boot/boot0</filename>. The size and capability
of <application>boot0</application> is restricted to 446
bytes due to the slice table and <literal>0x55AA</literal>
identifier at the end of the MBR. If
identifier at the end of the <acronym>MBR</acronym>. If
<application>boot0</application> and multiple operating
systems are installed, a message similar to this example
will be displayed at boot time:</para>
@ -187,18 +194,22 @@ Default: F2</screen>
</example>
<para>Other operating systems, in particular &windows;, will
overwrite an existing MBR if they are installed after &os;.
If this happens, or you want to replace the existing MBR
with the &os; MBR, use the following command:</para>
overwrite an existing <acronym>MBR</acronym> if they are
installed after &os;. If this happens, or to replace the
existing <acronym>MBR</acronym> with the &os;
<acronym>MBR</acronym>, use the following command:</para>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
<para>where <replaceable>device</replaceable> is the boot disk,
such as <devicename>ad0</devicename> for the first IDE disk,
<devicename>ad2</devicename> for the first IDE disk on a
second IDE controller, or <devicename>da0</devicename>
for the first SCSI disk. To create a custom configuration of
the MBR, refer to &man.boot0cfg.8;.</para>
such as <devicename>ad0</devicename> for the first
<acronym>IDE</acronym> disk, <devicename>ad2</devicename>
for the first <acronym>IDE</acronym> disk on a second
<acronym>IDE</acronym> controller, or
<devicename>da0</devicename>
for the first <acronym>SCSI</acronym> disk. To create a
custom configuration of the <acronym>MBR</acronym>, refer to
&man.boot0cfg.8;.</para>
<formalpara>
<title>The LILO Boot Manager:</title>
@ -235,11 +246,11 @@ label=FreeBSD</programlisting>
constraints, they have been split into two, but are always
installed together. They are copied from the combined
<filename>/boot/boot</filename> by the installer or
<application>bsdlabel</application>.</para>
&man.bsdlabel.8;.</para>
<para>They are located outside file systems, in the first track
of the boot slice, starting with the first sector. This is
where <link linkend="boot-boot0">boot0</link>, or any other
where boot0 (<xref linkend="boot-boot0"/>), or any other
boot manager, expects to find a program to run which will
continue the boot process. The number of sectors used is
easily determined from the size of
@ -256,9 +267,9 @@ label=FreeBSD</programlisting>
can provide a simple interface to choose the kernel or loader
to run.</para>
<para><link linkend="boot-loader">loader</link> is much more
sophisticated and provides a boot configuration which is run
by <filename>boot2</filename>.</para>
<para>However, &man.loader.8; is much more sophisticated and
provides a boot configuration which is run by
<filename>boot2</filename>.</para>
<example id="boot-boot2-example">
<title><filename>boot2</filename> Screenshot</title>
@ -276,7 +287,8 @@ boot:</screen>
<para>where <replaceable>diskslice</replaceable> is the disk and
slice to boot from, such as <devicename>ad0s1</devicename>
for the first slice on the first IDE disk.</para>
for the first slice on the first <acronym>IDE</acronym>
disk.</para>
<warning>
<title>Dangerously Dedicated Mode</title>
@ -557,10 +569,10 @@ boot:</screen>
first is the default legacy virtual console command line
environment. After the system finishes booting, a console
login prompt is presented. The second environment is the
graphical environment provided by
<link linkend="x11">Xorg</link>. Refer to that chapter for
more information on how to install and configure a graphical
display manager and a graphical login manager.</para>
graphical environment as described in <xref linkend="x11"/>.
Refer to that chapter for more information on how to install
and configure a graphical display manager and a graphical
login manager.</para>
<sect4 id="boot-splash-function">
<title>Splash Screen Function</title>
@ -574,8 +586,8 @@ boot:</screen>
<para>To use larger images, up to the maximum resolution of
1024 by 768 pixels, load the <acronym>VESA</acronym>
module during system boot. For a <ulink
url="kernelconfig">custom kernel</ulink>, include the
module during system boot. For a custom kernel, as
described in <xref linkend="kernelconfig"/>, include the
<literal>VESA</literal> kernel configuration option.
Loading <acronym>VESA</acronym> support provides the
ability to display a splash screen image that fills the
@ -666,8 +678,8 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
or
<filename><replaceable>bluewave</replaceable>.pcx</filename>.</para>
<para>Other interesting
<filename>loader.conf</filename> options include:</para>
<para>Other interesting <filename>loader.conf</filename>
options include:</para>
<variablelist>
<varlistentry>
@ -710,10 +722,10 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<secondary>boot interaction</secondary>
</indexterm>
<para>Once the kernel is loaded by either the default <link
linkend="boot-loader">loader</link> or by <link
linkend="boot-boot1">boot2</link> which bypasses the loader,
it examines its boot flags, if any, and adjusts its behavior as
<para>Once the kernel is loaded by either the default loader
(<xref linkend="boot-loader"/>) or by boot2 (<xref
linkend="boot-boot1"/>), which bypasses the loader, it
examines any boot flags and adjusts its behavior as
necessary.</para>
<sect2 id="boot-kernel-bootflags">
@ -807,8 +819,9 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<quote>device hints</quote>. These <quote>device hints</quote>
are used by device drivers for device configuration.</para>
<para>Device hints may also be specified at the <link
linkend="boot-loader"> Stage 3 boot loader</link> prompt.
<para>Device hints may also be specified at the Stage 3 boot
loader prompt, as demonstrated in <xref
linkend="boot-loader"/>.
Variables can be added using <command>set</command>, removed
with <command>unset</command>, and viewed
<command>show</command>. Variables set in
@ -882,7 +895,7 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<title>Init: Process Control Initialization</title>
<indexterm>
<primary><command>init</command></primary>
<primary>&man.init.8;</primary>
</indexterm>
<para>Once the kernel has finished booting, it passes control to
@ -897,10 +910,9 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<para>The automatic reboot sequence makes sure that the file
systems available on the system are consistent. If they are
not, and &man.fsck.8; cannot fix the inconsistencies of a UFS
file system, &man.init.8; drops the system into
<link linkend="boot-singleuser">single-user mode</link> so
that the system administrator can resolve the problem
directly.</para>
file system, &man.init.8; drops the system into single-user
mode (<xref linkend="boot-singleuser"/>) so that the system
administrator can resolve the problem directly.</para>
</sect2>
<sect2 id="boot-singleuser">
@ -909,14 +921,13 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<indexterm><primary>single-user mode</primary></indexterm>
<indexterm><primary>console</primary></indexterm>
<para>This mode can be reached through the <link
linkend="boot-autoreboot">automatic reboot sequence</link>,
the user booting with <option>-s</option>, or by setting
the <envar>boot_single</envar> variable in
<command>loader</command>.</para>
<para>This mode can be reached through the automatic reboot
sequence (<xref linkend="boot-autoreboot"/>), the user booting
with <option>-s</option>, or by setting the <envar>boot_
single</envar> variable in &man.loader.8;.</para>
<para>It can also be reached by calling &man.shutdown.8; from
<link linkend="boot-multiuser">multi-user mode</link> without
multi-user mode (<xref linkend="boot-multiuser"/>) without
including <option>-r</option> or <option>-h</option>.</para>
<para>If the system <literal>console</literal> is set to
@ -952,13 +963,13 @@ console none unknown off insecure</programlisting>
<indexterm><primary>multi-user mode</primary></indexterm>
<para>If &man.init.8; finds the file systems to be in order, or
once the user has finished their commands in <link
linkend="boot-singleuser">single-user mode</link>, the
system enters multi-user mode, in which it starts the
resource configuration of the system.</para>
once the user has finished their commands in single-user
mode (<xref linkend="boot-singleuser"/>), the system enters
multi-user mode, in which it starts the resource configuration
of the system.</para>
<sect3 id="boot-rc">
<title>Resource Configuration (rc)</title>
<title>Resource Configuration</title>
<indexterm><primary>rc files</primary></indexterm>
@ -983,7 +994,7 @@ console none unknown off insecure</programlisting>
<title>Shutdown Sequence</title>
<indexterm>
<primary><command>shutdown</command></primary>
<primary>&man.shutdown.8;</primary>
</indexterm>
<para>Upon controlled shutdown using &man.shutdown.8;,
@ -997,8 +1008,8 @@ console none unknown off insecure</programlisting>
that support power management, use <command>shutdown -p
now</command> to turn the power off immediately. To reboot a
&os; system, use <command>shutdown -r now</command>. One must
be <username>root</username> or a member of the
<groupname>operator</groupname> group in order to run
be <username>root</username> or a member of
<groupname>operator</groupname> in order to run
&man.shutdown.8;. One can also use &man.halt.8; and
&man.reboot.8;. Refer to their manual pages and to
&man.shutdown.8; for more information.</para>

View file

@ -434,7 +434,7 @@
<para>To create a bootable memory stick, follow these
steps:</para>
<procedure>
<procedure id="bsdinstall-installation-media-memory-stick">
<step>
<title>Acquire the Memory Stick Image</title>

View file

@ -39,7 +39,6 @@
<!ENTITY chap.disks SYSTEM "disks/chapter.xml">
<!ENTITY chap.geom SYSTEM "geom/chapter.xml">
<!ENTITY chap.filesystems SYSTEM "filesystems/chapter.xml">
<!ENTITY chap.vinum SYSTEM "vinum/chapter.xml">
<!ENTITY chap.virtualization SYSTEM "virtualization/chapter.xml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.xml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.xml">

File diff suppressed because it is too large Load diff

View file

@ -361,7 +361,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
brute-force rebuild of all installed applications can be
accomplished with this command:</para>
<screen>&prompt.root; <userinput>portmaster -f</userinput></screen>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
<para>This will ensure everything will be re-installed
correctly. Note that setting the
@ -1233,7 +1233,7 @@ Fetching 133 new ports or files... done.</screen>
<indexterm><primary>snapshot</primary></indexterm>
<para>&os.current; is the latest working sources for &os;.
<para>&os.current; is the very latest source code for &os;.
This includes work in progress, experimental changes, and
transitional mechanisms that might or might not be present
in the next official release of the software. While many
@ -1242,7 +1242,7 @@ Fetching 133 new ports or files... done.</screen>
buildable. These problems are resolved as quickly as
possible, but whether or not &os.current; brings disaster or
greatly desired functionality can be a matter of when the
source code was synced</para>
source code was synced.</para>
</sect3>
<sect3>
@ -1288,13 +1288,13 @@ Fetching 133 new ports or files... done.</screen>
</listitem>
<listitem>
<para>A quick way of getting bug fixes, though the fix is
<para>A quick way of getting bug fixes. Any given commit is
just as likely to introduce new bugs as to fix existing
ones.</para>
</listitem>
<listitem>
<para>In no way <quote>officially
<para>In any way <quote>officially
supported</quote>.</para>
</listitem>
</orderedlist>
@ -1467,7 +1467,7 @@ Fetching 133 new ports or files... done.</screen>
<para>For these reasons, one should <emphasis>not</emphasis>
blindly track &os.stable;. It is particularly important not
to update any production servers to &os.stable; without
first thoroughly testing the code in that development
first thoroughly testing the code in a development/testing
environment.</para>
<para>Except for those users who have the resources to perform
@ -1494,7 +1494,7 @@ Fetching 133 new ports or files... done.</screen>
to respond if they have any issues to raise concerning
the proposed change.</para>
<para>Join the relevant <application>SVN</application>
<para>Join the relevant <application>svn</application>
list for the branch being tracked. For example, users
tracking the 9-STABLE branch should join the
&a.svn-src-stable-9.name; list. This list records the
@ -1510,9 +1510,9 @@ Fetching 133 new ports or files... done.</screen>
</listitem>
<listitem>
<para>To install a new system in order to run monthly
<para>To install a new system running monthly
snapshots built from &os.stable;, refer to <ulink
url="&url.base;/snapshots/">Snapshots</ulink>for more
url="&url.base;/snapshots/">Snapshots</ulink> for more
information. Alternatively, it is possible to install
the most recent &os.stable; release from the <link
linkend="mirrors">mirror sites</link> and follow the
@ -1568,13 +1568,6 @@ Fetching 133 new ports or files... done.</screen>
</orderedlist>
</listitem>
<listitem>
<para>If you need rapid on-demand access to the source and
communications bandwidth is not a consideration, use
<application>Subversion</application>. Otherwise, use
<application>CTM</application>.</para>
</listitem>
<listitem>
<indexterm>
<primary>-STABLE</primary>
@ -1874,12 +1867,31 @@ Fetching 133 new ports or files... done.</screen>
now that the new world is on disk.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>delete-old</maketarget></command></para>
<para>This target deletes old (obsolete) files. This is important
because sometimes they cause problems if left on the disk, for
example the presence of the old <filename>utmp.h</filename>
causes problems in some ports when the new
<filename>utmpx.h</filename> is installed.</para>
</listitem>
<listitem>
<para>Reboot.</para>
<para>A full machine reboot is needed now to load the new
kernel and new world with new configuration files.</para>
</listitem>
<listitem>
<para><command>make <maketarget>delete-old-libs</maketarget></command></para>
<para>Remove any obsolete libraries to avoid conflicts with newer
ones. Make sure that all ports have been rebuilt
before old libraries are removed.</para>
</listitem>
</orderedlist>
<para>Upgrades from one release of the same &os; branch to a
@ -1935,7 +1947,9 @@ Fetching 133 new ports or files... done.</screen>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput>
&prompt.root; <userinput>mergemaster</userinput>
&prompt.root; <userinput>reboot</userinput></screen>
&prompt.root; <userinput>make delete-old</userinput>
&prompt.root; <userinput>reboot</userinput>
&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<warning>
<title>Read Further Explanations</title>
@ -2630,6 +2644,70 @@ Script done, &hellip;</screen>
</sect3>
</sect2>
<sect2 id="make-delete-old">
<sect2info>
<authorgroup>
<author>
<firstname>Anton</firstname>
<surname>Shterenlikht</surname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Deleting Obsolete Files and Directories</title>
<indexterm>
<primary>Deleting obsolete files and directories</primary>
</indexterm>
<para>As a part of the &os; development lifecycle, files and their
contents occasionally become obsolete. This may be because
functionality is implemented elsewhere, the version number of
the library has changed, or it was removed from the system
entirely. This includes old files, libraries, and directories,
which should be removed when updating the system. The benefit
is that the system is not cluttered with old files which take up
unnecessary space on the storage and backup media.
Additionally, if the old library has a security or stability
issue, the system should be updated to the newer library to keep
it safe and to prevent crashes caused by the old library.
Files, directories, and libraries which are considered obsolete
are listed in <filename>/usr/src/ObsoleteFiles.inc</filename>.
The following instructions should be used to remove obsolete
files during the system upgrade process.</para>
<para>After the <command>make
<maketarget>installworld</maketarget></command>
and the subsequent <command>mergemaster</command> have finished
successfully, check for obsolete files and libraries as
follows:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make check-old</userinput></screen>
<para>If any obsolete files are found, they can be deleted using
the following command:</para>
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
<tip>
<para>Refer to <filename>/usr/src/Makefile</filename>
for more targets of interest.</para>
</tip>
<para>A prompt is displayed before deleting each obsolete file.
To skip the prompt and let the system remove these files
automatically, use
<makevar>BATCH_DELETE_OLD_FILES</makevar>:</para>
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
<para>The same goal can be achieved by piping these commands
through <command>yes</command>:</para>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
</sect2>
<sect2 id="updating-upgrading-rebooting">
<title>Rebooting</title>
@ -2637,6 +2715,49 @@ Script done, &hellip;</screen>
then reboot the system using &man.shutdown.8;:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
</sect2>
<sect2 id="make-delete-old-libs">
<title>Deleting obsolete libraries</title>
<warning>
<title>Warning</title>
<para>Deleting obsolete files will break applications that
still depend on those obsolete files. This is especially true
for old libraries. In most cases, the programs, ports, or
libraries that used the old library need to be recompiled
before <command>make
<maketarget>delete-old-libs</maketarget></command> is
executed.</para>
</warning>
<para>Utilities for checking shared library dependencies are
available from the Ports Collection in
<filename role="package">sysutils/libchk</filename> or <filename
role="package">sysutils/bsdadminscripts</filename>.</para>
<para>Obsolete shared libraries can conflict with newer libraries,
causing messages like these:</para>
<screen>/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5</screen>
<para>To solve these problems, determine which port installed the
library:</para>
<screen>&prompt.root; <userinput>pkg_info -W /usr/local/lib/libtiff.so</userinput>
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; <userinput>pkg_info -W /usr/local/lib/libXext.so</userinput>
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
<para>Then deinstall, rebuild and reinstall the port. <filename
role="package">ports-mgmt/portmaster</filename> can be used to
automate this process. After all ports are rebuilt and no
longer use the old libraries, delete the old libraries using the
following command:</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<para>You should now have successfully upgraded the &os;
system. Congratulations.</para>
@ -2921,111 +3042,6 @@ Building everything..
</sect2>
</sect1>
<sect1 id="make-delete-old">
<sect1info>
<authorgroup>
<author>
<firstname>Anton</firstname>
<surname>Shterenlikht</surname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Deleting Obsolete Files, Directories and Libraries</title>
<indexterm>
<primary>Deleting obsolete files, directories and
libraries</primary>
</indexterm>
<para>As a part of the &os; development lifecycle, files and their
contents occasionally become obsolete. This may be because
functionality is implemented elsewhere, the version number of
the library has changed, or it was removed from the system
entirely. This includes old files, libraries, and directories,
which should be removed when updating the system. The benefit
is that the system is not cluttered with old files which take up
unnecessary space on the storage and backup media.
Additionally, if the old library has a security or stability
issue, the system should be updated to the newer library to keep
it safe and to prevent crashes caused by the old library.
Files, directories, and libraries which are considered obsolete
are listed in <filename>/usr/src/ObsoleteFiles.inc</filename>.
The following instructions should be used to remove obsolete
files during the system upgrade process.</para>
<para>Follow the steps outlined in <xref
linkend="canonical-build"/>. After the
<command>make <maketarget>installworld</maketarget></command>
and the subsequent <command>mergemaster</command> have finished
successfully, check for obsolete files and libraries as
follows:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make check-old</userinput></screen>
<para>If any obsolete files are found, they can be deleted using
the following command:</para>
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
<tip>
<para>Refer to <filename>/usr/src/Makefile</filename>
for more targets of interest.</para>
</tip>
<para>A prompt is displayed before deleting each obsolete file.
To skip the prompt and let the system remove these files
automatically, use
<makevar>BATCH_DELETE_OLD_FILES</makevar>:</para>
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
<para>The same goal can be achieved by piping these commands
through <command>yes</command>:</para>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
<warning>
<title>Warning</title>
<para>Deleting obsolete files will break applications that
still depend on those obsolete files. This is especially true
for old libraries. In most cases, the programs, ports, or
libraries that used the old library need to be recompiled
before <command>make
<maketarget>delete-old-libs</maketarget></command> is
executed.</para>
</warning>
<para>Utilities for checking shared library dependencies are
available from the Ports Collection in
<filename role="package">sysutils/libchk</filename> or <filename
role="package">sysutils/bsdadminscripts</filename>.</para>
<para>Obsolete shared libraries can conflict with newer libraries,
causing messages like these:</para>
<screen>/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5</screen>
<para>To solve these problems, determine which port installed the
library:</para>
<screen>&prompt.root; <userinput>pkg_info -W /usr/local/lib/libtiff.so</userinput>
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; <userinput>pkg_info -W /usr/local/lib/libXext.so</userinput>
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
<para>Then deinstall, rebuild and reinstall the port. <filename
role="package">ports-mgmt/portmaster</filename> can be used to
automate this process. After all ports are rebuilt and no
longer use the old libraries, delete the old libraries using the
following command:</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
</sect1>
<sect1 id="small-lan">
<sect1info>
<authorgroup>

View file

@ -51,19 +51,11 @@
<para>How to create and burn CDs and DVDs on &os;.</para>
</listitem>
<listitem>
<para>The various storage media options for backups.</para>
</listitem>
<listitem>
<para>How to use the backup programs available under
&os;.</para>
</listitem>
<listitem>
<para>How to backup to floppy disks.</para>
</listitem>
<listitem>
<para>What file system snapshots are and how to use them
efficiently.</para>
@ -84,7 +76,7 @@
<title>Device Names</title>
<para>The following is a list of physical storage devices
supported in &os;, and their associated device names.</para>
supported in &os; and their associated device names.</para>
<table id="disk-naming-physical-table" frame="none">
<title>Physical Disk Naming Conventions</title>
@ -100,14 +92,27 @@
<tbody>
<row>
<entry>IDE hard drives</entry>
<entry><literal>ad</literal></entry>
<entry><literal>ad</literal> or
<literal>ada</literal></entry>
</row>
<row>
<entry>IDE CDROM drives</entry>
<entry><literal>acd</literal></entry>
<entry>IDE CD-ROM drives</entry>
<entry><literal>acd</literal> or
<literal>cd</literal></entry>
</row>
<row>
<entry>SATA hard drives</entry>
<entry><literal>ad</literal> or
<literal>ada</literal></entry>
</row>
<row>
<entry>SATA CD-ROM drives</entry>
<entry><literal>acd</literal> or
<literal>cd</literal></entry>
</row>
<row>
<entry>SCSI hard drives and USB Mass storage
devices</entry>
@ -115,12 +120,12 @@
</row>
<row>
<entry>SCSI CDROM drives</entry>
<entry>SCSI CD-ROM drives</entry>
<entry><literal>cd</literal></entry>
</row>
<row>
<entry>Assorted non-standard CDROM drives</entry>
<entry>Assorted non-standard CD-ROM drives</entry>
<entry><literal>mcd</literal> for Mitsumi CD-ROM and
<literal>scd</literal> for Sony CD-ROM devices</entry>
</row>
@ -180,562 +185,66 @@
</indexterm>
<para>This section describes how to add a new
<acronym>SCSI</acronym> disk to a machine that currently only
<acronym>SATA</acronym> disk to a machine that currently only
has a single drive. First, turn off the computer and install
the drive in the computer following the instructions of the
computer, controller, and drive manufacturers. Reboot
the system and become <username>root</username>.</para>
<para>Inspect <filename>/var/run/dmesg.boot</filename> to ensure
the new disk was found. In this example, the newly added SCSI
drive should appear as <devicename>da1</devicename>.</para>
the new disk was found. In this example, the newly added
<acronym>SATA</acronym> drive will appear as
<devicename>ada1</devicename>.</para>
<indexterm><primary>partitions</primary></indexterm>
<indexterm><primary>slices</primary></indexterm>
<indexterm>
<primary><command>fdisk</command></primary>
<primary><command>gpart</command></primary>
</indexterm>
<para>&os; runs on IBM-PC compatible computers, therefore it
must take into account the PC BIOS partitions which are
different from the traditional BSD partitions. A PC disk has up
to four BIOS partition entries. If the disk is going to be
truly dedicated to &os;, use <emphasis>dedicated</emphasis>
mode. Otherwise, &os; will have to live within one of the PC
BIOS partitions. &os; calls the PC BIOS partitions
<emphasis>slices</emphasis> so as not to confuse them with
traditional BSD partitions. Slices may also be used on a disk
that is dedicated to &os;, but used in a computer that also has
another operating system installed. This is a good way to avoid
confusing the <command>fdisk</command> utility of non-&os;
operating systems.</para>
<para>For this example, a single large partition will be created
on the new disk. The <ulink
url="http://en.wikipedia.org/wiki/GUID_Partition_Table">
<acronym>GPT</acronym></ulink> partitioning scheme will be
used in preference to the older and less versatile
<acronym>MBR</acronym> scheme.</para>
<para>In the slice case, the drive will be added as
<filename>/dev/da1s1e</filename>. This is read as: SCSI disk,
unit number 1 (second SCSI disk), slice 1 (PC BIOS partition 1),
and <filename>e</filename> BSD partition. In the dedicated
case, the drive will be added as
<filename>/dev/da1e</filename>.</para>
<note>
<para>If the disk to be added is not blank, old partition
information can be removed with
<command>gpart delete</command>. See &man.gpart.8; for
details.</para>
</note>
<para>Due to the use of 32-bit integers to store the number of
sectors, &man.bsdlabel.8; is limited to 2^32-1 sectors per disk,
or 2TB in most cases. The &man.fdisk.8; format allows a
starting sector of no more than 2^32-1 and a length of no more
than 2^32-1, limiting partitions to 2TB and disks to 4TB, in
most cases. The &man.sunlabel.8; format is limited to 2^32-1
sectors per partition and 8 partitions for a total of 16TB. For
larger disks, &man.gpart.8; may be used to create
<acronym>GPT</acronym> partitions. <acronym>GPT</acronym> has
the added benefit of not being limited to 4 slices.</para>
<para>The partition scheme is created, and then a single partition
is added:</para>
<sect2>
<title>Using &man.sysinstall.8;</title>
<screen>&prompt.root; <userinput>gpart create -s GPT ada1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs ada1</userinput></screen>
<indexterm>
<primary><application>sysinstall</application></primary>
<secondary>adding disks</secondary>
</indexterm>
<indexterm>
<primary>su</primary>
</indexterm>
<para>Depending on use, several smaller partitions may be desired.
See &man.gpart.8; for options to create partitions smaller than
a whole disk.</para>
<procedure>
<step>
<title>Navigating
<application>sysinstall</application></title>
<para>A file system is created on the new blank disk:</para>
<para><command>sysinstall</command> can be used to partition
and label a new disk using its easy-to-use menus. As
<username>root</username>, run
<command>sysinstall</command> and enter the
<literal>Configure</literal> menu. Within the
<literal>&os; Configuration Menu</literal>, scroll down
and select the <literal>Fdisk</literal> option.</para>
</step>
<screen>&prompt.root; <userinput>newfs -U /dev/ada1p1</userinput></screen>
<step>
<title><application>fdisk</application> Partition
Editor</title>
<para>An empty directory is created as a
<emphasis>mountpoint</emphasis>, a location for mounting the new
disk in the original disk's file system:</para>
<para>Once inside <application>fdisk</application>, pressing
<keycap>A</keycap> will use the entire disk for &os;.
When asked whether to <quote>remain cooperative with
any future possible operating systems</quote>, answer
<literal>YES</literal>. Write the changes to the disk
using <keycap>W</keycap>. Exit the fdisk editor by
pressing <keycap>Q</keycap> which will prompt about
the <quote>Master Boot Record</quote>. Since the disk is
being added to an already running system, choose
<literal>None</literal>.</para>
</step>
<screen>&prompt.root; <userinput>mkdir /newdisk</userinput></screen>
<step>
<title>Disk Label Editor</title>
<para>Finally, an entry is added to
<filename>/etc/fstab</filename> so the new disk will be mounted
automatically at startup:</para>
<indexterm><primary>BSD partitions</primary></indexterm>
<programlisting>/dev/ada1p1 /newdisk ufs rw 2 2</programlisting>
<para>Next, exit <application>sysinstall</application> and
start it again. Follow the directions above, except this
time choose the <literal>Label</literal> option. This
will enter the <literal>Disk Label Editor</literal>. This
editor is used to create traditional BSD partitions. A
disk can have up to eight partitions, labeled
<literal>a-h</literal>. A few of the partition labels
have special uses. The <literal>a</literal> partition is
used for the root partition (<filename
class="directory">/</filename>). Only the disk the
system boots from should have an <literal>a</literal>
partition. The <literal>b</literal> partition is used for
swap partitions, and there can be many disks with swap
partitions. The <literal>c</literal> partition addresses
the entire disk in dedicated mode, or the entire &os;
slice in slice mode. The other partitions are for general
use.</para>
<para>The new disk can be mounted manually, without restarting the
system:</para>
<para>The label editor in
<application>sysinstall</application> favors the
<literal>e</literal> partition for non-root, non-swap
partitions. Within the label editor, create a single file
system by pressing <keycap>C</keycap>. When prompted if
this will be a FS (file system) or swap, choose
<literal>FS</literal> and type in a mount point such as
<filename class="directory">/mnt</filename>). When adding
a disk in post-install mode,
<application>sysinstall</application> will not create
entries in <filename>/etc/fstab</filename>, so the mount
point you specify is not important.</para>
<para>Press <keycap>W</keycap> to write the new label to the
disk and create a file system on it. Ignore any errors
from <application>sysinstall</application> indicating that
it could not mount the new partition. Exit the label
editor then <application>sysinstall</application>
completely.</para>
</step>
<step>
<title>Finish</title>
<para>The last step is to edit
<filename>/etc/fstab</filename> to add an entry for your
new disk.</para>
</step>
</procedure>
</sect2>
<sect2>
<title>Using Command Line Utilities</title>
<sect3>
<title>Using Slices</title>
<para>The setup in the following example allows the new disk
to work correctly with other operating systems that might be
installed on the computer without confusing other operating
systems' <command>fdisk</command> utilities. This method is
recommended for new disk installs. Only use
<literal>dedicated</literal> mode if there is a good reason
to do so!</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>fdisk -BI da1</userinput> #Initialize your new disk
&prompt.root; <userinput>bsdlabel -B -w da1s1 auto</userinput> #Label it.
&prompt.root; <userinput>bsdlabel -e da1s1</userinput> # Edit the bsdlabel just created and add any partitions.
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # Repeat this for every partition you created.
&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # Mount the partition(s)
&prompt.root; <userinput>vi /etc/fstab</userinput> # Add the appropriate entry/entries to your <filename>/etc/fstab</filename>.</screen>
<para>For an IDE disk, substitute
<filename>ad</filename> for <filename>da</filename>.</para>
</sect3>
<sect3>
<title>Dedicated</title>
<indexterm><primary>OS/2</primary></indexterm>
<para>If the new drive will not be shared with another
operating system, <literal>dedicated</literal> mode can be
used. This mode can confuse Microsoft operating systems;
however, no damage will be done by them. To configure a
disk in dedicated mode:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>bsdlabel -Bw da1 auto</userinput>
&prompt.root; <userinput>bsdlabel -e da1</userinput> # create the `e' partition
&prompt.root; <userinput>newfs /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/da1e
&prompt.root; <userinput>mount /1</userinput></screen>
<para>An alternate method is:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput>
&prompt.root; <userinput>bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin</userinput>
&prompt.root; <userinput>newfs /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/da1e
&prompt.root; <userinput>mount /1</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="raid">
<title>RAID</title>
<sect2 id="raid-soft">
<title>Software RAID</title>
<sect3 id="ccd">
<sect3info>
<authorgroup>
<author>
<firstname>Christopher</firstname>
<surname>Shumway</surname>
<contrib>Original work by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Brown</surname>
<contrib>Revised by </contrib>
</author>
</authorgroup>
</sect3info>
<title>Concatenated Disk Driver (CCD) Configuration</title>
<indexterm><primary>RAID</primary><secondary>software</secondary></indexterm>
<indexterm><primary>RAID</primary><secondary>CCD</secondary></indexterm>
<para>When choosing a mass storage solution, the most
important factors to consider are speed, reliability, and
cost. It is rare to have all three in balance. Normally a
fast, reliable mass storage device is expensive, and to cut
back on cost either speed or reliability must be
sacrificed.</para>
<para>In designing the system described below, cost was
chosen as the most important factor, followed by speed,
then reliability. Data transfer speed for this system is
ultimately constrained by the network. While reliability is
very important, the CCD drive described below serves online
data that is already fully backed up and which can easily be
replaced.</para>
<para>Defining the requirements is the first step in choosing
a mass storage solution. If the requirements prefer speed
or reliability over cost, the solution will differ from the
system described in this section.</para>
<sect4 id="ccd-installhw">
<title>Installing the Hardware</title>
<para>In addition to the IDE system disk, three Western
Digital 30GB, 5400 RPM IDE disks form the core of the CCD
disk described below, providing approximately 90GB of
online storage. Ideally, each IDE disk would have its own
IDE controller and cable, but to minimize cost, additional
IDE controllers were not used. Instead, the disks were
configured with jumpers so that each IDE controller has
one master, and one slave.</para>
<para>Upon reboot, the system BIOS was configured to
automatically detect the disks attached. More
importantly, &os; detected them on reboot:</para>
<programlisting>ad0: 19574MB &lt;WDC WD205BA&gt; [39770/16/63] at ata0-master UDMA33
ad1: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-master UDMA33
ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlisting>
<note><para>If &os; does not detect all the disks, consult
the drive documentation for proper setup and verify
that the controller is supported by &os;.</para></note>
</sect4>
<sect4 id="ccd-setup">
<title>Setting Up the CCD</title>
<para>The &man.ccd.4; driver takes several identical disks
and concatenates them into one logical file system. In
order to use &man.ccd.4;, its kernel module must be
loaded using &man.ccd.4;. When using a custom kernel,
ensure that this line is compiled in:</para>
<programlisting>device ccd</programlisting>
<para>Before configuring &man.ccd.4;, use &man.bsdlabel.8;
to label the disks:</para>
<programlisting>bsdlabel -w ad1 auto
bsdlabel -w ad2 auto
bsdlabel -w ad3 auto</programlisting>
<para>This example creates a bsdlabel for
<devicename>ad1c</devicename>,
<devicename>ad2c</devicename> and
<devicename>ad3c</devicename> that spans the entire
disk.</para>
<para>The next step is to change the disk label type. Use
&man.bsdlabel.8; to edit the disks:</para>
<programlisting>bsdlabel -e ad1
bsdlabel -e ad2
bsdlabel -e ad3</programlisting>
<para>This opens up the current disk label on each disk with
the editor specified by the <envar>EDITOR</envar>
environment variable, typically &man.vi.1;.</para>
<para>An unmodified disk label will look something like
this:</para>
<programlisting>8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)</programlisting>
<para>Add a new <literal>e</literal> partition for
&man.ccd.4; to use. This can usually be copied from the
<literal>c</literal> partition, but the
<option>fstype</option> <emphasis>must</emphasis> be
<userinput>4.2BSD</userinput>. The disk label should now
look something like this:</para>
<programlisting>8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)</programlisting>
</sect4>
<sect4 id="ccd-buildingfs">
<title>Building the File System</title>
<para>Now that all the disks are labeled, build the
&man.ccd.4; using &man.ccdconfig.8;, with options similar
to the following:</para>
<programlisting>ccdconfig ccd0<co id="co-ccd-dev"/> 32<co id="co-ccd-interleave"/> 0<co id="co-ccd-flags"/> /dev/ad1e<co id="co-ccd-devs"/> /dev/ad2e /dev/ad3e</programlisting>
<para>The use and meaning of each option is described
below:</para>
<calloutlist>
<callout arearefs="co-ccd-dev">
<para>The first argument is the device to configure, in
this case, <filename>/dev/ccd0c</filename>. The
<literal>/dev/</literal> portion is optional.</para>
</callout>
<callout arearefs="co-ccd-interleave">
<para>The interleave for the file system, which defines
the size of a stripe in disk blocks, each normally 512
bytes. So, an interleave of 32 would be 16,384
bytes.</para>
</callout>
<callout arearefs="co-ccd-flags">
<para>Flags for &man.ccdconfig.8;. For example, to
enable drive mirroring, specify a flag. This
configuration does not provide mirroring for
&man.ccd.4;, so it is set at 0 (zero).</para>
</callout>
<callout arearefs="co-ccd-devs">
<para>The final arguments to &man.ccdconfig.8; are the
devices to place into the array. Use the complete
path name for each device.</para>
</callout>
</calloutlist>
<para>After running &man.ccdconfig.8; the &man.ccd.4; is
configured and a file system can be installed. Refer to
&man.newfs.8; for options, or run: </para>
<programlisting>newfs /dev/ccd0c</programlisting>
</sect4>
<sect4 id="ccd-auto">
<title>Making it All Automatic</title>
<para>Generally, &man.ccd.4; should be configured to
automount upon each reboot. To do this, write out the
current configuration to
<filename>/etc/ccd.conf</filename> using the following
command:</para>
<programlisting>ccdconfig -g &gt; /etc/ccd.conf</programlisting>
<para>During reboot, the script <command>/etc/rc</command>
runs <command>ccdconfig -C</command> if
<filename>/etc/ccd.conf</filename> exists. This
automatically configures the &man.ccd.4; so it can be
mounted.</para>
<note>
<para>When booting into single user mode, the following
command must be issued to configure the array before
the &man.ccd.4; can be mounted:</para>
<programlisting>ccdconfig -C</programlisting>
</note>
<para>To automatically mount the &man.ccd.4;, place an entry
for the &man.ccd.4; in <filename>/etc/fstab</filename> so
it will be mounted at boot time:</para>
<programlisting>/dev/ccd0c /media ufs rw 2 2</programlisting>
</sect4>
</sect3>
<sect3 id="vinum">
<title>The Vinum Volume Manager</title>
<indexterm>
<primary>RAID</primary>
<secondary>software</secondary>
</indexterm>
<indexterm>
<primary>RAID</primary>
<secondary>Vinum</secondary>
</indexterm>
<para>The Vinum Volume Manager is a block device driver which
implements virtual disk drives. It isolates disk hardware
from the block device interface and maps data in ways which
result in an increase in flexibility, performance and
reliability compared to the traditional slice view of disk
storage. &man.vinum.4; implements the RAID-0, RAID-1 and
RAID-5 models, both individually and in combination.</para>
<para>Refer to <xref linkend="vinum-vinum"/> for more
information about &man.vinum.4;.</para>
</sect3>
</sect2>
<sect2 id="raid-hard">
<title>Hardware RAID</title>
<indexterm>
<primary>RAID</primary>
<secondary>hardware</secondary>
</indexterm>
<para>&os; also supports a variety of hardware
<acronym>RAID</acronym> controllers. These devices control a
<acronym>RAID</acronym> subsystem without the need for &os;
specific software to manage the array.</para>
<para>Using an on-card <acronym>BIOS</acronym>, the card
controls most of the disk operations. The following is a
brief setup description using a Promise
<acronym>IDE</acronym> <acronym>RAID</acronym> controller.
When this card is installed and the system is started up, it
displays a prompt requesting information. Follow the
instructions to enter the card's setup screen and to combine
all the attached drives. After doing so, the disks will
look like a single drive to &os;. Other
<acronym>RAID</acronym> levels can be set up
accordingly.</para>
</sect2>
<sect2>
<title>Rebuilding ATA RAID1 Arrays</title>
<para>&os; supports the ability to hot-replace a failed disk in
an array.</para>
<para>An error indicating a failed disk will appear in
<filename>/var/log/messages</filename> or in the &man.dmesg.8;
output:</para>
<programlisting>ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
status=59 error=40
ar0: WARNING - mirror lost</programlisting>
<para>Use &man.atacontrol.8; to check for further
information:</para>
<screen>&prompt.root; <userinput>atacontrol list</userinput>
ATA channel 0:
Master: no device present
Slave: acd0 &lt;HL-DT-ST CD-ROM GCR-8520B/1.00&gt; ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
Slave: no device present
&prompt.root; <userinput>atacontrol status ar0</userinput>
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>
<procedure>
<step>
<para>First, detach the ata channel with the failed disk
so that it can be safely removed:</para>
<screen>&prompt.root; <userinput>atacontrol detach ata3</userinput></screen>
</step>
<step>
<para>Replace the disk.</para>
</step>
<step>
<para>Reattach the ata channel:</para>
<screen>&prompt.root; <userinput>atacontrol attach ata3</userinput>
Master: ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
Slave: no device present</screen>
</step>
<step>
<para>Add the new disk to the array as a spare:</para>
<screen>&prompt.root; <userinput>atacontrol addspare ar0 ad6</userinput></screen>
</step>
<step>
<para>Rebuild the array:</para>
<screen>&prompt.root; <userinput>atacontrol rebuild ar0</userinput></screen>
</step>
<step>
<para>It is possible to check on the progress by issuing the
following command:</para>
<screen>&prompt.root; <userinput>dmesg | tail -10</userinput>
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; <userinput>atacontrol status ar0</userinput>
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed</screen>
</step>
<step>
<para>Wait until this operation completes.</para>
</step>
</procedure>
</sect2>
<screen>&prompt.root; <userinput>mount /newdisk</userinput></screen>
</sect1>
<sect1 id="usb-disks">
@ -934,7 +443,7 @@ umass0: detached</screen>
<title>Creating and Using CD Media</title>
<indexterm>
<primary>CDROMs</primary>
<primary>CD-ROMs</primary>
<secondary>creating</secondary>
</indexterm>
@ -1052,7 +561,7 @@ umass0: detached</screen>
of ways.</para>
<indexterm>
<primary>CDROMs</primary>
<primary>CD-ROMs</primary>
<secondary>creating bootable</secondary>
</indexterm>
<para>The last option of general use is <option>-b</option>.
@ -1095,7 +604,7 @@ umass0: detached</screen>
<title><application>burncd</application></title>
<indexterm>
<primary>CDROMs</primary>
<primary>CD-ROMs</primary>
<secondary>burning</secondary>
</indexterm>
<para>For an ATAPI CD burner, <command>burncd</command> can be
@ -1141,7 +650,7 @@ umass0: detached</screen>
results like this:</para>
<indexterm>
<primary>CDROMs</primary>
<primary>CD-ROMs</primary>
<secondary>burning</secondary>
</indexterm>
<screen>&prompt.root; <userinput>cdrecord -scanbus</userinput>
@ -1262,8 +771,8 @@ scsibus1:
<para>It is possible to copy a data CD to an image file that is
functionally equivalent to the image file created with
&man.mkisofs.8;, and then use it to duplicate any data CD.
The example given here assumes that the CDROM device is
<devicename>acd0</devicename>. Substitute the correct CDROM
The example given here assumes that the CD-ROM device is
<devicename>acd0</devicename>. Substitute the correct CD-ROM
device.</para>
<screen>&prompt.root; <userinput>dd if=/dev/acd0 of=file.iso bs=2048</userinput></screen>
@ -1289,7 +798,7 @@ scsibus1:
&man.mount.8; that the file system is of type
<literal>ISO9660</literal> by specifying
<option>-t cd9660</option> to &man.mount.8;. For example,
to mount the CDROM device, <filename>/dev/cd0</filename>,
to mount the CD-ROM device, <filename>/dev/cd0</filename>,
under <filename class="directory">/mnt</filename>,
use:</para>
@ -1302,7 +811,7 @@ scsibus1:
<screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0 /mnt</userinput></screen>
<para>While data CDROMs from any vendor can be mounted this way,
<para>While data CD-ROMs from any vendor can be mounted this way,
disks with certain ISO 9660 extensions might behave oddly.
For example, Joliet disks store all filenames in two-byte
Unicode characters. The &os; kernel does not speak Unicode,
@ -1326,13 +835,13 @@ scsibus1:
</note>
<para>Occasionally, <errorname>Device not configured</errorname>
will be displayed when trying to mount a CDROM. This
usually means that the CDROM drive thinks that there is no
will be displayed when trying to mount a CD-ROM. This
usually means that the CD-ROM drive thinks that there is no
disk in the tray, or that the drive is not visible on the bus.
It can take a couple of seconds for a CDROM drive to realize
It can take a couple of seconds for a CD-ROM drive to realize
that a media is present, so be patient.</para>
<para>Sometimes, a SCSI CDROM may be missed because it did not
<para>Sometimes, a SCSI CD-ROM may be missed because it did not
have enough time to answer the bus reset. To resolve this,add
the following option to the kernel configuration and <link
linkend="kernelconfig-building">rebuild the
@ -1341,7 +850,7 @@ scsibus1:
<programlisting>options SCSI_DELAY=15000</programlisting>
<para>This tells the SCSI bus to pause 15 seconds during boot,
to give the CDROM drive every possible chance to answer the
to give the CD-ROM drive every possible chance to answer the
bus reset.</para>
</sect2>
@ -1360,7 +869,7 @@ scsibus1:
<screen>&prompt.root; <userinput>tar xzvf /dev/acd1</userinput></screen>
<para>This type of disk can not be mounted as a normal CDROM and
<para>This type of disk can not be mounted as a normal CD-ROM and
the data cannot be read under any operating system except
&os;. In order to mount the CD, or to share the data with
another operating system, &man.mkisofs.8; must be used as
@ -2108,105 +1617,6 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
</sect2>
</sect1>
<sect1 id="backups-floppybackups">
<title>Backups to Floppies</title>
<sect2 id="floppies-using">
<title>Can I Use Floppies for Backing Up My Data?</title>
<indexterm><primary>backup floppies</primary></indexterm>
<indexterm><primary>floppy disks</primary></indexterm>
<para>Floppy disks are not a suitable media for making backups
as:</para>
<itemizedlist>
<listitem>
<para>The media is unreliable, especially over long periods
of time.</para>
</listitem>
<listitem>
<para>Backing up and restoring is very slow.</para>
</listitem>
<listitem>
<para>They have a very limited capacity.</para>
</listitem>
</itemizedlist>
<para>However, if no other method of backing up data is
available, floppy disks are better than no backup at
all.</para>
<para>When backing up to floppy disks, ensure the floppies are
of good quality. Floppies that have been lying around the
office for a couple of years are a bad choice. Ideally,
use new ones from a reputable manufacturer.</para>
</sect2>
<sect2 id="floppies-creating">
<title>So How Do I Backup My Data to Floppies?</title>
<para>The best way to backup to floppy disk is to use
&man.tar.1; with <option>-M</option> (multi-volume), which
allows backups to span multiple floppies.</para>
<para>To backup all the files in the current directory and
sub-directory, use this as <username>root</username>:</para>
<screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>
<para>When the first floppy is full, &man.tar.1; will prompt
to insert the next volume, which in this case is the next
floppy disk:</para>
<screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>
<para>This is repeated, with the volume number incrementing,
until all the specified files have been archived.</para>
</sect2>
<sect2 id="floppies-compress">
<title>Can I Compress My Backups?</title>
<indexterm>
<primary><command>tar</command></primary>
</indexterm>
<indexterm>
<primary><command>gzip</command></primary>
</indexterm>
<indexterm><primary>compression</primary></indexterm>
<para>Unfortunately, &man.tar.1; does not support
<option>-z</option> for multi-volume archives. Instead,
&man.gzip.1; all the files, &man.tar.1; them to the floppies,
then &man.gunzip.1; the files.</para>
</sect2>
<sect2 id="floppies-restoring">
<title>How Do I Restore My Backups?</title>
<para>To restore the entire archive use:</para>
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen>
<para>There are two methods to restore only specific files. The
first is to insert the first floppy and use:</para>
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen>
<para>&man.tar.1; will prompt to insert subsequent floppies
until it finds the required file.</para>
<para>Alternatively, if the floppy containing the file is known,
insert that floppy and use the same command. If the first
file on the floppy is a continuation from the previous one,
&man.tar.1; will warn that it cannot restore it, even if you
have not asked it to.</para>
</sect2>
</sect1>
<sect1 id="backup-strategies">
<sect1info>
<authorgroup>
@ -2616,7 +2026,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<note>
<para>Livefs CD images are not available for
&os;&nbsp;&rel.current;-RELEASE and later. In addition to
the CDROM installation images, flash drive installation
the CD-ROM installation images, flash drive installation
images may be used to recover a system. The
<quote>memstick</quote> image for
&os;/&arch.i386;&nbsp;&rel.current;-RELEASE is available
@ -2657,10 +2067,10 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<quote>livefs</quote> CD and boot the computer. The
original install menu will be displayed on the screen.
Select the correct country, then choose
<guimenuitem>Fixit -- Repair mode with CDROM/DVD/floppy or
<guimenuitem>Fixit -- Repair mode with CD-ROM/DVD/floppy or
start a shell.</guimenuitem> then select
<guimenuitem>CDROM/DVD -- Use the live filesystem
CDROM/DVD</guimenuitem>.
<guimenuitem>CD-ROM/DVD -- Use the live filesystem
CD-ROM/DVD</guimenuitem>.
<command>restore</command> and the other needed programs
are located in <filename
class="directory">/mnt2/rescue</filename>.</para>
@ -3589,10 +2999,6 @@ gbde_lockdir="/etc/gbde"</programlisting>
<screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen>
<para>Also, since &man.vinum.4; does not use the
&man.geom.4; subsystem,
<application>gbde</application> can not be used with
<application>vinum</application> volumes.</para>
</sect3>
</sect2>
@ -3830,42 +3236,33 @@ geli_da2_flags="-p -k /root/da2.key"</programlisting>
<secondary>encrypting</secondary>
</indexterm>
<para>Swap encryption in &os; is easy to configure. Depending on
which version of &os; is being used, different options are
available and configuration can vary slightly. The &man.gbde.8;
or &man.geli.8; encryption systems can be used for swap
encryption. Both systems use the <filename>encswap</filename>
<para>Like the encryption of disk partitions, encryption of swap
space is used to protect sensitive information. Consider an
application that deals with passwords. As long as these
passwords stay in physical memory, these passwords will not
be written to disk and be cleared after a reboot. If &os;
starts swapping out memory pages to free
space for other applications, the passwords may be written to
the disk platters unencrypted. Encrypting swap space can be a
solution for this scenario.</para>
<para>The &man.gbde.8; or &man.geli.8; encryption systems may be
used for swap encryption. Both systems use the
<filename>encswap</filename>
<link linkend="configtuning-rcd">rc.d</link> script.</para>
<sect2>
<title>Why Should Swap be Encrypted?</title>
<note>
<para>For the remainder of this section,
<devicename>ad0s1b</devicename> will be the swap
partition.</para>
</note>
<para>Like the encryption of disk partitions, encryption of swap
space is used to protect sensitive information. Consider an
application that deals with passwords. As long as these
passwords stay in physical memory, all is well. However, if
the operating system starts swapping out memory pages to free
space for other applications, the passwords may be written to
the disk platters unencrypted. Encrypting swap space can be a
solution for this scenario.</para>
</sect2>
<para>Swap partitions are not encrypted by default and should
be cleared of any sensitive data before continuing. To
overwrite the current swap parition with random garbage,
execute the following command:</para>
<sect2>
<title>Preparation</title>
<note>
<para>For the remainder of this section,
<devicename>ad0s1b</devicename> will be the swap
partition.</para>
</note>
<para>By default, swap is unencrypted. It is possible that it
contains passwords or other sensitive data in cleartext. To
rectify this, the data on the swap partition should be
overwritten with random garbage:</para>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/ad0s1b bs=1m</userinput></screen>
</sect2>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/<replaceable>ad0s1b</replaceable> bs=1m</userinput></screen>
<sect2>
<title>Swap Encryption with &man.gbde.8;</title>
@ -3907,7 +3304,7 @@ geli_da2_flags="-p -k /root/da2.key"</programlisting>
</sect2>
<sect2>
<title>Verifying That it Works</title>
<title>Encrypted Swap Verification</title>
<para>Once the system has rebooted, proper operation of the
encrypted swap can be verified using

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
-->
<chapter id="GEOM">
<chapter id="geom">
<chapterinfo>
<authorgroup>
<author>
@ -18,7 +18,7 @@
<title>GEOM: Modular Disk Transformation Framework</title>
<sect1 id="GEOM-synopsis">
<sect1 id="geom-synopsis">
<title>Synopsis</title>
<indexterm>
@ -81,7 +81,7 @@
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<sect1 id="geom-intro">
<title>GEOM Introduction</title>
<para>GEOM permits access and control to classes, such as Master
@ -93,7 +93,7 @@
operating system utilities.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1 id="geom-striping">
<sect1info>
<authorgroup>
<author>
@ -224,7 +224,7 @@ Done.</screen>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<sect1 id="geom-mirror">
<title>RAID1 - Mirroring</title>
<indexterm>
@ -269,7 +269,7 @@ Done.</screen>
first.</para>
</warning>
<sect2 id="GEOM-mirror-metadata">
<sect2 id="geom-mirror-metadata">
<title>Metadata Issues</title>
<para>Many disk systems store metadata at the end of each disk.
@ -305,7 +305,7 @@ Done.</screen>
the disk and does not conflict with &man.gmirror.8;.</para>
</sect2>
<sect2>
<sect2 id="geom-mirror-two-new-disks">
<title>Creating a Mirror with Two New Disks</title>
<para>In this example, &os; has already been installed on a
@ -428,7 +428,7 @@ Done.</screen>
single drive.</para>
</sect2>
<sect2>
<sect2 id="geom-mirror-existing-drive">
<title>Creating a Mirror with an Existing Drive</title>
<para>In this example, &os; has already been installed on a
@ -802,7 +802,7 @@ mountroot&gt;</screen>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<para>Any old metadata should be <link
linkend="GEOM-mirror-metadata">cleared from the replacement
linkend="geom-mirror-metadata">cleared from the replacement
disk</link>. Then the disk, <devicename>ada4</devicename>
for this example, is inserted into the mirror:</para>
@ -824,7 +824,7 @@ mountroot&gt;</screen>
</sect2>
</sect1>
<sect1 id="GEOM-raid3">
<sect1 id="geom-raid3">
<sect1info>
<authorgroup>
<author>

File diff suppressed because it is too large Load diff

View file

@ -511,7 +511,7 @@
<indexterm><primary>Weathernews</primary></indexterm>
<para><ulink
url="http://www.wni.com/">Weathernews</ulink></para>
url="http://www.weathernews.com/">Weathernews</ulink></para>
</listitem>
<listitem>
@ -541,16 +541,6 @@
the development model of the project.</para>
<sect2 id="intro-history">
<sect2info role="firstperson">
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>A Brief History of &os;</title>
<indexterm><primary>386BSD Patchkit</primary></indexterm>
@ -562,24 +552,24 @@
<secondary>history</secondary>
</indexterm>
<para>The &os;&nbsp;Project had its genesis in the early part
of 1993, partially as an outgrowth of the <quote>Unofficial
386BSDPatchkit</quote> by the patchkit's last 3
coordinators: Nate Williams, Rod Grimes and myself.</para>
of 1993, partially as an outgrowth of the Unofficial
386BSDPatchkit by the patchkit's last 3
coordinators: Nate Williams, Rod Grimes and Jordan
Hubbard.</para>
<indexterm><primary>386BSD</primary></indexterm>
<para>Our original goal was to produce an intermediate snapshot
<para>The original goal was to produce an intermediate snapshot
of 386BSD in order to fix a number of problems with it that
the patchkit mechanism just was not capable of solving. Some
of you may remember the early working title for the project
being <quote>386BSD 0.5</quote> or <quote>386BSD
Interim</quote> in reference to that fact.</para>
the patchkit mechanism just was not capable of solving. The
early working title for the project was
386BSD 0.5 or 386BSD Interim in
reference of that fact.</para>
<indexterm><primary>Jolitz, Bill</primary></indexterm>
<para>386BSD was Bill Jolitz's operating system, which had been
up to that point suffering rather severely from almost a
year's worth of neglect. As the patchkit swelled ever more
uncomfortably with each passing day, we were in unanimous
agreement that something had to be done and decided to assist
uncomfortably with each passing day, they decided to assist
Bill by providing this interim <quote>cleanup</quote>
snapshot. Those plans came to a rude halt when Bill Jolitz
suddenly decided to withdraw his sanction from the project
@ -588,12 +578,12 @@
<indexterm><primary>Greenman, David</primary></indexterm>
<indexterm><primary>Walnut Creek CDROM</primary></indexterm>
<para>It did not take us long to decide that the goal remained
worthwhile, even without Bill's support, and so we adopted the
name <quote>&os;</quote>, coined by David Greenman. Our
<para>The trio thought that the goal remained
worthwhile, even without Bill's support, and so they adopted the
name "&os;" coined by David Greenman. The
initial objectives were set after consulting with the system's
current users and, once it became clear that the project was
on the road to perhaps even becoming a reality, I contacted
on the road to perhaps even becoming a reality, Jordan contacted
Walnut Creek CDROM with an eye toward improving &os;'s
distribution channels for those many unfortunates without easy
access to the Internet. Walnut Creek CDROM not only supported
@ -615,7 +605,7 @@
on the 4.3BSD-Lite (<quote>Net/2</quote>) tape from U.C.
Berkeley, with many components also provided by 386BSD and the
Free Software Foundation. It was a fairly reasonable success
for a first offering, and we followed it with the highly
for a first offering, and they followed it with the highly
successful &os; 1.1 release in May of 1994.</para>
<indexterm><primary>Novell</primary></indexterm>
@ -654,83 +644,13 @@
more robust and easier to install &os;&nbsp;2.0.5 release in
June of 1995.</para>
<para>We released &os;&nbsp;2.1.5 in August of 1996, and it
appeared to be popular enough among the ISP and commercial
communities that another release along the 2.1-STABLE branch
was merited. This was &os;&nbsp;2.1.7.1, released in February
1997 and capping the end of mainstream development on
2.1-STABLE. Now in maintenance mode, only security
enhancements and other critical bug fixes will be done on this
branch (RELENG_2_1_0).</para>
<para>&os;&nbsp;2.2 was branched from the development mainline
(<quote>-CURRENT</quote>) in November 1996 as the RELENG_2_2
branch, and the first full release (2.2.1) was released in
April 1997. Further releases along the 2.2 branch were done
in the summer and fall of '97, the last of which (2.2.8)
appeared in November 1998. The first official 3.0 release
appeared in October 1998 and spelled the beginning of the end
for the 2.2 branch.</para>
<para>The tree branched again on Jan 20, 1999, leading to the
4.0-CURRENT and 3.X-STABLE branches. From 3.X-STABLE, 3.1 was
released on February 15, 1999, 3.2 on May 15, 1999, 3.3 on
September 16, 1999, 3.4 on December 20, 1999, and 3.5 on
June 24, 2000, which was followed a few days later by a minor
point release update to 3.5.1, to incorporate some last-minute
security fixes to Kerberos. This will be the final release
in the 3.X branch.</para>
<para>There was another branch on March 13, 2000, which saw the
emergence of the 4.X-STABLE branch. There have been several
releases from it so far: 4.0-RELEASE was introduced in March
2000, and the last 4.11-RELEASE came out in January
2005.</para>
<para>The long-awaited 5.0-RELEASE was announced on January 19,
2003. The culmination of nearly three years of work, this
release started &os; on the path of advanced multiprocessor
and application thread support and introduced support for the
&ultrasparc; and <literal>ia64</literal> platforms. This
release was followed by 5.1 in June of 2003. The last 5.X
release from the -CURRENT branch was 5.2.1-RELEASE, introduced
in February 2004.</para>
<para>The RELENG_5 branch, created in August 2004, was followed
by 5.3-RELEASE, which marked the beginning of the 5-STABLE
branch releases. The most recent 5.5-RELEASE release came out
in May 2006. There will be no additional releases from the
RELENG_5 branch.</para>
<para>The tree was branched again in July 2005, this time for
RELENG_6. 6.0-RELEASE, the first release of the 6.X branch,
was released in November 2005. The most recent 6.4-RELEASE
came out in November 2008. There will be no additional
releases from the RELENG_6 branch. This branch is the last
branch to support the Alpha architecture.</para>
<para>The RELENG_7 branch was created in October 2007. The
first release of this branch was 7.0-RELEASE, which came
out in February 2008. The most recent 7.4-RELEASE came out
in February 2011. There will be no additional releases from
the RELENG_7 branch.</para>
<para>The tree was branched again in August 2009, this time for
RELENG_8. 8.0-RELEASE, the first release of the 8.X branch,
was released in November 2009. The most recent
&rel2.current;-RELEASE came out in &rel2.current.date;. There
will be additional releases from the RELENG_8 branch.</para>
<para>The RELENG_9 branch was created in September 2011. The
first release of this branch was 9.0-RELEASE, which came
out in January 2012. The most recent &rel.current;-RELEASE
came out in &rel.current.date;. There will be additional
releases from the RELENG_9 branch.</para>
<para>Since that time, &os; has made a series of releases each
time improving the stability, speed, and feature set of the
previous version.</para>
<para>For now, long-term development projects continue to take
place in the 10.X-CURRENT (trunk) branch, and SNAPshot
releases of 10.X on CD-ROM (and, of course, on the net) are
continually made available from <ulink
place in the 10.X-CURRENT (trunk) branch, and snapshot
releases of 10.X are continually made available from <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/">the
snapshot server</ulink> as work progresses.</para>
</sect2>
@ -980,60 +900,19 @@
</sect2>
<sect2 id="relnotes">
<title>The Current &os; Release</title>
<indexterm><primary>NetBSD</primary></indexterm>
<indexterm><primary>OpenBSD</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software
Foundation</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm>
<primary>Computer Systems Research Group (CSRG)</primary>
</indexterm>
<para>&os; is a freely available, full source 4.4BSD-Lite based
release for Intel &i386;, &i486;, &pentium;,
&pentium;&nbsp;Pro,
&celeron;,
&pentium;&nbsp;II,
&pentium;&nbsp;III,
&pentium;&nbsp;4 (or compatible),
&xeon;,
and Sun &ultrasparc; based computer
systems. It is based primarily on software from U.C.
Berkeley's CSRG group, with some enhancements from NetBSD,
OpenBSD, 386BSD, and the Free Software Foundation.</para>
<para>Since our release of &os;&nbsp;2.0 in late 1994, the
performance, feature set, and stability of &os; has improved
dramatically.
<!-- XXX is the rest of this paragraph still true ? -->
The largest change is a revamped virtual memory system with a
merged VM/file buffer cache that not only increases
performance, but also reduces &os;'s memory footprint, making
a 5&nbsp;MB configuration a more acceptable minimum. Other
enhancements include full NIS client and server support,
transaction TCP support, dial-on-demand PPP, integrated DHCP
support, an improved SCSI subsystem, ISDN support, support for
ATM, FDDI, Fast and Gigabit Ethernet (1000&nbsp;Mbit)
adapters, improved support for the latest Adaptec controllers,
and many thousands of bug fixes.</para>
<title>Third Party Programs</title>
<para>In addition to the base distributions, &os; offers a
ported software collection with thousands of commonly
sought-after programs. At the time of this printing, there
sought-after programs. At the time of this writing, there
were over &os.numports; ports! The list of ports ranges from
http (WWW) servers, to games, languages, editors, and almost
http servers, to games, languages, editors, and almost
everything in between. The entire Ports Collection requires
approximately &ports.size; of storage, all ports being
expressed as <quote>deltas</quote> to their original sources.
This makes it much easier for us to update ports, and greatly
reduces the disk space demands made by the older 1.0 Ports
Collection. To compile a port, you simply change to the
directory of the program you wish to install, type
approximately &ports.size;. To compile a port, you simply change
to the directory of the program you wish to install, type
<command>make install</command>, and let the system do the
rest. The full original distribution for each port you build
is retrieved dynamically off the CD-ROM or a local FTP site,
is retrieved dynamically
so you need only enough disk space to build the ports you
want. Almost every port is also provided as a pre-compiled
<quote>package</quote>, which can be installed with a simple
@ -1041,6 +920,10 @@
to compile their own ports from source. More information on
packages and ports can be found in <xref
linkend="ports"/>.</para>
</sect2>
<sect2>
<title>Additional Documentation</title>
<para>All recent &os; versions provide an option in the
installer (either &man.sysinstall.8; or &man.bsdinstall.8;) to

File diff suppressed because it is too large Load diff

View file

@ -695,7 +695,7 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
<para>Adds support for <ulink
url="http://en.wikipedia.org/wiki/GUID_Partition_Table">GUID
Partition Tables</ulink> (<acronym>GPT</acronym>. GPT
Partition Tables</ulink> (<acronym>GPT</acronym>). GPT
provides the ability to have a large number of partitions per
disk, 128 in the standard configuration.</para>
@ -778,29 +778,6 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
device nodes in <filename
class="directory">/dev</filename>.</para>
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
<para>Giant is the name of a mutual exclusion mechanism, a
sleep mutex, that protects a large set of kernel resources.
Today, this is an unacceptable performance bottleneck which
is actively being replaced with locks that protect individual
resources. The <literal>ADAPTIVE_GIANT</literal> option causes
Giant to be included in the set of mutexes adaptively spun on.
When a thread wants to lock the Giant mutex, but it is already
locked by a thread on another CPU, the first thread will keep
running and wait for the lock to be released. Normally, the
thread would instead go back to sleep and wait for its next
chance to run. If unsure, leave this in.</para>
<note>
<para>Beginning with &os;&nbsp;8.0, all mutexes are adaptive by
default, unless explicitly set to non-adaptive by compiling
with the <literal>NO_ADAPTIVE_MUTEXES</literal> option. As a
result, Giant is adaptive by default now, and the
<literal>ADAPTIVE_GIANT</literal> option has been removed
from the kernel configuration.</para>
</note>
<indexterm>
<primary>kernel options</primary>
<secondary>SMP</secondary>
@ -1441,7 +1418,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
mechanism for recovering from incompatible kernels.
Simply choose the kernel to boot from at the &os; boot
loader. This can be accessed when the system boot menu
appears by selecting the <quote>Escape to a loader
appears by selecting the <quote>Escape to a loader
prompt</quote> option. At the prompt, type
<command>boot
<replaceable>kernel.old</replaceable></command>, or

View file

@ -933,10 +933,9 @@ exit 0</programlisting>
<sect2>
<title>Installing the &linux; Environment</title>
<para>Make sure both <filename
role='package'>emulators/linux_base</filename> and
<filename role='package'>devel/linux_devtools</filename>
are installed from the Ports Collection.</para>
<para>Make sure <filename
role='package'>emulators/linux_base</filename>
has been installed from the Ports Collection.</para>
<para>To run the intelligent agent, install the Red Hat Tcl
package: <filename>tcl-8.0.3-20.i386.rpm</filename>. The

View file

@ -769,7 +769,7 @@ test: biba/high</screen>
</sect1>
<sect1 id="mac-seeotheruids">
<title>The &man.mac.seeotheruids.4; Module</title>
<title>The MAC See Other UIDs Policy</title>
<indexterm>
<primary>MAC See Other UIDs Policy</primary>
@ -824,7 +824,7 @@ test: biba/high</screen>
</sect1>
<sect1 id="mac-bsdextended">
<title>The &man.mac.bsdextended.4; Module</title>
<title>The MAC BSD Extended Policy</title>
<indexterm>
<primary>MAC</primary>
@ -904,7 +904,7 @@ test: biba/high</screen>
</sect1>
<sect1 id="mac-ifoff">
<title>The &man.mac.ifoff.4; Module</title>
<title>The MAC Interface Silencing Policy</title>
<indexterm>
<primary>MAC Interface Silencing Policy</primary>
@ -955,7 +955,7 @@ test: biba/high</screen>
</sect1>
<sect1 id="mac-portacl">
<title>The &man.mac.portacl.4; Module</title>
<title>The MAC Port Access Control List Policy</title>
<indexterm>
<primary>MAC Port Access Control List Policy</primary>
@ -1069,7 +1069,7 @@ net.inet.ip.portrange.reservedhigh=0</userinput></screen>
</sect1>
<sect1 id="mac-partition">
<title>The &man.mac.partition.4; Module</title>
<title>The MAC Partition Policy</title>
<indexterm>
<primary>MAC Process Partition Policy</primary>
@ -1807,141 +1807,137 @@ setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart</userinput></s
<para>This section discusses common configuration issues.</para>
<sect2>
<title><option>multilabel</option> cannot be enabled on
<filename>/</filename></title>
<itemizedlist>
<listitem>
<para>The <option>multilabel</option> flag does not stay
enabled on my root (<filename>/</filename>) partition!</para>
<para>The<option>multilabel</option> flag does not stay
enabled on my root (<filename>/</filename>) partition!</para>
<para>The following steps may resolve this transient
error:</para>
<procedure>
<step>
<para>Edit <filename>/etc/fstab</filename> and set the root
partition to <option>ro</option> for read-only.</para>
</step>
<para>The following steps may resolve this transient
error:</para>
<step>
<para>Reboot into single user mode.</para>
</step>
<procedure>
<step>
<para>Edit <filename>/etc/fstab</filename> and set the root
partition to <option>ro</option> for read-only.</para>
</step>
<step>
<para>Reboot into single user mode.</para>
</step>
<step>
<para>Run <command>tunefs</command> <option>-l
<step>
<para>Run <command>tunefs</command> <option>-l
enable</option>
on <filename>/</filename>.</para>
</step>
on <filename>/</filename>.</para>
</step>
<step>
<para>Reboot the system.</para>
</step>
<step>
<para>Reboot the system.</para>
</step>
<step>
<para>Run <command>mount</command> <option>-urw</option>
<filename>/</filename> and change the <option>ro</option>
back to <option>rw</option> in
<filename>/etc/fstab</filename> and reboot the system
again.</para>
</step>
<step>
<para>Run <command>mount</command> <option>-urw</option>
<filename>/</filename> and change the <option>ro</option>
back to <option>rw</option> in
<filename>/etc/fstab</filename> and reboot the system
again.</para>
</step>
<step>
<para>Double-check the output from
<command>mount</command> to ensure that
<option>multilabel</option> has been properly set on the
root file system.</para>
</step>
</procedure>
</sect2>
<step>
<para>Double-check the output from
<command>mount</command> to ensure that
<option>multilabel</option> has been properly set on the
root file system.</para>
</step>
</procedure>
</listitem>
<sect2>
<title>Xorg Server Will Not Start After
<acronym>MAC</acronym></title>
<listitem>
<para>After establishing a secure environment with
<acronym>MAC</acronym>, I am no longer able to start
Xorg!</para>
<para>After establishing a secure environment with
<acronym>MAC</acronym>, I am no longer able to start
Xorg!</para>
<para>This could be caused by the <acronym>MAC</acronym>
<literal>partition</literal> policy or by a mislabeling in
one of the <acronym>MAC</acronym> labeling policies. To
debug, try the following:</para>
<para>This could be caused by the <acronym>MAC</acronym>
<literal>partition</literal> policy or by a mislabeling in
one of the <acronym>MAC</acronym> labeling policies. To
debug, try the following:</para>
<procedure>
<step>
<para>Check the error message; if the user is in the
<literal>insecure</literal> class, the
<literal>partition</literal> policy may be the culprit.
Try setting the user's class back to the
<literal>default</literal> class and rebuild the database
with <command>cap_mkdb</command>. If this does not
alleviate the problem, go to step two.</para>
</step>
<procedure>
<step>
<para>Check the error message; if the user is in the
<literal>insecure</literal> class, the
<literal>partition</literal> policy may be the culprit.
Try setting the user's class back to the
<literal>default</literal> class and rebuild the database
with <command>cap_mkdb</command>. If this does not
alleviate the problem, go to step two.</para>
</step>
<step>
<para>Double-check the label policies. Ensure that the
policies are set correctly for the user, the Xorg
application, and the <filename
class="directory">/dev</filename> entries.</para>
</step>
<step>
<para>Double-check the label policies. Ensure that the
policies are set correctly for the user, the Xorg
application, and the <filename
class="directory">/dev</filename> entries.</para>
</step>
<step>
<para>If neither of these resolve the problem, send the
error message and a description of the environment to
the &a.questions; mailing list.</para>
</step>
</procedure>
</listitem>
<step>
<para>If neither of these resolve the problem, send the
error message and a description of the environment to
the &a.questions; mailing list.</para>
</step>
</procedure>
</sect2>
<listitem>
<para>The error: <errorname>_secure_path: unable to stat
.login_conf</errorname> shows up.</para>
<sect2>
<title>Error: &man..secure.path.3; cannot stat
<filename>.login_conf</filename></title>
<para>When a user attempts to switch from the
<username>root</username> user to another user in the system,
the error message <errorname>_secure_path: unable to state
<para>When a user attempts to switch from the
<username>root</username> user to another user in the system,
the error message <errorname>_secure_path: unable to stat
.login_conf</errorname> appears.</para>
<para>This message is usually shown when the user has a higher
label setting than that of the user they are attempting to
become. For instance, <username>joe</username> has a default
label of <option>biba/low</option>. The
<username>root</username> user, who has a label of
<option>biba/high</option>, cannot view
<username>joe</username>'s home directory. This will happen
whether or not <username>root</username> has used
<command>su</command> to become <username>joe</username> as
the Biba integrity model will not permit
<username>root</username> to view objects set at a lower
integrity level.</para>
</sect2>
<para>This message is usually shown when the user has a higher
label setting than that of the user they are attempting to
become. For instance, <username>joe</username> has a default
label of <option>biba/low</option>. The
<username>root</username> user, who has a label of
<option>biba/high</option>, cannot view
<username>joe</username>'s home directory. This will happen
whether or not <username>root</username> has used
<command>su</command> to become <username>joe</username> as
the Biba integrity model will not permit
<username>root</username> to view objects set at a lower
integrity level.</para>
</listitem>
<sect2>
<title>The <username>root</username> username is broken!</title>
<listitem>
<para>The system no longer recognizes the
<username>root</username> user.</para>
<para>In normal or even single user mode, the
<username>root</username> is not recognized,
<command>whoami</command> returns 0 (zero), and
<command>su</command> returns <errorname>who are
<para>In normal or even single user mode, the
<username>root</username> is not recognized,
<command>whoami</command> returns 0 (zero), and
<command>su</command> returns <errorname>who are
you?</errorname>.</para>
<para>This can happen if a labeling policy has been disabled,
either by a &man.sysctl.8; or the policy module was unloaded.
If the policy is disabled, the login capabilities database
needs to be reconfigured with <option>label</option> removed.
Double check <filename>login.conf</filename> to ensure that
all <option>label</option> options have been removed and
rebuild the database with <command>cap_mkdb</command>.</para>
<para>This can happen if a labeling policy has been disabled,
either by a &man.sysctl.8; or the policy module was unloaded.
If the policy is disabled, the login capabilities database
needs to be reconfigured with <option>label</option> removed.
Double check <filename>login.conf</filename> to ensure that
all <option>label</option> options have been removed and
rebuild the database with <command>cap_mkdb</command>.</para>
<para>This may also happen if a policy restricts access to
<filename>master.passwd</filename>. This is usually caused by
an administrator altering the file under a label which
conflicts with the general policy being used by the system.
In these cases, the user information would be read by the
system and access would be blocked as the file has inherited
the new label. Disable the policy using &man.sysctl.8; and
everything should return to normal.</para>
</sect2>
<para>This may also happen if a policy restricts access to
<filename>master.passwd</filename>. This is usually caused by
an administrator altering the file under a label which
conflicts with the general policy being used by the system.
In these cases, the user information would be read by the
system and access would be blocked as the file has inherited
the new label. Disable the policy using &man.sysctl.8; and
everything should return to normal.</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>

File diff suppressed because it is too large Load diff

View file

@ -121,28 +121,6 @@
&chap.mirrors.ftp.inc;
</sect1>
<sect1 id="mirrors-bittorrent">
<title>BitTorrent</title>
<indexterm>
<primary>BitTorrent</primary>
</indexterm>
<para>The ISO images for the basic release CDs are available via
BitTorrent. A collection of torrent files to download the
images is available at <ulink
url="http://torrents.freebsd.org:8080/">http://torrents.freebsd.org:8080</ulink></para>
<para>The BitTorrent client software is available from the
<filename role="package">net-p2p/py-bittorrent</filename> port,
or a precompiled package.</para>
<para>After downloading the ISO image with BitTorrent, you may
burn it to CD or DVD media as described in
<xref linkend="burncd"/>, burncd.</para>
</sect1>
<sect1 id="anoncvs">
<title>Anonymous CVS (Deprecated)</title>
@ -1775,15 +1753,6 @@ usr.bin/</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_8_4</term>
<listitem>
<para>The release branch for &os;-8.4, used only for
security advisories and other critical fixes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_8_3</term>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -347,22 +347,19 @@ Info: Lists information about open files (similar to fstat(1))</screen>
<title>Using Binary Packages</title>
<para>There are several different tools used to manage packages on
&os;:</para>
<para>At the present time, &os; is transitioning toward a new
method of package management. Users of the latest releases
may wish to investigate the benefits of using
<link linkend="pkgng-intro">PKGng</link> to manage third
party software on &os;. For those not yet migrated to the
<application>pkgng</application> tool, the tools discussed
here may be used for managing the package database. For
simplicity, the <command>sysinstall</command> utility is
also available post-install for package management.</para>
<itemizedlist>
<listitem>
<para>The <command>sysinstall</command> utility can be invoked
on a running system to install, delete, and list available
and installed packages. For more information, see
<xref linkend="packages"/>.</para>
</listitem>
<listitem>
<para>The package management command line tools, which are
the subject of the rest of this section.</para>
</listitem>
</itemizedlist>
<para>All package installation files are stored in the
package database directory,
<filename class="directory">/var/db/pkg</filename>.</para>
<sect2>
<title>Installing a Package</title>
@ -579,14 +576,6 @@ docbook =
<para>in this case, all packages whose names start with
<literal>xchat</literal> will be deleted.</para>
</sect2>
<sect2>
<title>Miscellaneous</title>
<para>All package information, including the file list and
descriptions of each installed package is stored within the
<filename>/var/db/pkg</filename> directory.</para>
</sect2>
</sect1>
<sect1 id="pkgng-intro">
@ -1711,8 +1700,8 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
===>>> apache22-2.2.3
===>>> New version available: apache22-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
@ -1800,32 +1789,40 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</sect1>
<sect1 id="ports-nextsteps">
<title>Post-installation Activities</title>
<title>Working With Installed Ports</title>
<para>After installing a new application you will normally want to
read any documentation it may have included, edit any
required configuration files, and ensure that the
application's service starts at boot time.</para>
<para>Most third party applications will need some level of
configuration after they were installed. This may be a simple
configuration file alteration, or perhaps the application will
just generate a configuration file. Most applications will
have documentation installed into
<filename class="directory">/usr/local/share/doc</filename> and
manual pages. This documentation should be consulted before
continuing. Some applications run services which must be added
to the <filename>/etc/rc.conf</filename> file before
starting.</para>
<para>The exact steps you need to take to configure each
application will obviously be different. However, if you have
just installed a new application and are wondering
<quote>What now?</quote> these tips might help:</para>
<para>The following list contains useful information for
post-install port management. In several cases, finding
the location of binaries if they were installed outside
of the <envar>PATH</envar>. Users of &man.csh.1; should run
<command>rehash</command> to rebuild the known binary
list in the shells <envar>PATH</envar>.</para>
<itemizedlist>
<listitem>
<para>Use &man.pkg.info.1; to find out which files were
installed, and where. For example, if you have just
installed FooPackage version 1.0.0, then this command</para>
<para>The &man.pkg.info.1; command will print all installed
files and their location. For example, if the FooPackage
version 1.0.0 was just installed, then the following
command will show all the files installed with the
package.</para>
<screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen>
<screen>&prompt.root; <userinput>pkg_info -L <replaceable>foopackage-1.0.0</replaceable> | less</userinput></screen>
<para>will show all the files installed by the package. Pay
special attention to files located in
<filename>man/</filename>, which will be manual pages,
<filename>etc/</filename>, which will be configuration
files, and <filename>doc/</filename>, which will be more
comprehensive documentation.</para>
<para>Configuration files are always installed in
<filename class="directory">/usr/local/etc</filename>
and should definitely be consulted before attempting
to use the new application.</para>
<para>To determine which version of the application was
installed:</para>
@ -1839,17 +1836,18 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</listitem>
<listitem>
<para>Once you have identified where the application's manual
pages have been installed, review them using &man.man.1;.
Review the sample configuration files and any additional
documentation that may have been provided.</para>
<para>These commands will also show the names of any manual
pages installed with the application. This additional
documentation will now be available to the &man.man.1;
command.</para>
</listitem>
<listitem>
<para>If the application has a web site, check it for
additional documentation, frequently asked questions, and so
forth. If you are not sure of the web site address it may
be listed in the output from</para>
<para>If the application has a web site, consult it for
additional documentation or a frequently asked questions
page. If the website is unknown, the following command
will be useful to print out this information if it's
available.</para>
<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
@ -1871,14 +1869,13 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<sect1 id="ports-broken">
<title>Dealing with Broken Ports</title>
<para>If you come across a port that does not compile:</para>
<para>When coming across a port that does not build or install:</para>
<orderedlist>
<listitem>
<para>Find out if there is a fix pending for the port in
the <ulink url="&url.base;/support.html#gnats">Problem
Report database</ulink>. If so, you may be able to use
the proposed fix.</para>
Report database</ulink>. If so, the proposed fix may work.</para>
</listitem>
<listitem>

View file

@ -107,13 +107,6 @@
filesystems, and encrypted disk partitions.</para>
</listitem>
<listitem>
<para><xref linkend="vinum-vinum"/>, Vinum, is a new chapter
with this edition. It describes how to use Vinum, a logical
volume manager which provides device-independent logical
disks, and software RAID-0, RAID-1 and RAID-5.</para>
</listitem>
<listitem>
<para>A troubleshooting section has been added to <xref
linkend="ppp-and-slip"/>, PPP and SLIP.</para>
@ -477,7 +470,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="GEOM-synopsis"/>,
<term><emphasis><xref linkend="geom-synopsis"/>,
GEOM</emphasis></term>
<listitem>
<para>Describes what the GEOM framework in &os; is and how
@ -492,15 +485,6 @@
like the Z File System from &sun;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="vinum-vinum"/>,
Vinum</emphasis></term>
<listitem>
<para>Describes how to use Vinum, a logical volume manager
which provides device-independent logical disks, and
software RAID-0, RAID-1 and RAID-5.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="virtualization"/>,
Virtualization</emphasis></term>

File diff suppressed because it is too large Load diff

View file

@ -1034,4 +1034,49 @@ uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen>
<filename>/etc/group</filename>, refer to &man.pw.8; and
&man.group.5;.</para>
</sect1>
<sect1 id="users-becomesuper">
<title>Becoming Superuser</title>
<para>There are several ways to do things as the superuser. The
worst way is to log in as <username>root</username> directly.
Usually very little activity requires <username>root</username>
so logging off and logging in as <username>root</username>,
performing tasks, then logging off and on again as a normal user
is a waste of time.</para>
<para>A better way is to use &man.su.1; without providing a login
but using <literal>-</literal> to inherit the root environment.
Not providing a login will imply super user. For this to work
the login that must be in the <groupname>wheel</groupname> group.
An example of a typical software installation would involve the
administrator unpacking the software as a normal user and then
elevating their privileges for the build and installation of
the software.</para>
<example>
<title>Install a Program As The Superuser</title>
<screen>&prompt.user; <userinput>configure</userinput>
&prompt.user; <userinput>make</userinput>
&prompt.user; <userinput>su -</userinput>
Password:
&prompt.root; <userinput>make install</userinput>
&prompt.root; <userinput>exit</userinput>
&prompt.user;</screen>
</example>
<para>Note in this example the transition to
<username>root</username> is less painful than logging off
and back on twice.</para>
<para>Using &man.su.1; works well for single systems or small
networks with just one system administrator. For more complex
environments (or even for these simple environments)
<command>sudo</command> should be used. It is provided as a port,
<filename role="package">security/sudo</filename>. It allows for
things like activity logging, granting users the ability to only
run certain commands as the superuser, and several other
options.</para>
</sect1>
</chapter>

View file

@ -18,7 +18,7 @@
<corpauthor>The FreeBSD Documentation Project</corpauthor>
</authorgroup>
<pubdate>April 2000</pubdate>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2000</year>
@ -7373,8 +7373,8 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<entry><makevar>USE_APACHE</makevar></entry>
<entry>The port requires Apache. Possible values:
<literal>yes</literal> (gets any version),
<literal>20</literal>, <literal>22</literal>,
<literal>20-22</literal>, <literal>20+</literal>,
<literal>22</literal>, <literal>24</literal>,
<literal>22-24</literal>, <literal>22+</literal>,
etc. The default APACHE version is
<literal>22</literal>. More details are available
in <filename>ports/Mk/bsd.apache.mk</filename> and
@ -7382,12 +7382,6 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
url="http://wiki.freebsd.org/Apache/">wiki.freebsd.org/Apache/</ulink>.</entry>
</row>
<row>
<entry><makevar>WITH_APACHE2</makevar></entry>
<entry>This variable is deprecated and should
not be used any more.</entry>
</row>
<row>
<entry><makevar>APXS</makevar></entry>
<entry>Full path to the <command>apxs</command>
@ -7406,8 +7400,8 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
(read-only variable). This variable is only
available after inclusion of
<filename>bsd.port.pre.mk</filename>. Possible
values: <literal>20</literal>,
<literal>22</literal>.</entry>
values: <literal>22</literal>,
<literal>24</literal>.</entry>
</row>
<row>
@ -9572,26 +9566,6 @@ run_rc_command "$1"</programlisting>
<filename>.sh</filename> suffix.</para>
</note>
<sect2>
<title>Stopping Services at Deinstall</title>
<para>It is possible to have a service stopped automatically
as part of the deinstall routine. We advise using this
feature only when it is absolutely necessary to stop a
service before its files go away. Usually, it is up to the
administrator's discretion to decide, whether to stop the
service on deinstall or not. Also note this affects
upgrades, too.</para>
<para>A line like this goes in the
<filename>pkg-plist</filename>:</para>
<programlisting>@stopdaemon doormand</programlisting>
<para>The argument must match the content of
<makevar>USE_RC_SUBR</makevar> variable.</para>
</sect2>
<sect2>
<title>Pre-Commit Checklist</title>
@ -15341,14 +15315,13 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<row>
<entry>804000</entry>
<entry>March 28, 2013</entry>
<entry>releng/8.4 (RELENG_8_4) branch point.</entry>
<entry>8.4-RELEASE.</entry>
</row>
<row>
<entry>804500</entry>
<entry>March 28, 2013</entry>
<entry>8.4-STABLE after branching releng/8.4
(RELENG_8_4).</entry>
<entry>8.4-STABLE after 8.4-RELEASE.</entry>
</row>
<row>
@ -15745,6 +15718,15 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<svnref>232945</svnref>).</entry>
</row>
<row>
<entry>900506</entry>
<entry>May 22, 2012</entry>
<entry>9.0-STABLE after introduction of the
<function>quick_exit</function> function and
related changes required for C++11 (rev
<svnref>235786</svnref>).</entry>
</row>
<row>
<entry>901000</entry>
<entry>August 5, 2012</entry>
@ -15761,8 +15743,9 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<row>
<entry>901501</entry>
<entry>November 11, 2012</entry>
<entry>9.1-STABLE after LIST_PREV() added to
queue.h.</entry>
<entry>9.1-STABLE after LIST_PREV() added to queue.h
(rev <svnref>242893</svnref>) and KBI change in USB
serial devices (rev <svnref>240659</svnref>).</entry>
</row>
<row>
@ -15787,6 +15770,13 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
related flags and cat gained the -l option.</entry>
</row>
<row>
<entry>901505</entry>
<entry>June 13, 2013</entry>
<entry>9.1-STABLE after fixes in ctfmerge boostrapping
(rev <svnref>249243</svnref>).</entry>
</row>
<row>
<entry>1000000</entry>
<entry>September 26, 2011</entry>
@ -16019,6 +16009,22 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<svnref>246083</svnref>).</entry>
</row>
<row>
<entry>1000028</entry>
<entry>February 13, 2013</entry>
<entry>10-CURRENT after USB moved to the driver structure
requiring a rebuild of all USB modules (rev
<svnref>246759</svnref>).</entry>
</row>
<row>
<entry>1000029</entry>
<entry>March 4, 2013</entry>
<entry>10-CURRENT after the introduction of tickless
callout facility which also changed the layout of
struct callout (rev <svnref>247777</svnref>).</entry>
</row>
<row>
<entry>1000030</entry>
<entry>March 12, 2013</entry>
@ -16026,6 +16032,64 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
VM subsystem to support read/write locking (rev
<svnref>248084</svnref>).</entry>
</row>
<row>
<entry>1000031</entry>
<entry>April 26, 2013</entry>
<entry>10-CURRENT after the dst parameter of the
ifnet <function>if_output</function> method was
changed to take const qualifier (rev
<svnref>249925</svnref>).</entry>
</row>
<row>
<entry>1000032</entry>
<entry>May 1, 2013</entry>
<entry>10-CURRENT after the introduction of the
<function>accept4</function> (rev
<svnref>250154</svnref>) and
<function>pipe2</function> (rev
<svnref>250159</svnref>) system calls.</entry>
</row>
<row>
<entry>1000033</entry>
<entry>May 21, 2013</entry>
<entry>10-CURRENT after flex 2.5.37 import (rev
<svnref>250881</svnref>).</entry>
</row>
<row>
<entry>1000034</entry>
<entry>June 3, 2013</entry>
<entry>10-CURRENT after the addition of the following
functions to libm: <function>cacos</function>,
<function>cacosf</function>,
<function>cacosh</function>,
<function>cacoshf</function>,
<function>casin</function>,
<function>casinf</function>,
<function>casinh</function>,
<function>casinhf</function>,
<function>catan</function>,
<function>catanf</function>,
<function>catanh</function>,
<function>catanhf</function>,
<function>logl</function>,
<function>log2l</function>,
<function>log10l</function>,
<function>log1pl</function>,
<function>expm1l</function> (rev
<svnref>251294</svnref>).</entry>
</row>
<row>
<entry>1000035</entry>
<entry>June 8, 2013</entry>
<entry>10-CURRENT after the introduction of the
<function>aio_mlock</function> system call (rev
<svnref>251526</svnref>).</entry>
</row>
</tbody>
</tgroup>
</table>

View file

@ -16,9 +16,16 @@
-->
<row>
<entry><literal>ada</literal></entry>
<entry>(none)</entry>
<entry>Depends on an <application>Ada</application>-capable compiler, and
sets <makevar>CC</makevar> accordingly.</entry>
</row>
<row>
<entry><literal>bison</literal></entry>
<entry>none, <literal>build</literal>, <literal>run</literal>,
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/bison</filename> in one way or another. By
@ -29,9 +36,21 @@
dependencies.</entry>
</row>
<row>
<entry><literal>charsetfix</literal></entry>
<entry>(none)</entry>
<entry>Prevents the port from installing <filename>charset.alias</filename>.
This should be installed only by
<filename role="package">converters/libiconv</filename>.
<makevar>CHARSETFIX_MAKEFILEIN</makevar> can be set to a path relative
to <makevar>WRKSRC</makevar> if <filename>charset.alias</filename> is
not installed by
<makevar>WRKSRC</makevar>/<filename>Makefile.in</filename>.</entry>
</row>
<row>
<entry><literal>cmake</literal></entry>
<entry>none, <literal>outsource</literal></entry>
<entry>(none), <literal>outsource</literal></entry>
<entry>The port will use <application>CMake</application> for
configuring and building. With the <literal>outsource</literal>
@ -41,7 +60,7 @@
<row>
<entry><literal>desktop-file-utils</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Implies that the port uses the
<application>update-desktop-database</application> from
@ -55,7 +74,7 @@
<row>
<entry><literal>fuse</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Implies the port will depend on the FUSE library and handle
the dependency on the kernel module depending on the version
@ -64,7 +83,7 @@
<row>
<entry><literal>gettext</literal></entry>
<entry>none, <literal>lib</literal>, <literal>build</literal>,
<entry>(none), <literal>lib</literal>, <literal>build</literal>,
<literal>run</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/gettext</filename> in one way or another. By
@ -77,16 +96,23 @@
<row>
<entry><literal>iconv</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Implies that the port uses <filename
role="package">converters/libiconv</filename> as build-time and
run-time dependency.
</entry>
</row>
<row>
<entry><literal>ncurses</literal></entry>
<entry>(none), <literal>base</literal>, <literal>port</literal></entry>
<entry>Implies that the port uses <application>ncurses</application>, and
causes some useful variables to be set.</entry>
</row>
<row>
<entry><literal>pathfix</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Look for the <filename>Makefile.in</filename> and
<filename>configure</filename> files in the port's associated
sources and fix common paths to make sure they respect the &os;
@ -96,7 +122,7 @@
<row>
<entry><literal>pkgconfig</literal></entry>
<entry>none, <literal>build</literal>, <literal>run</literal>,
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
@ -110,7 +136,7 @@
<row>
<entry><literal>qmail</literal></entry>
<entry>none, <literal>build</literal>, <literal>run</literal>,
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal>, <literal>vars</literal></entry>
<entry>Implies that the port uses <filename
role="package">mail/qmail</filename> in one way or another.
@ -122,9 +148,17 @@
will only set QMAIL variables for the port to use.</entry>
</row>
<row>
<entry><literal>readline</literal></entry>
<entry>(none), port</entry>
<entry>Implies that the port uses <application>readline</application> as
library dependency, and sets <makevar>CPPFLAGS</makevar> and
<makevar>LDFLAGS</makevar> as necessary.</entry>
</row>
<row>
<entry><literal>shared-mime-info</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Implies that the port uses
<application>update-mime-database</application> from
@ -137,9 +171,24 @@
arguments.</entry>
</row>
<row>
<entry><literal>shebangfix</literal></entry>
<entry>(none)</entry>
<entry>A lot of software uses incorrect locations for script interpreters,
most notably <filename>/usr/bin/perl</filename> and
<filename>/bin/bash</filename>. This fixes shebang lines in scripts
listed in <makevar>SHEBANG_FILES</makevar>. Currently
<application>Perl</application>, <application>Python</application>,
<application>Bash</application>, <application>Ruby</application>,
and <application>PHP</application> are supported by default.
To support another interpreter, set <makevar>SHEBANG_LANG</makevar>
(for example <literal><makevar>SHEBANG_LANG</makevar>=lua</literal>), then
<makevar>lua_OLD_CMD</makevar> and <makevar>lua_CMD</makevar>.</entry>
</row>
<row>
<entry><literal>zenoss</literal></entry>
<entry>none</entry>
<entry>(none)</entry>
<entry>Implies the port uses <filename
role="package">net-mgmt/zenoss</filename> in one way or another,
but largely is used for building zenoss related zenpack

View file

@ -132,7 +132,8 @@
<li>&a.bdrewery; &lt;<a href="mailto:bdrewery@FreeBSD.org">bdrewery@FreeBSD.org</a>&gt;
(Release Engineering Team Liaison)</li>
<li>&a.decke; &lt;<a href="mailto:decke@FreeBSD.org">decke@FreeBSD.org</a>&gt;</li>
<li>&a.erwin; &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;</li>
<li>&a.erwin; &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;
(Cluster Administration Team Liaison)</li>
<li>&a.itetcu; &lt;<a href="mailto:itetcu@FreeBSD.org">itetcu@FreeBSD.org</a>&gt;</li>
<li>&a.miwi; &lt;<a href="mailto:miwi@FreeBSD.org">miwi@FreeBSD.org</a>&gt;</li>
</ul>
@ -249,9 +250,10 @@
<li>&a.delphij; &lt;<a href="mailto:delphij@FreeBSD.org">delphij@FreeBSD.org</a>&gt; (Officer Deputy)</li>
<li>&a.des; &lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt; (Officer)</li>
<li>&a.gavin; &lt;<a href="mailto:gavin@FreeBSD.org">gavin@FreeBSD.org</a>&gt; (Core Team Liaison)</li>
<li>&a.gnn; &lt;<a href="mailto:gnn@FreeBSD.org">gavin@FreeBSD.org</a>&gt; (Secretary)</li>
<li>&a.gnn; &lt;<a href="mailto:gnn@FreeBSD.org">gnn@FreeBSD.org</a>&gt; (Secretary)</li>
<li>&a.jonathan; &lt;<a href="mailto:jonathan@FreeBSD.org">jonathan@FreeBSD.org</a>&gt;</li>
<li>&a.philip; &lt;<a href="mailto:philip@FreeBSD.org">philip@FreeBSD.org</a>&gt;</li>
<li>&a.qingli; &lt;<a href="mailto:qingli@FreeBSD.org">qingli@FreeBSD.org</a>&gt;</li>
<li>&a.remko; &lt;<a href="mailto:remko@FreeBSD.org">remko@FreeBSD.org</a>&gt;</li>
<li>&a.rwatson; &lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</li>
<li>&a.simon; &lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;

View file

@ -126,6 +126,8 @@ $i_topbar = qq`
<li><a href="$hsty_base/doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a></li>
<li><a href="$hsty_base/doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a></li>
<li><a href="$hsty_base/cgi/man.cgi">Manual Pages</a></li>
<li><a href="$hsty_base/doc/en_US.ISO8859-1/books/fdp-primer">Documentation Project Primer</a></li>
<li><a href="$hsty_base/docs/books.html/">All Books and Articles</a></li>
</ul>
</li>
</ul>

View file

@ -212,6 +212,8 @@ $manPathDefault = 'FreeBSD 9.1-RELEASE';
%manPath = (
'FreeBSD 9.0-RELEASE and Ports',
"$manLocalDir/FreeBSD-9.0-RELEASE/man:$manLocalDir/FreeBSD-9.0-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/lib-perl5-perl-5.12.4-man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/misc",
'FreeBSD 8.4-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.4-RELEASE/man:$manLocalDir/FreeBSD-8.4-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.4-RELEASE",
'FreeBSD 8.3-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.3-RELEASE/man:$manLocalDir/FreeBSD-8.3-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.3-RELEASE",
'FreeBSD 8.2-RELEASE and Ports',
@ -239,8 +241,10 @@ $manPathDefault = 'FreeBSD 9.1-RELEASE';
"$manLocalDir/FreeBSD-9.0-RELEASE/man:$manLocalDir/FreeBSD-9.0-RELEASE/openssl/man",
'FreeBSD Ports 9.0-RELEASE', "$manLocalDir/FreeBSD-ports-9.0-RELEASE/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/lib-perl5-perl-5.12.4-man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/misc",
'FreeBSD 8.3-stable',
"$manLocalDir/FreeBSD-8.3-stable/man:$manLocalDir/FreeBSD-8.3-stable/openssl/man",
'FreeBSD 8.4-stable',
"$manLocalDir/FreeBSD-8.4-stable/man:$manLocalDir/FreeBSD-8.4-stable/openssl/man",
'FreeBSD 8.4-RELEASE',
"$manLocalDir/FreeBSD-8.4-RELEASE/man:$manLocalDir/FreeBSD-8.4-RELEASE/openssl/man",
'FreeBSD 8.3-RELEASE',
"$manLocalDir/FreeBSD-8.3-RELEASE/man:$manLocalDir/FreeBSD-8.3-RELEASE/openssl/man",
'FreeBSD 8.2-RELEASE',

View file

@ -138,7 +138,6 @@ if ($Submit)
my @info = split("\n", $info);
my $title = "FreeBSD project submission output";
my $tasks = xml(1, "help", "", @tasks) if @tasks;
my @contents = xml(0, "project cat=\'$Category\'",
xml(1, "title", $Project),
@ -150,7 +149,7 @@ if ($Submit)
xml(1, "body",
xml(2, "p", "", xmltext(3, @info))),
"\n",
$tasks,
xml(1, "help", "", @tasks),
);
my $contents = join('', @contents);

View file

@ -15,7 +15,6 @@ DOCS+= submitting.xml
DOCS+= who.xml
DOCS+= translations.xml
DOCS+= docproj.xml
DOCS+= todo.xml
INDEXLINK= docproj.html

View file

@ -50,11 +50,10 @@
<a name="todo"></a>
<h3>Documentation TODO list</h3>
<p>The Documentation <a href="todo.html">TODO</a> list is an
<p>The Documentation <a href="https://wiki.freebsd.org/DocIdeaList">TODO</a>
list is an
up-to-date list of documentation issues that should be resolved.
This list is posted every month on the <a
href="mailto:FreeBSD-doc@FreeBSD.org">FreeBSD-doc@FreeBSD.org</a>
mailing list. If you wish to help us to improve the FreeBSD
If you wish to help us to improve the FreeBSD
documentation set you should, at first, choose to work on one of
the TODO list items.</p>
@ -101,10 +100,7 @@
<h3>Contribute Advocacy Slides/Presentations</h3>
<p><b>Responsible:</b> FreeBSD-doc
&lt;<a
href="mailto:FreeBSD-doc@FreeBSD.org">FreeBSD-doc@FreeBSD.org</a>&gt;,
Murray Stokely &lt;<a
href="mailto:murray@FreeBSD.org">murray@FreeBSD.org</a>&gt;</p>
&lt;<a href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&gt;</p>
<p><b>Synopsis:</b> Presentations marked up in the DocBook-slides
DTD have recently been added to the documentation set in
@ -122,7 +118,8 @@
<a name="handbooksection"></a>
<h3>Write a section in the Handbook and/or FAQ</h3>
<p><b>Responsible:</b> No one</p>
<p><b>Responsible:</b> FreeBSD-doc
&lt;<a href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&gt;</p>
<p><b>Synopsis:</b> Chunks of the FAQ and Handbook have empty sections in
them. They need filling. If you have just had to use one of
@ -196,7 +193,8 @@
<a name="search-enhancements"></a>
<h3>Search engine enhancements</h3>
<p><b>Responsible:</b>Eric Anderson &lt;<a href="mailto:anderson@centtech.com">anderson@centtech.com</a>&gt;</p>
<p><b>Responsible:</b>
&lt;<a href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&gt;</p>
<p>When searching the website, the output from the search engine includes
the filename that was found, which might be something like

View file

@ -1,383 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY email 'freebsd-doc'>
<!ENTITY title "FreeBSD Documentation Project TODO list">
<!-- Status levels -->
<!ENTITY status.na "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>N/A</font>">
<!ENTITY status.done "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>Done</font>">
<!ENTITY status.wip "<font xmlns='http://www.w3.org/1999/xhtml' color='blue'>In&nbsp;progress</font>">
<!ENTITY status.untested "<font xmlns='http://www.w3.org/1999/xhtml' color='orange'>Needs&nbsp;testing</font>">
<!ENTITY status.new "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Not&nbsp;done</font>">
<!ENTITY status.unknown "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Unknown</font>">
<!ENTITY status.deferred "<font xmlns='http://www.w3.org/1999/xhtml' color='gray'>Deferred for future release</font>">
<!ENTITY url.cvsweb "http://www.freebsd.org/cgi/cvsweb.cgi">
<!ENTITY url.mid "http://docs.freebsd.org/cgi/mid.cgi?">
<!ENTITY url.pr "http://www.freebsd.org/cgi/query-pr.cgi?">
]>
<!--
Changes to this list MUST NOT be committed without approval of
Documentation Engineering Team (doceng@FreeBSD.org).
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.docs">
<p>This is a list of documentation issues that need to be resolved.
If you have any updates for this list, please e-mail
doceng@FreeBSD.org.</p>
<ul>
<li><a href="#handbook">Handbook Items</a></li>
<li><a href="#www">Website</a></li>
<li><a href="#manpage">Manual Pages</a></li>
<li><a href="#other">Other Documentation Needs</a></li>
<li><a href="#toolchain">Documentation Toolchain Items</a></li>
</ul>
<h3>Handbook Items</h3>
<a name="handbook"></a>
<table class="tblbasic">
<tr class="heading">
<th>Issue</th>
<th>Status</th>
<th>Responsible</th>
<th>Desired Deadline</th>
<th>Description</th>
</tr>
<tr>
<td>Installation chapter needs to be updated</td>
<td>&status.new;</td>
<td>&a.keramida;</td>
<td>&nbsp;</td>
<td>The installation chapter mostly covers FreeBSD 4.X
installation. The current information is often outdated and not
accurate for 5.X, 6.X and 7.X. We also have to think about
installation on various platforms. This should be done under
re@ team responsability since the installation notes have to be
updated as well.</td>
</tr>
<tr>
<td>Printing chapter lacks a quick and easy setup example</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>While this chapter covers in a very accurate way the
configuration of a printer under FreeBSD, a quick and easy printer
setup should be documented, i.e., something describing the
installation and use of apsfilter or equivalent.</td>
</tr>
<tr>
<td>USB printers</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Nowadays printers use the USB interface, the printing chapter
may need to be updated on this point.</td>
</tr>
<tr>
<td>Wireless</td>
<td>&status.new;</td>
<td>&a.murray;, &a.blackend;</td>
<td>&nbsp;</td>
<td>The merge of <a
href="http://www.freebsdmall.com/~loader/en_US.ISO8859-1/articles/wireless/article.html">this article</a>
in the current wireless section should be done quickly.</td>
</tr>
<tr>
<td>IPsec section</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>This section still shows the use of gifconfig(4) which is 4.X
only.</td>
</tr>
<tr>
<td>USB audio</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>One should check if we need to update the sound section for
USB devices or if the current guidances are still correct with
these devices.</td>
</tr>
<tr>
<td>The Emergency Restore Procedure section (16.12.8)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>This section is really outdated and needs a serious
"facelifting." We must show how to restore a system using the
livefs from disc1. The rescue system should also be
covered.</td>
</tr>
<tr>
<td>Backup Basics (16.12)</td>
<td>&status.new;</td>
<td>&a.murray;</td>
<td>&nbsp;</td>
<td>Backing up on optical media (CD/DVD) should be presented.</td>
</tr>
<tr>
<td>Electronic mail chapter</td>
<td>&status.new;</td>
<td>&a.jcamou;</td>
<td>&nbsp;</td>
<td>The use of Makefile facilities should be introduced for the
sendmail configuration instead of the old outdated way.</td>
</tr>
<tr>
<td>inetd</td>
<td>&status.done;</td>
<td>&a.ceri;</td>
<td>For 6.1-RELEASE</td>
<td>The configuration of inetd changed a bit in 6.X, one should
check if the related section is still correct.</td>
</tr>
<tr>
<td>bsnmpd</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>The bsnmpd daemon is quite new and its configuration may be
complex. The minimal common settings should be introduced in a
section of the Network Servers chapter.</td>
</tr>
<tr>
<td>The handbook needs to be updated to match 5.X and beyond</td>
<td>&status.done;</td>
<td>&a.trhodes;</td>
<td>&nbsp;</td>
<td>The handbook covers a lot of 4.X material and has 5.X
information on the background. The handbook should be
updated to remove 4.X material where possible.</td>
</tr>
</table>
<h3>Website</h3>
<a name="website"></a>
<table class="tblbasic">
<tr class="heading">
<th>Issue</th>
<th>Status</th>
<th>Responsible</th>
<th>Desired Deadline</th>
<th>Description</th>
</tr>
<tr>
<td>New logo</td>
<td>&status.done;</td>
<td>&a.kuriyama;</td>
<td>&nbsp;</td>
<td>Add the new logo on our web site layout and create a logo
page displaying, and providing information on right logo
usage.</td>
</tr>
<tr>
<td>Rendering issue</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>After the introduction of new layout, many persons reported a
font size or rendering problems under some browsers configurations
and screen resolutions. These problems should be investigated
and fixed. Reference:
<a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=91539">www/91539</a>
</td>
</tr>
</table>
<h3>Manual Pages</h3>
<a name="manpage"></a>
<table class="tblbasic">
<tr class="heading">
<th>Issue</th>
<th>Status</th>
<th>Responsible</th>
<th>Desired Deadline</th>
<th>Description</th>
</tr>
<tr>
<td>bs(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the WD33C93 SCSI driver</td>
</tr>
<tr>
<td>nss(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the NEC PC-98 sound support</td>
</tr>
<tr>
<td>ofwcons(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the IEEE-1275 / Open Firmware</td>
</tr>
<tr>
<td>wds(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the WD7000 SCSI driver</td>
</tr>
<tr>
<td>xrpu(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the Xilinx FPGA/RPU driver</td>
</tr>
<tr>
<td>zs(4)</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>New manual page needed for the Zilog UART driver</td>
</tr>
<tr>
<td>Write section 9 manual pages</td>
<td>&status.new;</td>
<td>&a.trhodes; and &a.hmp;</td>
<td>&nbsp;</td>
<td>Document kernel interfaces and functions.</td>
</tr>
<tr>
<td>Documenting FreeBSD Tunables</td>
<td>&status.new;</td>
<td>&a.trhodes;</td>
<td>&nbsp;</td>
<td>Many FreeBSD tunables are undocumented. Everyone knows how
difficult it can be to use an undocumented system, and thus this
project was formed. The initial goal here is to create a tool
which can generate a manual page with the tunables. Hence we need
to generate this list from the source code.</td>
</tr>
</table>
<h3>Other Documentations Needs</h3>
<a name="other"></a>
<table class="tblbasic">
<tr class="heading">
<th>Issue</th>
<th>Status</th>
<th>Responsible</th>
<th>Desired Deadline</th>
<th>Description</th>
</tr>
<tr>
<td>CUPS</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>The CUPS system is more and more used, it would be interesting
to have an extensive article in our documentation set. This
article should cover CUPS installation and configuration (with
examples of local and network printers).</td>
</tr>
<tr>
<td>NanoBSD</td>
<td>&status.done;</td>
<td>&a.keramida;</td>
<td>&nbsp;</td>
<td>&a.danger; contributed both manpage and article for
NanoBSD framework.</td>
</tr>
<tr>
<td>Architecture Handbook</td>
<td>&status.new;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>The FreeBSD Architecture Handbook is lacking in content,
please help us finish this book in writing or updating some
chapters.</td>
</tr>
</table>
<h3>Documentation Toolchain Items</h3>
<a name="toolchain"></a>
<table class="tblbasic">
<tr class="heading">
<th>Issue</th>
<th>Status</th>
<th>Responsible</th>
<th>Desired Deadline</th>
<th>Description</th>
</tr>
<tr>
<td>SGML/XML infrastructure update</td>
<td>&status.wip;</td>
<td>&a.hrs;</td>
<td>&nbsp;</td>
<td>Add more localization support for XML documentation in the doc
and www tree.</td>
</tr>
<tr>
<td>SGML/XML infrastructure update</td>
<td>&status.wip;</td>
<td>&a.hrs;</td>
<td>&nbsp;</td>
<td>Use SGML/XML catalog for external file reference for
consistency.</td>
</tr>
<tr>
<td>SGML/XML infrastructure update</td>
<td>&status.wip;</td>
<td>&a.hrs;</td>
<td>&nbsp;</td>
<td>Add standard entity reference (such as &amp;agrave;) support in
XML/XSLT documentation.</td>
</tr>
</table>
</body>
</html>

View file

@ -142,11 +142,6 @@
How to set up a CVS repository that uses the same CVSROOT
infrastructure as the FreeBSD project.</p>
<p><a href="&url.articles;/cvsup-advanced/index.html">CVSup
Advanced Points</a> (cvsup-advanced)<br/>
An article with some tips about the subtleties of
CVSup.</p>
<p><a href="&url.articles;/explaining-bsd/index.html">Explaining
BSD</a> (explaining-bsd)<br/>
An answer to the question ``What is BSD?''</p>

View file

@ -8,13 +8,11 @@
.endif
SUBDIR = dists
SUBDIR+= docs
SUBDIR+= links
DOCS = advocacy.xml
DOCS+= howhelp.xml
DOCS+= index.xml
DOCS+= install.xml
DOCS+= links.xml
DATA= j2j.gif

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Advocacy">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>We would like to have FreeBSD known as the stable &java; platform.</p>
<p><b>Request for Enhancement to Sun</b>:
<br/>We have petitioned Sun to provide an official FreeBSD port. We are currently
in <b>2nd</b> place in the vote count. If you are a member of the Java Developer's Connection
(it's free), you can vote for it as well
<a href="http://developer.java.sun.com/developer/bugParade/bugs/4288745.html">http://developer.java.sun.com/developer/bugParade/bugs/4288745.html</a></p>
<p><b>Petition IBM for a port to FreeBSD</b>:
<br/>In October, 1999, IBM released a new version of their IBM Developer Kit for Linux. We would like to see them release one for FreeBSD. If anyone has a point of contact in IBM that could spearhead this petition, please let <a href="mailto:patrick@FreeBSD.org">Patrick Gardella</a> know.</p>
</body>
</html>

View file

@ -1,112 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: &jdk; 1.5">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>
<b>March 5, 2009:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the ninth patchset (patchlevel 9, "Siegfried")
for the &jdk;&nbsp;1.5.0 software. The major change in this patchset
is to move the patchset base source code to 1.5.0 Update 16. Information
on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>February 14, 2008:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the eighth patchset (patchlevel 8, "Tarragindi")
for the &jdk;&nbsp;1.5.0 software. This release now supports NetBSD/amd64
and the browser plugin runs on the amd64 architecture. In
addition, the source code base has been updated to 1.5.0 Update 14. Information
on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>October 23, 2007:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the seventh patchset (patchlevel 7, "South China")
for the &jdk;&nbsp;1.5.0 software. The major change in this patchset
is to move the patchset base source code to 1.5.0 Update 13. Information
on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>July 26, 2007:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the sixth patchset (patchlevel 6, "Tigris")
for the &jdk;&nbsp;1.5.0 software. The major change in this patchset
is to move the patchset base source code to 1.5.0 Update 12. Information
on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>June 8, 2007:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the fifth patchset (patchlevel 5, "Tantanoola")
for the &jdk;&nbsp;1.5.0 software. The marks a major update in the base
&jdk; source code since the patchset is now based on the JRL licensed 1.5.0
Update 11 source code rather than the earlier 1.5.0 SCSL licensed code
base. Information on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>January 24, 2007:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the fourth patchset (patchlevel 4, "Sumatran")
for the &jdk;&nbsp;1.5.0 software. This release builds with GCC 4
and includes a number of bug fixes. Information on downloading the
patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>April 7, 2006:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the third patchset (patchlevel 3, "Siberian")
for the &jdk;&nbsp;1.5.0 software. This release should be suitable for
most applications, as most of the changes since the last patchset are
changes which were backported from the binary release source base to
make it JCK compliant. In addition, Java Web Start now works and a
problem with the zlib library which caused Eclipse to crash has been fixed.
However, use in a production environment is at your own risk, as always.
Information on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>September 3, 2005:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the second patchset (patchlevel 2, "Tasmanian")
for the &jdk;&nbsp;1.5.0 software. This patchset is considered a beta
release as it is now stable on FreeBSD 4.x and has support for
Java Web Start and the Java browser plugin (Mozilla and Firefox).
Support for recent releases of FreeBSD on both the i386 and amd64 architectures
is provided. Information on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
<p>
<b>April 7, 2005:</b> The java/jdk15 port has been updated so that it
builds on FreeBSD 4.11/i386. Unfortunately there are still serious
run time issues on this platform.
</p>
<p>
<b>January 19, 2005:</b> <a href="mailto:glewis@FreeBSD.org">Greg
Lewis</a> has released the first patchset (patchlevel 1, "Sabretooth")
for the &jdk;&nbsp;1.5.0 software. This initial patchset is only suitable
for early testers and developers. Support for the following
versions of FreeBSD is included -- <b>i386/5.3</b> and <b>amd64/5.3</b>.
Information on downloading the patchset can be found at
<a href="http://www.eyesbeyond.com/freebsddom/java/jdk15.html">http://www.eyesbeyond.com/freebsddom/java/jdk15.html</a>.
</p>
</body></html>

View file

@ -7,7 +7,6 @@
.include "../Makefile.inc"
.endif
DOCS= 15.xml
DOCS+= 16.xml
DOCS+= 17.xml
DOCS+= index.xml

View file

@ -25,10 +25,6 @@ This is the official port of Sun's &java; Development Kit for FreeBSD. No known
</td>
</tr>
</table>
<h2>Supported</h2>
<h3>&jdk; 1.5.x</h3>
<p><a href="15.html">JDK 1.5</a> support is available. Currently supported
versions are FreeBSD 4.8 and later (for i386 and amd64 architectures).</p>
<h3>&jdk; 1.6.x</h3>
<p><a href="16.html">JDK 1.6</a> support is available. Currently supported
@ -37,32 +33,6 @@ versions are FreeBSD 6.2 and later (for i386 and amd64 architectures).</p>
<h3>&jdk; 1.7.x</h3>
<p><a href="17.html">JDK 1.7</a> support is available. Currently supported
versions are FreeBSD 7.0 and later (for i386 and amd64 architectures).</p>
<h2>Unsupported</h2>
<p>Anything prior to FreeBSD 2.2 (such as FreeBSD 2.1.7.1) was never supported in any way.</p>
<h3>&jdk; 1.0.x</h3>
<p><a href="10.html">JDK 1.0.2</a> is unsupported. It was a.out, and would only run on older FreeBSD systems (up to 4.x).</p>
<h3>&jdk; 1.1.x</h3>
<p><a href="11.html">JDK 1.1.8</a> is unsupported. It would also only run on older FreeBSD systems (up to 4.x). Two separate binaries were provided for both X and non-X systems.</p>
<h3>&jdk; 1.2.x</h3>
<p><a href="12.html">JDK2 (aka 1.2)</a> is unsupported. The history is
preserved in the former <code>jdk12</code> port that can be found in the
CVS ports repository Attic.</p>
<h3>&jdk; 1.3.x</h3>
<p><a href="13.html">JDK 1.3</a> is unsupported. The history is
preserved in the former <code>jdk13</code> port that can be found in the
CVS ports repository Attic.</p>
<h3>&jdk; 1.4.x</h3>
<p><a href="14.html">JDK 1.4</a> is unsupported. The history is
preserved in the former <code>jdk14</code> port that can be found in the
CVS ports repository Attic.</p>
</td>
</tr>
</table>

View file

@ -1,119 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: FAQ">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<table border="0">
<tr>
<td>
<h2>Contents</h2>
<ol>
<li> <a href="#q1">Is there a &jdk; 1.3 for FreeBSD?</a></li>
<li> <a href="#q2">Can I use the Linux-Port from the Blackdown people?</a></li>
</ol>
<h2>Full Text </h2>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#990000" width="10">
<font color="#FFFFFF"><a name="q1"> 1.</a></font>
</td>
<td align="left" valign="top" bgcolor="#ffcc66" colspan="3">
Is there a &jdk; 1.3 for FreeBSD?
</td>
</tr>
<tr>
<td bgcolor="#990000" width="10"> <br/> </td>
<td align="left" valign="top" colspan="3">
Yes. You can build a native FreeBSD JDK from source, or download
pre-compiled binaries. See the FreeBSD Java front page for more
information.
</td>
</tr>
<tr bgcolor="#ffcc66">
<td bgcolor="#990000" width="10"><br/></td>
<td><font color="#990000"><strong>Prev</strong></font></td>
<td align="center"><font color="#990000"><strong>Top</strong></font></td>
<td align="right"><font color="#990000"><strong>Next</strong></font></td>
</tr>
<tr><td colspan="4"><br/></td></tr>
<tr>
<td bgcolor="#990000" width="10">
<font color="#FFFFFF"><a name="q2"> 2.</a></font></td>
<td align="left" valign="top" bgcolor="#ffcc66" colspan="3">
Can I use the Linux-Port from the Blackdown people?
</td>
</tr>
<tr>
<td bgcolor="#990000" width="10"> <br/> </td>
<td align="left" valign="top" colspan="3">
Some people reported success in doing so. Try the following:
Get the archive, extract it somewhere. Then apply the following diff: <br/>
<pre>
--- bin/.java_wrapper.dist Thu Jun 3 01:14:34 1999
+++ bin/.java_wrapper Thu Oct 14 19:17:11 1999
@@ -31,8 +31,8 @@
# Resolve symlinks. See 4152645.
while [ -h "$PRG" ]; do
ls=`/bin/ls -ld "$PRG"`
- link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
- if /usr/bin/expr "$link" : '/' > /dev/null; then
+ link=`/compat/linux/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+ if /compat/linux/usr/bin/expr "$link" : '/' > /dev/null; then
PRG="$link"
else
PRG="`/usr/bin/dirname $PRG`/$link"
@@ -63,7 +63,7 @@
# Select vm type (if classic vm, also select thread type).
unset vmtype
unset ttype
-DEFAULT_THREADS_FLAG="native"
+DEFAULT_THREADS_FLAG="green"
if [ "x$1" = "x-hotspot" ]; then
vmtype="hotspot"
ttype="native"_threads
--- jre/bin/.java_wrapper.dist Thu Jun 3 01:14:34 1999
+++ jre/bin/.java_wrapper Thu Oct 14 19:32:06 1999
@@ -31,8 +31,8 @@
# Resolve symlinks. See 4152645.
while [ -h "$PRG" ]; do
ls=`/bin/ls -ld "$PRG"`
- link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
- if /usr/bin/expr "$link" : '/' > /dev/null; then
+ link=`/compat/linux/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+ if /compat/linux/usr/bin/expr "$link" : '/' > /dev/null; then
PRG="$link"
else
PRG="`/usr/bin/dirname $PRG`/$link"
@@ -63,7 +63,7 @@
# Select vm type (if classic vm, also select thread type).
unset vmtype
unset ttype
-DEFAULT_THREADS_FLAG="native"
+DEFAULT_THREADS_FLAG="green"
if [ "x$1" = "x-hotspot" ]; then
vmtype="hotspot"
ttype="native"_threads</pre><br/>
Thanks to Makoto MATSUSHITA (matusita@ics.es.osaka-u.ac.jp)
</td>
</tr>
<tr bgcolor="#ffcc66">
<td bgcolor="#990000" width="10"><br/></td>
<td><font color="#990000"><strong>Prev</strong></font></td>
<td align="center"><font color="#990000"><strong>Top</strong></font></td>
<td align="right"><font color="#990000"><strong>Next</strong></font></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: How To Make a Port">
<!ENTITY url.books "../../doc/en_US.ISO8859-1/books">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>General instructions can be found in the
<a href="&url.books;/porters-handbook/index.html">Porter's Handbook</a>.</p>
<p>For &java; ports, please refer to the
<a href="&url.books;/porters-handbook/using-java.html">Using Java</a> section.</p>
<p>The more ported applications we have, the better.</p>
</body>
</html>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Newbies Guide">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>What kind of &quot;Newbie&quot; are you?</p>
<p><b>New to FreeBSD's &jdk;?</b> -- <a href="../install.html">Learn how to install the JDK</a></p>
<p><b>New to &java;?</b> -- Learn Java using a <a href="tutorials.html">tutorial</a> or from a book. One of the most often recommended books is Bruce Eckel's <a href="http://mindview.net/Books/TIJ4">Thinking in Java</a>.</p>
</body>
</html>

View file

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Performance Comparison">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<h3>Introduction:</h3>
<p>Much has been talked about recently with Sun's decision to release an
official port of Java for Linux. This study was done to compare the
actual performance of the <a href="http://www.blackdown.org">Blackdown</a>
Linux Port with the <a href="http://www.FreeBSD.org/java/">FreeBSD Port</a>
of the &jdk;.</p>
<h3>Summary:</h3>
<p>The Linux port is faster than the FreeBSD port, even when the JITs are taken
into account. For graphic intensive applications, all the FreeBSD tests are
faster than the Linux, with FreeBSD/TYA being the fastest overall. Comparing
the Linux port with the FreeBSD port, each with no JIT running, FreeBSD is
faster. We may conclude that, when running on FreeBSD, the JIT design
makes the difference in speed. </p>
<h3>Testing Methods:</h3>
<p>All tests were run on FreeBSD 3.4-RC (Tue Dec 7 09:14:51 EST 1999) on a
Dual Pentium 200 SMP machine with 128 Megs RAM. Tests were conducted with
Pendragon Software's <a href="http://www.webfayre.com/pendragon/cm3/index.html">
Caffeine Mark</a> 3.0 software using the "Run all tests locally" option.</p>
<h3>Software Versions:</h3>
<p>The following is a list of the software used in this test:
<br/>FreeBSD JDK 1.1.8
<br/>Blackdown's JDK 1.2.2-RC3 (under Linux emulation)
<br/><a href="http://www.shudo.net/jit/">ShuJIT</a> 0.3.13
<br/><a href="ftp://gonzalez.cyberus.ca/pub/Linux/java/tya15.tgz">TYA</a> 1.5
</p>
<h3>Summary Results</h3>
<table class="tblbasic">
<tr>
<th></th>
<th>Test 1</th>
<th>Test 2</th>
<th>Test 3</th>
<th>Test 4</th>
<th>Test 5</th>
<th>Average</th>
</tr>
<tr>
<td>Linux JDK 1.2.2/no JIT</td>
<td>222</td>
<td>223</td>
<td>224</td>
<td>225</td>
<td>222</td>
<td>223</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/no JIT</td>
<td>247</td>
<td>247</td>
<td>247</td>
<td>250</td>
<td>247</td>
<td>246</td>
</tr>
<tr>
<td>Linux JDK 1.2.2/standard JIT</td>
<td>539</td>
<td>550</td>
<td>543</td>
<td>544</td>
<td>535</td>
<td>542</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/shujit</td>
<td>373</td>
<td>376</td>
<td>369</td>
<td>374</td>
<td>373</td>
<td>373</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/TYA</td>
<td>478</td>
<td>477</td>
<td>478</td>
<td>479</td>
<td>483</td>
<td>479</td>
</tr>
</table>
<h3>Sample Detailed Results:</h3>
<table class="tblbasic">
<tr>
<th></th>
<th>Sieve</th>
<th>Loop</th>
<th>Logic</th>
<th>String</th>
<th>Float</th>
<th>Method</th>
<th>Graphics</th>
<th>Images</th>
<th>Dialog</th>
</tr>
<tr>
<td>Linux JDK 1.2.2/no JIT</td>
<td>380</td>
<td>434</td>
<td>433</td>
<td>489</td>
<td>363</td>
<td>337</td>
<td>306</td>
<td>25</td>
<td>40</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/no JIT</td>
<td>318</td>
<td>456</td>
<td>434</td>
<td>393</td>
<td>381</td>
<td>381</td>
<td>344</td>
<td>77</td>
<td>37</td>
</tr>
<tr>
<td>Linux JDK 1.2.2/standard JIT</td>
<td>1361</td>
<td>2005</td>
<td>3354</td>
<td>872</td>
<td>1161</td>
<td>1802</td>
<td>247</td>
<td>28</td>
<td>40</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/shujit</td>
<td>800</td>
<td>1566</td>
<td>2191</td>
<td>588</td>
<td>1010</td>
<td>101</td>
<td>317</td>
<td>79</td>
<td>37</td>
</tr>
<tr>
<td>FreeBSD JDK 1.1.8/TYA</td>
<td>712</td>
<td>1467</td>
<td>2352</td>
<td>949</td>
<td>1078</td>
<td>512</td>
<td>357</td>
<td>74</td>
<td>38</td>
</tr>
</table>
<h3>Conclusion:</h3>
<p>Newer versions of the software used in the tests above been released since
this test was conducted. For this reason, these tests will be run again in
the near future to see if the newer JITs for FreeBSD alter the results.
The same JITs will be used with the Linux JDK to test their effects as well.</p>
<h3>Tester:</h3>
<p>These tests were conducted by Patrick Gardella <a href="mailto:patrick@FreeBSD.org">patrick@FreeBSD.org</a> in December 1999.</p>
</body>
</html>

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Tutorials">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>We currently do not have any FreeBSD specific tutorials. If you would like to see one, send a message to <a href="mailto:freebsd-java@FreeBSD.org">freebsd-java@FreeBSD.org</a>.</p>
<p>Other tutorials may be found <a href="../links/tutorials.html">here</a>.</p>
</body>
</html>

View file

@ -12,39 +12,10 @@
<body class="navinclude.developers">
<p><b>I want to</b>:</p>
<br/>...<a href="#code">work on the port itself</a>
<br/>...<a href="#testing">help testing</a>
<br/>...<a href="#bug">report a bug</a>
<br/>...<a href="#documentation">write documentation</a>
<a name="code"></a>
<p><b><font color="#660000">So you want to help, do you?</font></b></p>
<p>Working on the &jdk; port requires a firm grasp of C, the FreeBSD architecture, and a lot of time to spare. The changes that need to be made in the code have to do with how FreeBSD differs from Solaris&trade;, so if you don't know these, you will not go very far in the port. We have
had many people say they are willing to help, but when they see what is involved, they drop away.</p>
<p>Having been dutifully warned, here is what you need to do to get involved:</p>
<ol>
<li><b>Obtain a license from Sun for the source code</b></li>
<li><ul>
<li><b>For JDK 1.1.x</b> You will need to obtain a &quot;Non-Commercial License&quot; This is done at <a href="http://www.javasoft.com/nav/business/source_form.html">http://www.javasoft.com/nav/business/source_form.html</a></li>
<li><b>For Java 2</b> You will need to agree to and sign the &quot;Community Source License&quot; This is done at <a href="http://jsecom4.sun.com:80/servlet/EComActionServlet/ECom.WelcomePageInfo;$sessionid$">the Sun Download Center</a></li>
</ul></li>
<li><b>Download the source code</b></li>
<li><ul>
<li><b>For JDK 1.1.x</b> Instructions will be provided to you by Sun.</li>
<li><b>For Java 2</b> You may download the source code from <a href="http://www.sun.com/software/java2/download.html">http://www.sun.com/software/java2/download.html</a></li>
</ul></li>
<li><b>Use Patches</b> Patches and build instructions may be downloaded from
<a href="http://www.eyesbeyond.com/freebsd-jdk122-patches-latest.tar.gz">http://www.eyesbeyond.com/freebsd-jdk122-patches-latest.tar.gz</a>. Currently open
issues and test results may be found at
<a href="http://www.kjkoster.org/java/index.html">http://kjkoster.org/java/index.html</a>
<h3>AND/OR</h3></li>
<li><b>Obtain source code &quot;diffs&quot;</b> Notify Nate Williams <a href="mailto:nate@yogotech.com">nate@yogotech.com</a> that you have the license and arrange to gain access to the CVS tree.
<h3>AND/OR</h3></li>
<li><b>Begin hacking on the sources</b> Begin your porting. Jump right in and start digging.</li>
<li><b>Let the world know you have finished it!</b></li>
</ol>
<a name="testing"></a>
<p><b><font color="#660000">You want to help, but do not know C or FreeBSD <i>that</i> well?</font></b></p>
<p>The absolute best thing you can do is download the <a href="dists/">latest release</a>, install it, and try all your favorite Java applications. If they don't work, see below.</p>

View file

@ -2,6 +2,7 @@
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project">
<!ENTITY url.books "../../doc/en_US.ISO8859-1/books">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@ -45,7 +46,6 @@
<ul>
<li><a href="install.html">Getting &java; for FreeBSD</a></li>
<li><a href="dists/">Release Information</a></li>
<li><a href="dists/15.html">JDK 1.5.x</a></li>
<li><a href="dists/16.html">JDK 1.6.x</a></li>
<li><a href="dists/17.html">JDK 1.7.x</a></li>
<li><a href="../ports/java.html">Available Ports...</a></li>
@ -56,34 +56,9 @@
<h2>Documentation</h2>
<ul>
<li><a href="docs/newbies.html">For Newbies</a></li>
<li><a href="docs/tutorials.html">Tutorials</a></li>
<li><a href="docs/faq.html">FAQ</a></li>
<li><a href="docs/performance.html">Performance Comparison</a></li>
<li><a href="docs/howtoports.html">Creating Ports...</a></li>
<li><a href="&url.books;/porters-handbook/using-java.html">Creating Ports</a></li>
<li><a href="links.html">Links</a></li>
</ul>
<h2>&java; Resources</h2>
<ul>
<li><a href="links/index.html">Links</a></li>
<li><a href="links/freebsd.html">FreeBSD</a></li>
<li><a href="links/vendor.html">Vendor</a></li>
<li><a href="links/development.html">Development Tools</a></li>
<li><a href="links/api.html">APIs</a></li>
<li><a href="links/tutorials.html">Tutorials</a></li>
<li><a href="links/documentation.html">Documentation</a></li>
<li><a href="links/resources.html">Resources...</a></li>
<li><a href="links/servlets.html">Servlets</a></li>
</ul>
<form action="http://www.FreeBSD.org/cgi/search.cgi" method="get">
<p>Search for:</p>
<input type="text" name="words" size="25"/>
<input type="hidden" name="max" value="25"/>
<input type="hidden" name="source" value="www"/>
<input type="submit" value="Go"/>
</form>
</body>
</html>

View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Useful Links">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>Included below are links to some links that may be helpful when using Java with &os;. It is not intended to be a comprehensive list.</p>
<ul>
<li>IDEs
<ul>
<li><a href="http://www7b.software.ibm.com/wsdd/zones/vajava/">Visual Age for Java - Professional</a></li>
<li><a href="http://www.jedit.org">jEdit</a> <br/>
jEdit is a programmer's text editor written in Java with Swing and allows for plug-ins.</li>
<li> <a href="http://www.netbeans.org/">NetBeans</a><br/>
New IDE written completely in java, different versions available,
free and commercial ones. Now part Sun Microsystems.</li>
<li><a href="http://www.eclipse.org/">Eclipse</a><br/>
An open extensible IDE for anything and nothing in particular.</li>
<li><a href="http://www.jetbrains.com/idea">IDEA</a><br/>
IDEA is a commercial Java IDE with extensive refactoring support.</li>
</ul>
</li>
<li>JDBC
<ul>
<li><a href="http://www.voicenet.com/~zellert/tjFM/"></a>tjFM<br/>
A Type 4 JDBC driver for MySQL&trade;.</li>
<li><a href="http://www.mysql.com/products/connector-j/index.html">MySQL Connector/J</a><br/>
A Type 4 JDBC driver for MySQL.</li>
</ul>
</li>
<li>Tools
<ul>
<li><a href="http://www10.software.ibm.com/developerworks/opensource/jikes/">Jikes</a> <br/>
Ultra fast java compiler from IBM (available as port).</li>
<li><a href="http://www.FreeBSD.org/cgi/url.cgi?ports/comms/java-commapi-freebsd/pkg-descr">The JavaComm API</a> - Port of the JavaComm API to FreeBSD.</li>
<li><b>Kaffe</b> - <a href="http://www.kaffe.org">http://www.kaffe.org</a> - a &quot;clean room&quot; implementation of Java.</li>
</ul>
</li>
</ul>
<ul>
<li><a href="http://www.gjt.org">Giant Java Tree (GJT)</a><br/>
Open Source Java organized in a CVS tree.</li>
<li> <a href="http://java.apache.org">Java at the Apache Group</a> <br/>
Different projects concerning java and web, e.g. JServ, Cocoon, etc.</li>
<li>API</li>
<li><ul>
<li><a href="http://java.sun.com/products/servlet/index.html">Sun's Servlet API</a></li>
</ul></li>
<li>Servlet Information</li>
<li><ul>
<li><a
href="http://www.jguru.com/faq/server-side-development/servlets">Purple Servlet FAQ</a><br/>
A comprehensive source of information for Servlets.</li>
</ul></li>
<li>Servlet Engines</li>
<li><ul>
<li><a href="http://www.newatlanta.com">ServletExec</a><br/>
A high-performance commercial servlet engine. Offers a free demo/development copy and a servlet debugger. Works with most web servers.</li>
</ul></li>
</ul>
<ul>
<li> Programming</li>
<li><ul>
<li><a href="http://www.jpython.org">JPython</a><br/>
Best Java Scripting (combines Python and Java) - a must have!</li>
</ul></li>
<li><a href="http://www10.software.ibm.com/developerworks/opensource/jikes/">Jikes</a> <br/>
Ultra fast java compiler from IBM (available as port)</li>
<li><a href="http://java.sun.com/docs/books/tutorial/index.html">The Java Tutorial</a><br/>
THE tutorial for Java direct from Sun.</li>
<li>IBM - <a href="http://www.ibm.com/java">developerWorks - Java Technology Zone</a><br/> Main java site.</li>
<li>IBM - <a href="http://www.alphaworks.ibm.com">Alphaworks</a><br/>Technology studies, early access.</li>
</ul>
</body>
</html>

View file

@ -1,21 +0,0 @@
# $FreeBSD$
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS = freebsd.xml
DOCS+= tools.xml
DOCS+= api.xml
DOCS+= index.xml
DOCS+= tutorials.xml
DOCS+= development.xml
DOCS+= resources.xml
DOCS+= vendor.xml
DOCS+= documentation.xml
DOCS+= servlets.xml
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: API">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<h2> API - Extensions by Sun Microsystems </h2>
The following list contains an excerpt from the available
API definitions and implementations from SUN (for a start see
<a href="http://java.sun.com/products">Java Products</a> and go e.g. to Standard Extensions)
<ul>
<li><a href="http://java.sun.com/products/jfc">JFC (Java Foundation Classes)</a><br/>
That is where Swing comes from. For more info see
<a href="http://java.sun.com/products/jfc/tsc">The Swing Connection</a>.</li>
<li> <a href="http://java.sun.com/products/java-media/jmf/index.html">Java<sup><font size="-2">TM</font></sup> Media Framework</a><br/>
The Java Media Framework (JMF) 1.0 API specifies a simple,
unified architecture, messaging protocol, and programming interface
for media playback. This API was developed by Sun Microsystems,
Inc., Silicon Graphics Inc., and Intel Corporation.
<br/>
The Java Media Framework (JMF) 2.0 API extends the 1.0 API by
providing capture functionality, pluggable codecs, file saving, RTP
broadcast and the ability to access and manipulate media data before it
is rendered. This API is available for public review, and was developed
by Sun Microsystems, Inc. and IBM. </li>
<li> <a href="http://java.sun.com/products/java-media/jai/index.html">Java<sup><font size="-2">TM</font></sup> Advanced Imaging</a><br/>
The Java Advanced Imaging (JAI) API is the extensible,
network-aware programming interface for creating advanced image processing
applications and applets in the Java programming language. The
Java Advanced Imaging API offers a rich set of image processing features
such as tiling, deferred execution and multiprocessor scalability.
Fully compatible with the Java 2D API, developers can easily extend the image
processing capabilities and performance of standard Java 2D applications
with the Java Advanced Imaging API.</li>
<li> <a href="http://java.sun.com/products/javacomm/">Java<sup><font size="-2">TM</font></sup> Serial Port (COMM)</a> <br/>
The Java Serial Port can be used to write platform-independent communications
applications for technologies such as voice mail, fax, and smartcards.
Its current version supports RS232 serial ports and IEEE 1284 parallel ports.</li>
<li> <a href="http://java.sun.com/products/java-media/3D/index.html">Java 3D<sup><font size="-2">TM</font></sup></a><br/>
The Java 3DTM 1.1 API is a set of classes for writing
three-dimensional graphics applications and 3D applets. It gives
developers high level constructs for creating and manipulating 3D
geometry and for constructing the structures used in rendering that
geometry. Application developers can describe very large virtual
worlds using these constructs, which provides Java 3D with enough
information to render these worlds efficiently. </li>
<li> <a href="http://java.sun.com/products/javamail/index.html">JavaMail</a><br/>
The JavaMail API provides a set of abstract classes that models a mail system.
The API is meant to provide a platform independent and protocol
independent framework to build Java-based mail and messaging applications. </li>
<li> <a href="http://java.sun.com/products/javahelp/index.html">JavaHelp<sup><font size="-2">TM</font></sup></a><br/>
JavaHelp is the Help system for the Java platform: it is a Java-based,
platform independent help system that enables Java developers to
incorporate online help for a variety of needs, including Java components,
applications (network and stand-alone), desktops, and HTML pages.</li>
<li> <a href="http://java.sun.com/products/beans/glasgow/jaf.html">JavaBeans<sup><font size="-2">TM</font></sup> Activation Framework (JAF)</a><br/>
With the JavaBeans Activation Framework (JAF) developers can take
advantage of standard services to determine the type of an arbitrary
piece of data, encapsulate access to it, discover the operations
available on it and to instantiate the appropriate JavaBeans
component to perform these operations.</li>
<li> <a href="http://java.sun.com/products/servlet/index.html">Java<sup><font size="-2">TM</font></sup> Servlet</a><br/>
Java Servlet provides a uniform, industry-supported
interface for extending a web server with cross-platform and
cross-server components written in the Java Programming Language.</li>
<li> <a href="http://java.sun.com/products/jce/index.html">Java<sup><font size="-2">TM</font></sup> Cryptography (JCE)</a><br/>
The Java Cryptography Extension (JCE) 1.2 provides a framework and
implementations for encryption, key generation and key agreement, and Message
Authentication Code (MAC) algorithms. Support for encryption includes
symmetric, asymmetric, block, and stream ciphers. The software also supports
secure streams and sealed objects. </li>
<li><a href="http://java.sun.com/products/beans/infobus/index.html">InfoBus</a><br/>
InfoBus enables dynamic exchange of data between JavaBeans components by
defining a small number of interfaces between cooperating Beans and specifying
the protocol for use of those interfaces.<br/>
The protocols are based on a notion of an information bus. All components
which implement these interfaces can plug into the bus. As a member of the
bus any component can exchange data with any other component in structured
way, including arrays, tables, and database rowsets.</li>
<li><a href="http://java.sun.com/products/jndi/index.html">Java Naming and Directory Interface<font size="1"><sup>TM</sup></font> (JNDI)</a><br/>
Provides uniform, industry-standard, seamless connectivity from the
Java platform to business information assets, thus allowing developers to
deliver Java applications with unified access to multiple naming and directory
services across the enterprise.</li>
<li> <a href="http://java.sun.com/xml">The XML Project</a><br/>
Sun&acute;s home for combining XML and Java Technology</li>
</ul>
<h2> Third Party packages... </h2>
<ul>
<li> <a href="http://www.objectspace.com/products/jglOverview.htm">JGL (Java Generic Library)</a><br/>
A collection API implementation including linked lists etc. The Collection
API before invention of CollectionAPI in JDK1.2.</li>
<li> <a href="http://www.alphaworks.ibm.com/tech/xml4j">XML4J</a><br/>
XML Parser for java from IBM.</li>
</ul>
</body>
</html>

View file

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Development Tools">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p> Included below are links to some tools that can be used on FreeBSD. It is not intended to be a comprehensive list.</p>
<ul>
<li> IDE&acute;S</li>
<li><ul>
<li><a href="http://www7b.software.ibm.com/wsdd/zones/vajava/">Visual Age for Java -
Professional</a> <br/>
<a href="mailto:Joachim.Jaeckel@coffeebreak.de">Joachim Jaeckel</a> has put together a page on how to run Visual Age for Java Professional 3.0 (Linux) under -CURRENT: <a href="http://www.coffeebreak.de/freebsd/">http://www.coffeebreak.de/freebsd/</a></li>
<li><a href="http://jdee.sunsite.dk/">JDE</a> <br/>
(X)Emacs mode for editing Java.</li>
<li><a href="http://www.ist.co.uk/visaj/index.html">visaj</a> <br/>
A commercial visual application builder for Java. </li>
<li><a href="http://www.jedit.org">jEdit</a> <br/>
jEdit is a programmer's text editor written in Java with Swing and allows for plug-ins. The author is also working on <a href="http://www.gjt.org/~sp/jedit-ide/">jEdit-IDE</a>.</li>
<li> <a href="http://www.netbeans.org/">NetBeans</a><br/>
New IDE written completely in java, different versions available,
free and commercial ones. Now part Sun Microsystems.</li>
<li> JWS - Sun&acute;s IDE <br/>
Will not longer be maintained since Sun acquired NetBeans
to use it as their IDE from now on.</li>
<li><a href="http://www.freebuilder.org">FreeBuilder</a><br/>
Open Source IDE, nice start but seems to be slowing down
in progress lately, but don&acute;t trust all the infos on the
webpages, just check out the newest CVS-sources.</li>
<li><a href="http://www.elixirtech.com/ElixirIDE/index.html">ElixirIDE</a> <br/>
An IDE that includes a debugger. Rated a JARS top 5%.</li>
<li><a href="http://www.eclipse.org/">Eclipse</a><br/>
An open extensible IDE for anything and nothing in particular.</li>
<li><a href="http://www.jetbrains.com/idea">IDEA</a><br/>
IDEA is a commercial Java IDE with extensive refactoring support.</li>
</ul></li>
<li> JDBC</li>
<li><ul>
<li><a href="http://industry.java.sun.com/products/jdbc/drivers">Sun's list of JDBC Drivers</a></li>
<li><a href="http://www.voicenet.com/~zellert/tjFM/"></a>tjFM<br/>
A Type 4 JDBC driver for MySQL&trade;.</li>
<li><a href="http://www.mysql.com/products/connector-j/index.html">MySQL Connector/J</a><br/>
A Type 4 JDBC driver for MySQL.</li>
</ul></li>
<li> UML</li>
<li><ul>
<li><a href="http://www.togethersoft.com/together/togetherJ.html">TogetherJ</a> <br/>
UML based development environment, written in Java. Different editions
available, even a free one.</li>
</ul></li>
<li> Tools</li>
<li><ul>
<li><a href="http://www10.software.ibm.com/developerworks/opensource/jikes/">Jikes</a> <br/>
Ultra fast java compiler from IBM (available as port).</li>
</ul></li>
</ul>
</body>
</html>

View file

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Documentation">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<ul>
<li><a href="http://www.blackdown.org/java-linux/docs/faq/FAQ-java-linux.html">JavaLinux FAQ</a></li>
<li><a href="http://www.eckelobjects.com/TIJ2/index.html">Thinking in Java 2nd ed.</a><br/>
A free Java book, now available in its early second edition stage.
It can be downloaded in W97/HTML or PDF format.<br/>
The <a href="http://www.eckelobjects.com/javabook.html">old version</a>
of the book is still accessible.</li>
</ul>
</body>
</html>

View file

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: FreeBSD Related Java Stuff">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<ul>
<li><a href="http://www.FreeBSD.org/cgi/url.cgi?ports/comms/java-commapi-freebsd/pkg-descr">The JavaComm API</a> - Port of the JavaComm API to FreeBSD.</li>
<li><b>shuJIT</b> - <a href="http://www.shudo.net/jit/">http://www.shudo.net/jit/</a> - a &quot;Just In Time&quot; compiler for FreeBSD and Linux.</li>
<li><b>TYA</b> - <a href="ftp://gonzalez.cyberus.ca/pub/Linux/java/">ftp://gonzalez.cyberus.ca/pub/Linux/java/</a> - a &quot;Just In Time&quot; compiler for FreeBSD.</li>
<li><b>Kaffe</b> - <a href="http://www.kaffe.org">http://www.kaffe.org</a> - a &quot;clean room&quot; implementation of Java.</li>
<li><a href="http://www.blackdown.org">Linux-Ports</a><br/>The Java Linux Porting Website</li>
<li><ul>
<li><a
href="http://www.blackdown.org/java-linux/jdk1.2-status/index.html">Status of
porting...</a></li>
<li> JDK 1.2</li>
<li> JAF</li>
<li> JMF</li>
<li> JAI</li>
<li> Java3D</li>
<li> JavaPlugin 1.2</li>
</ul></li>
</ul>
</body>
</html>

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Java Links">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>This page presents different categories of links to
java resources. They are ordered by themes.</p>
<ul>
<li> <a href="./freebsd.html">FreeBSD</a><br/>
Special FreeBSD related stuff, like ports etc.</li>
<li> <a href="./vendor.html">Vendors</a><br/>
Contains links to Sun, IBM ... related websites.</li>
<li><a href="./development.html">Development Tools</a><br/>
Contains links to Java Development Tools (incl. Sun, IBM).</li>
<li><a href="./api.html">APIs</a><br/>
Contains links to different API and implementations of protocols.</li>
<li><a href="./tutorials.html">Tutorials</a><br/>
Contains links to on-line tutorials, e.g. the one at JavaSoft.</li>
<li><a href="./documentation.html">Documentation</a><br/>
Contains links to on-on-line documents concerning java.</li>
<li><a href="./servlets.html">Servlets</a><br/>
Contains links to information on servlets and servlet engines.</li>
<li><a href="./resources.html">Resources...</a><br/>
Everything not fitting anywhere else.</li>
</ul>
</body>
</html>

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Other Resources">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<ul>
<li><a href="http://www.gamelan.com">Java Directory at Gamelan</a><br/>
Collection of java applets, programs, tools and libraries...</li>
<li><a href="http://www.javaworld.com">Java World</a><br/>
<i>The</i> Java Magazine</li>
<li><a href="http://www.gjt.org">Giant Java Tree (GJT)</a><br/>
Open Source Java organized in a CVS tree.</li>
<li><a href="http://jos.sourceforge.net/">JOS</a><br/>
Free Java Operating System (still under development but already some nice
things available).</li>
<li><a href="http://www.javalobby.org">Javalobby</a><br/>
Organization to support Java (fight for Java), sometimes nice offers<br/>
of commercial software for free (if you are member of Javalobby).</li>
<li> <a href="http://www.ibm.com/developer/java/">JCentral</a> <br/>
Search engine only for java things (searches<br/>
newsgroups, source code archives, ... Provided by IBM .</li>
<li> <a href="http://java.apache.org">Java at the Apache Group</a> <br/>
Different projects concerning java and web, e.g. JServ, Cocoon, etc.</li>
</ul>
</body>
</html>

View file

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Servlets">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>Servlets are a &java; API that can be used to replace Perl CGI scripts, or more specifically, to extend the capabilities of the web server.</p>
<p>Servlets can also be used with XML and XSL.</p>
<ul>
<li>API</li>
<li><ul>
<li><a href="http://java.sun.com/products/servlet/index.html">Sun's Servlet API</a></li>
<li><a href="http://java.sun.com/products/jsp/jsp_servlet.html">Sun's Java Server Pages White Paper</a><br/>
Java Server Pages are a method to ease design and maintenance of web pages. Similar to Active Server Pages by Microsoft.</li>
</ul></li>
<li>Servlet Information</li>
<li><ul>
<li><a href="http://www.purpletech.com/servlet-faq">Purple Servlet FAQ</a><br/>
A comprehensive source of information for Servlets.</li>
</ul></li>
<li>Servlet Engines</li>
<li><ul>
<li><a href="http://www.sun.com/software/jwebserver/">Java Web Server</a><br/>
This was the reference implementation of the servlet engine implemented in Java. Sun has turned over the source code to the Apache Project and is now implemented as Tomcat.</li>
<li><a href="http://jakarta.apache.org">Tomcat (Jakarta Project)</a><br/>
The reference implementation of Java Servlets and Java Server Pages. The code is not yet available aside from a nightly standalone build.</li>
<li><a href="http://java.apache.org/jserv">Apache JServ</a><br/>
A 100% Pure Java implementation of the Servlet 2.0 API specification. Works with Apache.</li>
<li><a href="http://www.newatlanta.com">ServletExec</a><br/>
A high-performance commercial servlet engine. Offers a free demo/development copy and a servlet debugger. Works with most web servers.</li>
<li><a href="http://www.jrun.com/products/Jrun">JRun</a><br/>
A high-performance commercial servlet engine. Offers a free demo/development copy. JavaWorld's Best Servlet Tool for 1998 and WebTechnique's Best Java Tool for 1998. Recently acquired by Allaire. Works with most web servers.</li>
</ul></li>
</ul>
</body>
</html>

View file

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Tools">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<ul>
<li> Programming</li>
<li><ul>
<li><a href="http://www.jpython.org">JPython</a><br/>
Best Java Scripting (combines Python and Java) - a must have!</li>
</ul></li>
<li> Other</li>
<li><ul>
<li><a href="http://www10.software.ibm.com/developerworks/opensource/jikes/">Jikes</a> <br/>
Ultra fast java compiler from IBM (available as port)</li>
</ul></li>
</ul>
</body>
</html>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Tutorials">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<ul>
<li><a href="http://java.sun.com/docs/books/tutorial/index.html">The Java Tutorial</a><br/>
THE tutorial for Java direct from Sun.</li>
<li><a href="http://developer.java.sun.com/developer/onlineTraining/">Java Developer Connection's Listing of Documentations and Tutorials</a><br/>
If you need a tutorial, this is the place to find it. It includes basic tutorials on Java, JavaBeans, Collections, JDBC, Security, etc. You'll need to register to view them, but it is free, and very valuable!</li>
</ul>
</body>
</html>

View file

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD &java; Project: Vendor Links">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>This page contains links sorted by Vendors.</p>
<ul>
<li> Sun Microsystems</li>
<li><ul>
<li><a href="http://www.javasoft.com">JavaSoft Main Website</a><br/>
This is THE resource for Java. Direct from the inventor.</li>
<li><a href="http://developer.java.sun.com/developer/">Java Developer Connection</a><br/> Register for free and get early access versions and lots of other stuff as well.</li>
</ul></li>
<li> IBM</li>
<li><ul>
<li><a href="http://www.ibm.com/java">developerWorks - Java Technology Zone</a><br/> Main java site.</li>
<li><a href="http://www.alphaworks.ibm.com">Alphaworks</a><br/>Technology studies, early access.</li>
<li><a href="http://www10.software.ibm.com/developerworks/opensource/jikes/">Jikes</a><br/>
Very fast java compiler, open source.</li>
</ul></li>
</ul>
</body>
</html>

View file

@ -18,7 +18,7 @@ var h = document.location.host;
*/
var fbsdregex = /((docs|security|svnweb|wiki|www)\.freebsd\.org|google\.com)/i;
if (window.navigator.doNotTrack === "yes") {
if (typeof navigator.doNotTrack !== "undefined" && (navigator.doNotTrack == "yes" || navigator.doNotTrack == "1")) {
allow_track = false;
}

View file

@ -59,6 +59,8 @@ XMLDOCS+= report-2012-04-2012-06
XMLDOCS+= report-2012-07-2012-09
XMLDOCS+= report-2012-10-2012-12
XMLDOCS+= report-2013-01-2013-03
XMLDOCS+= report-2013-04-2013-06
XMLDOCS+= report-2013-05-devsummit
XSLT.DEFAULT= report.xsl

View file

@ -0,0 +1,610 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status Report//EN" "http://www.FreeBSD.org/XML/www/share/xml/statusreport.dtd" >
<!-- $FreeBSD$ -->
<report>
<date>
<month>April-June</month>
<year>2013</year>
</date>
<section>
<title>Introduction</title>
<p>This report covers &os;-related projects between April and June
2013. This is the second of four reports planned for 2013.</p>
<!-- XXX: theraven's part goes here -->
<!-- XXX: keep updating the number of entries -->
<p>Thanks to all the reporters for the excellent work! This report
contains 12 entries and we hope you enjoy reading it.</p>
<!-- XXX: set date for the next set of submissions -->
<p>The deadline for submissions covering between July and September 2013
is not yet decided.</p>
</section>
<category>
<name>team</name>
<description>&os; Team Reports</description>
</category>
<category>
<name>proj</name>
<description>Projects</description>
</category>
<category>
<name>kern</name>
<description>Kernel</description>
</category>
<category>
<name>arch</name>
<description>Architectures</description>
</category>
<category>
<name>bin</name>
<description>Userland Programs</description>
</category>
<category>
<name>ports</name>
<description>Ports</description>
</category>
<category>
<name>docs</name>
<description>Documentation</description>
</category>
<project cat='proj'>
<title>PC-BSD</title>
<contact>
<person>
<name>
<given>Kris</given>
<common>Moore</common>
</name>
<email>kmoore@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.pcbsd.org">PC-BSD Home Page</url>
</links>
<body>
<p>Progress on moving PC-BSD &amp; TrueOS to a "rolling release"
is happening quickly. We have implemented our own package
repository, fully based on <tt>pkg(8)</tt>, which is updated twice
monthly, and are now hosting dedicated
<tt>freebsd-update(8)</tt> systems. In addition to the
<tt>9.1-RELEASE</tt> ISO images, we have begun to create a
<tt>9-STABLE</tt> branch as well, using
<tt>freebsd-update(8)</tt> to push out the latest world and
kernel binaries on a monthly basis.</p>
<p>We are currently working on an implementation of ZFS Boot
Environments for desktops and servers. These users to install
updates or experimental versions in separate ZFS clones and
select the one to run at boot time, providing an easy way of
testing upgrades before deployment.</p>
</body>
</project>
<project cat='kern'>
<title>Wireless Networking Improvements</title>
<contact>
<person>
<name>
<given>Adrian</given>
<common>Chadd</common>
</name>
<email>adrian@FreeBSD.org</email>
</person>
</contact>
<links/>
<body>
<p>Recently the &os; wireless networking stack has received
updates in the following areas:</p>
<ul>
<li>Improved transmit locking in <tt>net80211(4)</tt> to
eliminate a whole class of subtle race conditions leading to
out-of-order packets being handed to the driver.</li>
<li>Spectral scan (FFT) information is now available for the
AR9280, AR9285, AR9287 series NICs.</li>
<li>Added support for AR93xx, AR94xx, AR95xx NICs &mdash;
<tt>hostap</tt>, <tt>adhoc</tt> and <tt>station</tt> modes
have been tested, including 3x3 stream support for the those
NICs where appropriate.</li>
<li>Implemented ps-poll handling in <tt>hostap</tt> mode. This
was required for correct behaviour with stations that implement
aggressive power save.</li>
<li>Added AR933x SoC support &mdash; including all on-board
peripherals &mdash; the <tt>8devices.com</tt> Carambola-2
board is now fully supported and will run &os; from NOR
flash.</li>
</ul>
</body>
</project>
<project cat='arch'>
<title>Intel IOMMU (VT-d, DMAR) Support</title>
<contact>
<person>
<name>
<given>Konstantin</given>
<common>Belousov</common>
</name>
<email>kib@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html"/>
<url href="http://lists.freebsd.org/pipermail/freebsd-arch/2013-May/014368.html"/>
<url href="http://people.freebsd.org/~kib/misc/dmar.1.patch"/>
</links>
<body>
<p>A VT-d driver was developed that implements the
<tt>busdma(9)</tt> interface using the DMA Remap units (DMARs)
found in current Intel chipsets. The driver provides
reliability and security improvements for the system by
facilitating restricted access to main memory from busmastering
devices.</p>
<p>It also eliminates bounce buffering (copying) by allocating
remapped regions that satisfy a device's access limitations.</p>
<p>With additional work to define a suitable interface the VT-d
driver will also provide PCI pass-through functionality for
hypervisors.</p>
<p>This project is sponsored by the &os; Foundation.</p>
</body>
<help>
<task>Implement workarounds for chipset errata.</task>
<task>Commit to HEAD after additional testing.</task>
<task>Rebalance MSI/MSI-X using interrupt remapping unit, also
required for x2APIC use on big machines.</task>
<task>Integrate with the Intel GPU MMU and handle Ironlake and
SandyBridge errata for the GFXVTd unit.</task>
<task>Provide an interface for VMM (hypervisors).</task>
<task>Consider implementing a driver for AMD's IOMMU.</task>
</help>
</project>
<project cat='kern'>
<title>Multi-threaded Pagedaemon</title>
<contact>
<person>
<name>
<given>Konstantin</given>
<common>Belousov</common>
</name>
<email>kib@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.freebsd.org/~kib/misc/pagedaemon-numa.1.patch"/>
</links>
<body>
<p>This project aims to improve scalability of the virtual memory
subsystem. Based on a prototype change from Jeff Roberson,
per-domain page queues and per-domain pagedaemon working threads
have been implemented to enable this. At the moment, the
domains coincide with the NUMA proximity domains, but this is
not neccessary and could be improved with further separation to
allow more parallelism in the pagedaemon.</p>
<p>The patch is relatively simple, with the most delicate parts
being the page laundry and OOM logic, which requires coordination
between all pagedaemon threads to prevent false triggering.</p>
<p>Testing on diverse workloads and on real multi-socket machines
is required.</p>
<p>This project is sponsored by the &os; Foundation.</p>
</body>
<help>
<task>Debug on multi-domain NUMA machine.</task>
<task>Test, get review and commit.</task>
</help>
</project>
<project cat='bin'>
<title>HAST Module for <tt>bsnmpd(1)</tt></title>
<contact>
<person>
<name>
<given>Mikolaj</given>
<common>Golub</common>
</name>
<email>trociny@FreeBSD.org</email>
</person>
</contact>
<links/>
<body>
<p>HAST module for <tt>bsnmpd(1)</tt> has been committed to
-CURRENT and merged to 8.x and 9.x -STABLE branches. The module
allows to monitor and manage HAST via the SNMP protocol.</p>
</body>
</project>
<project cat='team'>
<title>&os; Release Engineering Team</title>
<contact>
<person>
<name>&os; Release Engineering Team</name>
<email>re@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.freebsd.org/releases/8.4R/errata.html"/>
<url href="http://www.freebsd.org/releases/9.2R/schedule.html"/>
</links>
<body>
<p>The &os;&nbsp;8.4-RELEASE cycle completed on June 7, 2013,
approximately two months behind the original schedule. Please
be sure to read the Errata Notices for any post-release issues
discovered after 8.4-RELEASE.</p>
<p>The &os;&nbsp;9.2-RELEASE process will begin July 6, 2013.
Unless any critical issues arise, &os;&nbsp;9.2-RELEASE is
expected to be available late August or early September.</p>
<p>Users tracking the &os;&nbsp;9.<i>X</i> branch are encouraged
to test the -BETA and -RC builds whenever possible, and provide
feedback and report issues to the <a
href="http://lists.freebsd.org/pipermail/freebsd-stable">freebsd-stable
mailing list</a>.</p>
</body>
</project>
<project cat='proj'>
<title>Virtual Private Systems</title>
<contact>
<person>
<name>
<given>Klaus</given>
<common>Ohrhallinger</common>
</name>
<email>k@7he.at</email>
</person>
</contact>
<links>
<url href="http://www.7he.at/freebsd/vps/"/>
<url href="http://svnweb.freebsd.org/base/projects/vps/"/>
</links>
<body>
<p>VPS for &os; is an OS-level based virtualization implementation
that supports advanced features like live migration. It has
been recently imported into the Project's Subversion repository
as a project branch. The code is currently of alpha
quality.</p>
</body>
<help>
<task>Test with many different guest setups/applications. All
feedback is highly appreciated.</task>
</help>
</project>
<project cat='ports'>
<title>KDE/&os;</title>
<contact>
<person>
<name>
<given>KDE</given>
<common>&os;</common>
</name>
<email>kde@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://FreeBSD.kde.org">KDE/&os; home page</url>
<url href="http://FreeBSD.kde.org/area51.php">area51</url>
</links>
<body>
<p>The KDE/&os; Team have continued to improve the experience of
KDE software and Qt under &os;. During this quarter, the team
has kept most of the KDE and Qt ports up-to-date, working on the
following releases:</p>
<ul>
<li>KDE SC: 4.10.2, 4.10.3, 4.10.4</li>
<li>Qt: 5.0.2 (area51)</li>
<li>PyQt: 4.10.2; QScintilla 2.7.2; SIP: 4.14.7</li>
<li>KDevelop: 4.5.1</li>
<li>Calligra: 2.6.2</li>
<li>CMake: 2.8.11.1</li>
<li>Digikam (and KIPI-plugins): 3.1.0, 3.2.0 </li>
<li>KDE Telepathy: 0.6.0, 0.6.1</li>
</ul>
<p>As a result &mdash; according to <a
href="http://portscout.freebsd.org/kde@freebsd.org.html">PortScout</a>
&mdash; <tt>kde@</tt> has 473 ports (up from 431), of which
98.73% are up-to-date (up from 93.5%). iXsystems Inc.
continues to provided a machine for the team to build packages
and to test updates. iXsystems Inc. has been providing the
KDE/&os; Team with support for quite a long time and we are very
grateful for that. This quarter, we would also like to thank
Steve Wills (<tt>swills@</tt>) for providing access to another
machine so that we can do our work even faster.</p>
<p>While a great deal of the team's efforts are focused towards
packaging released code, we also take a proactive stand in
making sure future versions of the software we port is also
going to work well on &os;. This involves being in close
contact with upstream, raising awareness of &os; as an active
project and also sending actual patches that most of the time
benefit many other operating systems besides &os; itself. In
this regard, we have been dedicating a lot of time making sure
both <tt>clang</tt> and <tt>libc++</tt> are fully supported in
KDE and Qt. Not only has this resulted in many patches being
sent to these projects, but the exposure to these large code
bases have been beneficial to the Clang-on-&os; project as well.
Dimitry Andric (<tt>dim@</tt>) has been of great help as a point
of contact for all the issues we have faced.</p>
<p>As usual, the team is always looking for more testers and
porters so please contact us and visit our home page. It would
be especially useful to have more helping hands on tasks such as
getting rid of the dependency on the defunct HAL project and
providing integration with KDE's Bluedevil Bluetooth
interface.</p>
</body>
<help>
<task>Update out-of-date ports, see <a
href="http://portscout.freebsd.org/kde@freebsd.org.html">PortScout</a>
for a list.</task>
<task>Work on KDE 4.11 and Qt 5.</task>
<task>Make sure the whole KDE stack (including Qt) builds and works
correctly with <tt>clang</tt> and <tt>libc++</tt>.</task>
<task>Remove the dependency on HAL.</task>
</help>
</project>
<project cat='docs'>
<title>Upgrading the Documentation Set to DocBook 5.0</title>
<contact>
<person>
<name>
<given>G&aacute;bor</given>
<common>K&ouml;vesd&aacute;n</common>
</name>
<email>gabor@FreeBSD.org</email>
</person>
</contact>
<body>
<p>The Documentation Project has been using old versions of markup
standards until recently when we switched to a real XML
toolchain and DocBook 4.5. However, we still depend on obsolete
technologies &mdash; DSSSL and Jade. Besides, DocBook 5.0
provides cleaner markup and some nice new features.</p>
<p>The objective of this project is to upgrade the documentation
set to DocBook 5.0 and to find a way to properly render our
sources without using DSSSL, since the DSSSL stylesheets are
discontinued and cannot render DocBook 5.0. The documentation
sources have already been successfully transformed to DocBook
5.0 and updates to the rendering process are under
development. The common opinion among &os; developers is that
Java is a heavy dependency that should be avoided. This has
suggested the transformation of DocBook sources to TeX and use
TeX as a rendering backend. There are two ways to do this; the
sources can be transformed either directly or through the XSL FO
output generated by the stylesheets provided for the DocBook Project.
The latter approach has been chosen as a preferred
way since it better fits the existing documentation
infrastructure and provides easier customization.</p>
<p>This project is generously funded by The &os; Foundation.</p>
</body>
<help>
<task>Finish the implementation of the rendering process.</task>
<task>Integrate the rendering solution into the
infrastructure.</task>
<task>Merge back changes to <tt>head</tt>.</task>
</help>
</project>
<project cat='kern'>
<title>AMD GPU Kernel Mode-setting Support</title>
<contact>
<person>
<name>
<given>Jean-S&eacute;bastien</given>
<common>P&eacute;dron</common>
</name>
<email>dumbbell@FreeBSD.org</email>
</person>
<person>
<name>
<given>Konstantin</given>
<common>Belousov</common>
</name>
<email>kib@FreeBSD.org</email>
</person>
</contact>
<links>
<url
href="https://wiki.freebsd.org/AMD_GPU">Project status on the wiki</url>
</links>
<body>
<p>Due to non-&os;-related activities from April to end of June,
the project progressed slowly:</p>
<ul>
<li>Some important problems in TTM were fixed and several others
are being worked out. Applications affected by these bugs are
non-linear video editing software (which do not use Xv to
preview the video) or "screen" of VirtualBox, for
instance.</li>
<li>Regarding the locking issue with OpenGL, no work has been
done yet. <tt>glxgears</tt> works but some modern desktop
environments or WebGL demos hang. Once TTM bugs described
above are fixed, this is the next target.</li>
<li>Patches to Mesa to make it build out-of-the-box were
submitted upstream. As of writing, some were committed but
not all of them. Additionally, as result of a joint work with
Jonathan Gray (of OpenBSD), Mesa should work on &os;, OpenBSD,
and hopefully on other BSD flavors without additional
patches.</li>
</ul>
<p>Several users tested the driver. Andriy Gapon, Jonathan
Gray, and Mark Kettenis (of OpenBSD) submitted patches. kyzh
kindly donated several discrete cards from different series.
A big thanks to all those contributors!</p>
<p>The driver is still not stable enough for a wider call for
testers.</p>
</body>
<help>
<task>Write instructions for the wiki to explain how to test the
driver.</task>
</help>
</project>
<project cat='kern'>
<title>Realtek RTL8188CU/RTL8192CU USB Wireless Driver</title>
<contact>
<person>
<name>
<given>Rui</given>
<common>Paulo</common>
</name>
<email>rpaulo@FreeBSD.org</email>
</person>
</contact>
<body>
<p>The <tt>urtwn(4)</tt> driver was imported from OpenBSD. This
is a driver for very small Realtek USB WiFi cards which are pretty
inexpensive and can do 802.11n at the maximum theoretical speed
of 150 Mbps. They make a good addition to embedded systems such
as the Raspberry Pi and the BeagleBone. The driver requires
firmware that is available in the &os; Ports Collection
(<tt>net/urtwn-firmware-kmod</tt>). Note that 802.11n is not
yet supported.</p>
</body>
</project>
<project cat='kern'>
<title>ZFS TRIM and Enhanced <tt>BIO_DELETE</tt> Support</title>
<contact>
<person>
<name>
<given>Pawel Jakub</given>
<common>Dawidek</common>
</name>
<email>pjd@FreeBSD.org</email>
</person>
<person>
<name>
<given>Steven</given>
<common>Hartland</common>
</name>
<email>smh@FreeBSD.org</email>
</person>
</contact>
<body>
<p>As of the end of June, &os;'s ZFS implementation now includes
TRIM support in <tt>head</tt>, <tt>stable/9</tt>, and
<tt>stable/8</tt> branches. This allows ZFS to help maintain
high performance on flash-based devices such as SSD's even under
high-load conditions.</p>
<p>When creating new pools and adding new devices to existing
pools it first performs a full-device level TRIM to help ensure
optimum starting performance. This behaviour can be overridden
by setting the <tt>vfs.zfs.vdev.trim_on_init</tt> sysctl
variable to <tt>0</tt> if for example the disks are new or have
already been secure erased, which can also now be done using
<tt>camcontrol(8)</tt> security actions.</p>
<p>In order to support TRIM, the kernel requires the underlying
device driver supports <tt>BIO_DELETE</tt>. This is currently
mapped through to hardware methods such as ATA TRIM and SCSI
UNMAP, which are commonly supported by SSDs via CAM.</p>
<p>In order to increase the supported hardware base, CAM's SCSI
layer was also enhanced to allow ATA TRIM via SATL ATA
Passthrough to be used in addition to the existing UNMAP and WS
methods. This allows SATA disks attached to SCSI controllers
with CAM based drivers such as <tt>mps(4)</tt> and
<tt>mpt(4)</tt> to provide delete support.</p>
<p>Stats for ZFS TRIM can be monitored by looking at the sysctl
variables under <tt>kstat.zfs.misc.zio_trim</tt> in addition to
live GEOM delete stats via the <tt>gstat -d</tt> command.</p>
<p>This project was sponsored by <a
href="http://www.multiplay.com">Multiplay</a> and implemented by
Pawel Jakub Dawidek.</p>
</body>
</project>
</report>

View file

@ -0,0 +1,356 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status
Report//EN"
"http://www.FreeBSD.org/XML/www/share/xml/statusreport.dtd">
<!-- $FreeBSD$ -->
<report>
<date>
<month>May</month>
<year>2013</year>
</date>
<section>
<title>BSDCan 2013 DevSummit Special Status Report</title>
<p>This special status report contains a summary of the discussions
from the various working groups at the BSDCan 2013 DevSummit. The
&os; Project organizes DevSummits at various events, typically at
the major BSD conferences, so that developers can meet and discuss
matters in person.</p>
</section>
<project>
<title>Ports and Packages</title>
<contact>
<person>
<name>
<given>Erwin</given>
<common>Lansing</common>
</name>
<email>erwin@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.freebsd.org/~bdrewery/poudriere-0515.pdf">
Slides on the status of Poudriere</url>
<url href="http://people.freebsd.org/~sson/imgact_binmisc/20130515-bsdcan-xbuild-ports.pdf">
Slides on QEMU-based cross-building</url>
</links>
<body>
<p>The working group on ports and packages discussed the fallout
from the security incident and the lessons learned. Old-style
binary package building is now online and the infrastructure for
building them is in a much more maintainable state. Building
<tt>pkg(8)</tt> (new-style) packages should be possible
soon.</p>
<p>Bryan Drewery presented a short talk on the status of
Poudriere, the new package builder. This is useable for building
package sets for local deployment and for the official &os;
packages. When the original package building infrastructure was
designed, it took most of a day to build a large port like
Mozilla on a high-end machine. Now, we have single machines in
the &os; cluster that can build the entire ports tree in a day.
Poudriere is designed for this model and does not rely on ports
supporting parallel builds internally. Instead, it builds each
port in a separate jail, with ports that do not depend on each
other being built in parallel when there are spare CPUs.</p>
<p>Moving forward, the project plans to decouple package releases
from base system releases. Each base system release is intended
to be backwards compatible within that release series and so any
packages for N.x should work on N.x+1. The project will build
weekly package sets for each branch that will be retained for
two weeks, with no QA, and monthly sets that will undergo QA and
will be available for 12 months.</p>
<p>Stacy Son and Brooks Davis talkes about packages for less
common architectures. Stacy has worked to bring QEMU usermode
support to &os;. This means that MIPS or ARM &os; binaries can
run on an x86 &os; system. The kernel will detect the foreign
binary and launch it in the emulator. Stacy has been using this
to create jails containing a cross compiler and shell for the
host architecture, but native libraries for the target. This
allows ports that are not cross-build aware to run configure
scripts that do things like compile executables and run them,
but still has the most processor-intensive part of the build
(compiling and linking) running outside of emulation. With this
approach, we are easily able to build weekly package sets for
MIPS and ARM on a single x86 box. For installing onto embedded
systems, there are still some open problems. The
<tt>pkg(8)</tt> infrastructure can install many packages onto a
disk image, but will not be able to run complex post-install
scripts without the target system booting.</p>
</body>
</project>
<project>
<title>UEFI</title>
<contact>
<person>
<name>
<given>Benno</given>
<common>Rice</common>
</name>
<email>benno@FreeBSD.org</email>
</person>
</contact>
<body>
<p>UEFI is the new boot firmware standard pushed by Intel. It
comes with a number of challenges, including the SecureBoot
restriction, that prevents the firmware from booting unsigned
kernels and bootloaders. This is not currently a problem, as
most systems either do not enable this restriction by default,
or make it easy to disable, but it will be more important in the
future.</p>
<p>The goal for UEFI support in &os; is to merge the bootloader
that is currently in the projects branch, which will perform
signature verification and then hand off to the more
conventional &os; bootloader. This loader will be very simple
and so will need changing (and re-signing) fairly infrequently.
The &os; Foundation will be responsible for ensuring that the
bootloader is signed and so will work with SecureBoot.</p>
<p>There are a number of restructuring and refactoring tasks that
will need to be done over the next few months to ensure that the
&os; boot process works cleanly with UEFI. These include
removing some code duplication between various platforms that
use UEFI, removing some legacy support from the i386 kernel, and
restructuring how some of the bootloader code is built.
Interaction with UEFI will be simplified once clang supports the
MS Windows calling convention (used by UEFI) when generating
UNIX binaries. Benno Rice has been working on this, with some
assistence from David Chisnall, and this support should appear
soon.</p>
</body>
</project>
<project>
<title>Network Receive Performance</title>
<contact>
<person>
<name>
<given>George</given>
<common>Neville-Neil</common>
</name>
<email>gnn@FreeBSD.org</email>
</person>
</contact>
<body>
<p>&os; has traditionally been a platform with support for very
high performance networking. This is one of the main reasons
why it was selected for the Netflix streaming appliance, which
is currently responsible for over 20% of the Internet traffic in
the USA. The goal of this session was to discuss current
bottlenecks at the receiving end of connections.</p>
<p>Modern network cards support multiple receive queues and can
deliver packets into them depending on various criteria. The
design of a good API for accessing this functionality is very
important, as it shortens the path between a packet arriving in
the card and it being delivered into a userspace process. In an
extreme case, for example with cluster applications or virtual
machines, the receive queue may be accessed directly from a
process bypassing the kernel. In a more conventional setting,
the packets should be delivered to a kernel thread on the same
CPU as the receiving process, so that the copy to userspace is
cheap.</p>
<p>The group examined a number of different proposals, including
some patches, and discussed the requirements for a general API.
This work is ongoing.</p>
</body>
</project>
<project>
<title>Beyond Buildworld...</title>
<contact>
<person>
<name>
<given>Brooks</given>
<common>Davis</common>
</name>
<email>brooks@FreeBSD.org</email>
</person>
</contact>
<body>
<p>Buildworld is the target for building the base system in the
venerable &os; build system. This session aimed to investigate
the current limitations, discuss recent improvements, and
propose future directions for this process.</p>
<p>Over recent years, &os; has been used increasingly in embedded
systems and so cross development has become a lot more
important. One of the changes recently committed by Brooks
Davis now permits building the entire base system and creating a
disk image without root privileges. This makes embedded
development easier, as a number of users can now share an
expensive development box, capabily of performing builds
quickly, without having to give all of them root.</p>
<p>This session also discussed the bmake import, which brings in
NetBSD's make along with some improvements from Juniper, which
should allow much more accurate dependency tracking and faster
parallel and incremental builds. This should have some
additional benefits to the rest of the project, for example by
making our tinderbox infrastcture, which notifies developers if
the have broken the build, able to report failures much more
quickly.</p>
<p>One frequently requested capability, which is now being
investigated by Marcel Moolenar, is the ability to build &os;
from other platforms. Currently, developing a &os;-based
embedded system requires a &os; host system for building, which
is a barrier to entry that we would like to avoid.</p>
<p>There are a number of changes to our toolchain planned for the
10.x and 11.x timescales, including replacing GNU binutils with
LLVM-based tools and importing MCLinker. These are unlikely to
be the default in 10.0, but we hope to be able to provide a
GPL-free base system as a functional option this year.</p>
</body>
</project>
<project>
<title>Virtualization</title>
<contact>
<person>
<name>
<given>Peter</given>
<common>Grehan</common>
</name>
<email>grehan@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.freebsd.org/~grehan/bsdcan13_virt_ext.pdf">
Overall status slides</url>
<url href="http://people.freebsd.org/~gibbs/XenStatusBSDCan2013.pdf">
Xen status slides</url>
<url href="http://people.freebsd.org/~bryanv/pdfs/bsdcan2013_virtio.pdf">
VirtIO status slides</url>
<url href="http://people.freebsd.org/~grehan/bsdcan13_bhyve.pdf">
Bhyve slides</url>
</links>
<body>
<p>Virtualization is an increasingly important topic, with large
providers like Amazon deploying huge numbers of VMs and many
users deploying VMs on desktop systems for testing and backwards
compatibility. Today, &os; supports a wide variety of
virtualization options. This working group discussed the
current status and future directions of several of them.</p>
<p>Xen is the de-facto standard for large-scale virtualisation and
&os; has supported running as a guest for some time.
SpectraLogic has funded recent work on improving this, with two
overlapping goals. The first is to allow &os; to run as the
Domain 0 operating system. This is the operating system that
runs with elevated privilege and is allowed to talk directly to
the hardware and which must provide the virtualized devices to
the guests. This requires full paravirtualization support.
Related to this is the ability to use more paravirtualized
hardware when booting as a hardware virtualized guest. This
includes support for the new PVH mode, which uses hardware
support for memory operations but paravirtualized drivers for
everything else, giving the best performance possible with
Xen.</p>
<p>The &os; VirtualBox port is progressing well, with preliminary
support for 3D accleration in guests. The patches for
Microsoft's HyperV, provided by Microsoft, are currently being
tested with a view to incorporating them into &os; 10.</p>
<p>&os; also includes its own virtualization infrastructure, bhyve
(pronounced beehive), which is designed to support
hardware-assisted virtualization. This has made significant
progress over the past year, including now supporting AMD's
virtualization extensions as well as those from Intel. With so
many options, &os; is now very well placed in terms of
virtualization, both as a host and a guest.</p>
</body>
</project>
<project>
<title>Documentation</title>
<contact>
<person>
<name>
<given>Dru</given>
<common>Lavigne</common>
</name>
<email>dru@FreeBSD.org</email>
</person>
<person>
<name>
<given>Benedict</given>
<common>Reuschling</common>
</name>
<email>bcr@FreeBSD.org</email>
</person>
</contact>
<body>
<p>The documentation working group met during the main sessions
and also had several productive evenings improving the state of
&os; documentation.</p>
<p>The &os; Handbook has undergone some significant updates
recently and there is work underway to create a snapshot that
will be available as a professionally published print edition.
There are still some sections in need of updates before this can
happen and the documentation team is working on engaging the
relevant developers to review this content.</p>
<p>The &os; web site redesign was discussed. Currently, many of
the most commonly accessed pages are difficult to navigate to.
Its visual design is also somewhat dated. The documentation
team is working to design an improved structure and has several
offers of assistance with the appearance.</p>
<p>The &os; Project is international and many of the contributors
do not have English as their first language. To encourage more
participation from the rest of the world, it is important to
have high-quality translations of the documentation. PC-BSD
uses pootle (available from the &os; ports tree) to assist with
keeping translations consistent and up to date and we are
evaluating doing the same for &os;.</p>
<p>The documentation team plans to have a Docs Hackathon colocated
with the Cambridge DevSummit in August.</p>
</body>
</project>
</report>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD Quarterly Status Reports">
<!ENTITY title "FreeBSD Status Reports">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
@ -13,7 +13,8 @@
<body class="navinclude.about">
<h2>Next submissions due: July 7th, 2013</h2>
<h2>Next Quarterly Status Report submissions (April - June) due: July
7th, 2013</h2>
<p>Use the <a href="http://www.FreeBSD.org/cgi/monthly.cgi">xml
generator</a> or download and edit the <a href="report-sample.xml">
@ -33,7 +34,7 @@
difficult even for the most dedicated developer to remain on top of all
the work going on in the tree.</p>
<p>The FreeBSD Quarterly Development Status Report attempts to address this
<p>The &os; Development Status Report attempts to address this
problem by providing a vehicle that allows developers to make the broader
community aware of their on-going work on FreeBSD, both in and out of the
central source repository. For each project and sub-project, a one
@ -41,12 +42,21 @@
If it is a new project, or if a project has not submitted any prior status
reports, a short description may precede the status information.</p>
<p>Periodically special status reports are also prepared and
published. One of those are the developer summit reports.
Developer summits are places where developers meet in person to
discuss issues related to the project. They are definitely worth
attending if one is interested in making significant contributions
to the Project and they are open to anybody!</p>
<p>These status reports may be reproduced in whole or in part, as long as the
source is clearly identified and appropriate credit given.</p>
<h2>2013</h2>
<ul>
<li><a href="report-2013-05-devsummit.html">BSDCan 2013 Developer
Summit Special</a></li>
<li><a href="report-2013-01-2013-03.html">January, 2013 -
March, 2013</a></li>
</ul>

View file

@ -50,13 +50,8 @@
<h4>Projects</h4>
<ul>
<li><a
href="http://www.NetBSD.org/Ports/alpha/">NetBSD/alpha</a></li>
<li><a
href="http://www.OpenBSD.org/alpha.html">OpenBSD/alpha</a></li>
<li><a href="http://www.alphalinux.org/">AlphaLinux</a></li>
</ul>
</body>

View file

@ -27,9 +27,9 @@ where that might seem counterintuitive (e.g. <tt>japanese/</tt>.)
</p>
<p>Changes that affect the entire port system are now documented in the
<a href="http://cvsweb.FreeBSD.org/ports/CHANGES">CHANGES</a> file.
<a href="http://svnweb.FreeBSD.org/ports/head/CHANGES?view=markup">CHANGES</a> file.
Changes that affect individual ports are now documented in the
<a href="http://cvsweb.FreeBSD.org/ports/UPDATING">UPDATING</a> file.
<a href="http://svnweb.FreeBSD.org/ports/head/UPDATING?view=markup">UPDATING</a> file.
</p>
<p>For more information about new, changed or removed ports/packages,

View file

@ -27,6 +27,6 @@ DATA+= 2013-freebsd-gsoc.pdf
INDEXLINK= projects.html
SUBDIR= acpi busdma c99 ideas mips bigdisk netperf
SUBDIR= acpi busdma c99 ideas mips netperf
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -1,17 +0,0 @@
# Summary of work needed to support large disks and arrays.
#
# $FreeBSD$
MAINTAINER= scottl
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= index.xml
DATA= style.css
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -1,287 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "Large data storage in FreeBSD">
<!-- Status levels -->
<!ENTITY status.na "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>N/A</font>">
<!ENTITY status.done "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>Done</font>">
<!ENTITY status.wip "<font xmlns='http://www.w3.org/1999/xhtml' color='blue'>In progress</font>">
<!ENTITY status.untested "<font xmlns='http://www.w3.org/1999/xhtml' color='orange'>Needs testing</font>">
<!ENTITY status.new "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Not done</font>">
<!ENTITY status.unknown "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Unknown</font>">
<!-- The list of contributors was moved to a separate file so that it can
be used by other documents in the FreeBSD web site. -->
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<h2>Contents</h2>
<ul>
<li><a href="#background">Purpose and background</a></li>
<li><a href="#testing">Testing large capacities</a></li>
<li><a href="#userland">Userland Tools Status</a></li>
<li><a href="#ifnet-status">Kernel Driver Status</a></li>
</ul>
<a name="background"></a>
<h2>Purpose and background</h2>
<h3>The UFS filesystem</h3>
<p>When the UFS filesystem was introduced to BSD in 1982, its use of 32
bit offsets and counters to address the storage was considered to be
ahead of its time. Since most fixed-disk storage devices use 512 byte
sectors, 32 bits allowed for 2 Terabytes of storage. That was an almost
un-imaginable quantity for the time. But now that 250 and 400 Gigabyte
disks are available at consumer prices, it's trivial to build a hardware
or software based storage array that can exceed 2TB for a few thousand
dollars.</p>
<p>The UFS2 filesystem was introduced in 2003 as a replacement to the
original UFS and provides 64 bit counters and offsets. This allows for
files and filesystems to grow to 2^73 bytes (2^64 * 512) in size and
hopefully be sufficient for quite a long time. UFS2 largely solved
the storage size limits imposed by the filesystem. Unfortunately, many
tools and storage mechanisms still use or assume 32 bit values, often
keeping FreeBSD limited to 2TB.</p>
<p>We need to ensure that FreeBSD supports large storage sizes and that
the benefits of UFS2 can actually be realized so that FreeBSD can remain
relevant in the enterprise world. This page describes known issues and
limits and provides a focus for further auditing, validation, and
fixing.</p>
<h3>Limits on disk partitioning</h3>
<p>The first limit that is encountered is in disk partitioning. For x86
and amd64 PC's, the FDISK MBR table is used by the BIOS to partition the
disk into logical extents and identify which partition ('slice' in FreeBSD
terms) to boot from. The MBR is defined to use 32 bit disk offsets,
and since it's an industry standard and interoperability is required,
there is nothing that can be done to change this. As long as booting a
PC requires the MBR, the boot slice in FreeBSD is going to be limited to
2TB.</p>
<p>The GPT partitioning scheme was introduced with the ia64 architecture
as an MBR replacement. It provides 64 bit offsets and allows for an
arbitrary number of partitions. It also provides a compatibility mode
with MBR where it can generate an MBR-compatible structure on the disk
for use with systems that don't understand GPT. However, to get the
full benefits for boot storage, the BIOS and the FreeBSD loader must
understand it. For secondary storage, GPT can be used by any
architecture regardless of BIOS or boot support.</p>
<p>Many systems don't require an MBR or GPT, and even PCs don't require it
if booting and inter-operating with other OS's is not required. The next
limit that comes in, though, is with the BSD disklabel. This label
defines up to 8 partitions on a disk, MBR slice, or other storage extent
for filesystems and swap space. Unfortunately, the on-disk format of the
disk label again uses 32 bit quantities, so it is also limited to 2TB.
Fixing this would require creating a new format that is incompatible
with the old and would require an update to the FreeBSD boot loader.
This would complicate interoperability and the upgrade path. Also, if a
new format is going to be created, it should also address the 8 partition
limit that exists now. Given these requirements, it's tempting to just
adopt the GPT format instead for secondary storage partitioning.</p>
<a name="testing"></a>
<h2>Testing large capacities</h2>
<p>Even though large drives are cheap, it still isn't always feasible or
economical to test on real hardware. Swap-backed memory disks, via the
md(4) driver, can provide a good substitute for some of the testing.
Backing with swap means that only the pages that are dirtied by data
are actually allocated, so a multi-terabyte storage can be simulated
with a minimal amount of physical RAM+swap. Note that this is less true with
UFS1 since it will initialize all of the inode blocks during newfs,
which will dirty quite a bit of data. But for UFS2, swap-backed md
has the potential for working well. Unfortunately, the kernel md driver
has a number of 32-bit size limits of its own that need to be fixed.
Details are provided below.</p>
<p>It is still possible to avoid disklabels and MBRs for testing by
using newfs directly on the raw disk or md disk. Sysinstall can be
tested from a running system by just selecting Expert mode and just
performing the MBR and disklabel steps. Beware that sysinstall might
have other bugs that will wipe out your existing system, so care must
be taken here!</p>
<a name="userland"></a>
<h2>Userland Tool Status</h2>
<p>The following userland tools need auditing and testing for 64-bit
cleanliness:</p>
<table class="tblbasic">
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
<th> Details </th>
</tr>
<tr>
<td>newfs</td>
<td>&a.pjd;</td>
<td>19 Sept 2004</td>
<td>&status.done;</td>
<td>Handling of '-s' option was fixed. Newfs should be now fully usable
for large file systems.</td>
</tr>
<tr>
<td>df</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>An audit is needed to make sure that all reported fields are
64-bit clean. There are reports with certain fields being incorrect
or negative with NFS volumes, which could either be an NFS or df
problem.</td>
</tr>
<tr>
<td>du</td>
<td>&a.pjd;</td>
<td>7 Jan 2005</td>
<td>&status.done;</td>
<td>Big files/directories handling was broken. It was fixed and du
should be now fully usable on large file systems with large
files/directories.</td>
</tr>
<tr>
<td>growfs</td>
<td>&nbsp;</td>
<td>12 Sept 2004</td>
<td>&status.wip;</td>
<td>Growfs has problems with expanding to new cylinder groups. It also
initializes UFS2 inode blocks instead of leaving them for lazy
initialization. It also needs a 64-bit audit.</td>
</tr>
<tr>
<td>sysinstall</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>A full audit is needed. Reports exist of problems with >1TB
partitions.</td>
</tr>
<tr>
<td>fsck_ffs</td>
<td>&a.pb;</td>
<td>15 Jan 2005</td>
<td>&status.wip;</td>
<td>A full audit is needed. At least some printf format changes are
necessary.</td>
</tr>
<tr>
<td>dump/restore</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>A full audit is needed. At least some printf format changes are
necessary in dump(8).</td>
</tr>
<tr>
<td>fsdb</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>A full audit is needed. At least some printf format changes are
necessary.</td>
</tr>
<tr>
<td>quota tools</td>
<td>&a.des; &amp; &a.mckusick;</td>
<td>&nbsp;</td>
<td>&status.done;</td>
<td>Extensive changes are need. Disk quotas are currently
handled as 32-bit quantities, which limits the maximum
possible quota at 2TB. Two tasks are needed: 1) have the
current tools (kernel+userland, edquota for example) fail
gracefully when presented with 64-bit quantities and 2)
extend the quota file format and tools to 64-bit while
providing a compatibility mode and/or migration tools.</td>
</tr>
</table>
<a name="Kernel"></a>
<h2>Kernel Driver Status</h2>
<p>Many storage peripherals simply are not designed to handle >2TB
capacities. For those that are, an audit should be done to verify
that their drivers handle the sizes correctly and pass those sizes
correctly to the rest of the kernel.</p>
<table class="tblbasic">
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
<th> Details </th>
</tr>
<tr>
<td>md</td>
<td>&a.pjd;</td>
<td>17 Sept 2004</td>
<td>&status.done;</td>
<td>Swap backed disks can now be created up to 16TB in size on i386.
This corresponds to 2^32*4096.</td>
</tr>
</table>
<h2>Subsystem Status</h2>
<p>Some filesystem-related subsystems require testing with >2TB volumes, or
need to be adapted. The following areas have been identified:</p>
<table class="tblbasic">
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
<th> Details </th>
</tr>
<tr>
<td>snapshots</td>
<td>&a.pb;</td>
<td>15 Jan 2004</td>
<td>&status.wip;</td>
<td>Taking snapshots fails on filesystems >2TB, returning EFBIG
(on a 5TB filesystem) and subsequently crashing the system in
softupdates.</td>
</tr>
<tr>
<td>quotas</td>
<td>&a.des; &amp; &a.mckusick;</td>
<td>&nbsp;</td>
<td>&status.done;</td>
<td>The quota subsystem handles 32-bit quantities, which
limits quotas to 2TB. Blockings of the syncer have been
observed while attempting to set quotas over that limit
(try 4000000000 KBytes as a hard limit in edquota(8) for
some uid, then create somes files owned by that uid). See
also the userland entry for quota tools.</td>
</tr>
</table>
</body>
</html>

View file

@ -1,38 +0,0 @@
BODY {
}
BODY TD {
font-size: 13px;
}
BODY SMALL {
width: 615px;
font-size: 11px;
}
.heading {
font-size: 15px;
background-color: #cbd2ec;
}
.section {
font-size: 15px;
font-weight: bold;
background-color: #e7e9f7;
}
.notes {
font-size: 13px;
font-weight: normal;
}
.main {
width: 615px;
height: auto;
text-align: justify;
}
.list {
width: 550px;
height: auto;
}

View file

@ -6,9 +6,6 @@
<!ENTITY imagebase "&base;/gifs">
<!-- XXX: workaround for SGML expansion. -->
<!ENTITY nbsp "[nbsp ]">
<!-- Status levels -->
<!ENTITY status.blank "&nbsp;">
<!ENTITY status.blocked "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/blocked.png' width='22' height='22' alt='Blocked'/>">

View file

@ -48,9 +48,9 @@
<a href="http://cvsweb.freebsd.org/">FreeBSD</a>,
<a href="http://cvs.mandriva.com/">Mandriva</a>,
<a href="http://cvsweb.netbsd.org/">NetBSD</a>,
<a href="http://www.openbsd.org/cgi-bin/cvsweb/">OpenBSD</a>,
<a href="http://www.dragonflybsd.org/cvsweb/">DragonFlyBSD</a>, and
<a href="http://www.sudo.ws/cgi-bin/cvsweb/sudo">sudo</a>.</p>
<a href="http://www.openbsd.org/cgi-bin/cvsweb/">OpenBSD</a> and
<a
href="http://www.dragonflybsd.org/cvsweb/">DragonFlyBSD</a>.</p>
<hr/>
@ -82,11 +82,8 @@
<li><a href="http://www.netbsd.org/">NetBSD</a> package (www/cvsweb)</li>
<li><a href="http://www.openbsd.org/">OpenBSD</a> port
(devel/cvsweb)</li>
<li><a href="http://www.caosity.org/">cAos</a></li>
<li><a href="http://www.debian.org/">Debian GNU/Linux</a>
(testing and unstable)</li>
<li><a href="http://fedora.redhat.com/projects/extras/">Fedora
Extras</a></li>
<li><a href="http://www.gentoo.org/">Gentoo Linux</a></li>
<li><a href="http://www.mandriva.com/">Mandriva Linux</a></li>
</ul>

View file

@ -146,10 +146,6 @@ make a fully functional client with all capabilities of normal AFS.
Other planned and implemented things are all the normal management
tools and a server.</li>
<li><a name="bigdisk" href="&base;/projects/bigdisk/index.html">Big Disk</a>:
The goal of the <em>Large data storage in FreeBSD</em> project is to make
FreeBSD ready for multi-terabyte drive/volume capacities and file systems.</li>
<li><a name="coda" href="http://www.coda.cs.cmu.edu/">Coda</a>:
A distributed filesystem. Among its features are disconnected
operation, good security model, server replication and persistent
@ -158,16 +154,6 @@ client side caching.</li>
<li><a name="journaling" href="http://www.ece.cmu.edu/~ganger/papers/">
Journaling versus Soft Updates</a>: Asynchronous Meta-data Protection in File Systems.</li>
<li><a name="tcfs" href="http://www.tcfs.unisa.it/">TCFS</a>:
A Transparent Cryptographic File System that is a suitable
solution to the problem of privacy for distributed filesystem. By a
deeper integration between the encryption service and the filesystem,
it results in a complete transparency of use to the user
applications. Files are stored in encrypted form and are decrypted
before they are read. The encryption/decryption process takes place on
the client machine and thus the encryption/decryption key never
travels on the network.</li>
<li><a name="Tertiary" href="http://now.cs.berkeley.edu/Td/">Tertiary Disk</a>:
A storage system architecture to create large disk storage systems
that avoid the disadvantages of custom built disk arrays. The
@ -196,14 +182,6 @@ brings benefits mainly to the users of NFS and WWW.</li>
<a name="kernelandsecurity"></a>
<h3>Kernel, security</h3>
<ul>
<li><a name="lotteryscheduling"
href="http://www.cs.cmu.edu/~dpetrou/research.html">
Lottery Scheduling Kernel</a>: This work is based on
Waldspurger's lottery scheduling algorithm, which implements
proportional-share resource management. The primary advantages
are that users have strict control over the relative execution
rates of their processes, and users are load-insulated from each
other, preventing one user from dominating the CPU.</li>
<li><a name="openbsm" href="http://www.OpenBSM.org/">OpenBSM</a>: An open
source implementation of Sun's Basic Security Module (BSM) Audit API and file
@ -330,8 +308,6 @@ microkernel.</li>
the nvi editor, web browser, the emacs editor, and the elvis editor,
and the supported languages are C, Yacc, and Java.</li>
<li><a name="enterman" href="http://ezine.daemonnews.org/199908/enteruser.html">Enteruser</a>: A Replacement for adduser.</li>
<li><a name="acpi"
href="&base;/projects/acpi/">ACPI on FreeBSD</a>:
A Project created to get ACPI working smoothly on FreeBSD.</li>

View file

@ -7,8 +7,15 @@
.include "../Makefile.inc"
.endif
DOCS+= schedule.xml
DOCS+= announce.xml \
relnotes.xml \
schedule.xml
DATA= docbook.css
DATA= docbook.css \
errata.html \
hardware.html \
installation.html \
readme.html \
relnotes-detailed.html
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -0,0 +1,339 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD 8.4-RELEASE Announcement">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<p>The FreeBSD Release Engineering Team is pleased to announce the
availability of FreeBSD 8.4-RELEASE. This is the fifth release
from the 8-STABLE branch which improves on the functionality of
FreeBSD 8.3 and introduces some new features. Some of the
highlights:</p>
<ul>
<li><p>Gnome version 2.32.1, KDE version 4.10.1</p></li>
<li><p>Feature flags 5000 version of the ZFS filesystem.</p></li>
<li><p>Support for all shipping LSI storage controllers.</p></li>
</ul>
<p>For a complete list of new features and known problems, please see the
online release notes and errata list, available at:</p>
<ul>
<li><p><tt><a href="http://www.FreeBSD.org/releases/8.4R/relnotes.html">http://www.FreeBSD.org/releases/8.4R/relnotes.html</a></tt></p></li>
<li><p><tt><a href="http://www.FreeBSD.org/releases/8.4R/errata.html">http://www.FreeBSD.org/releases/8.4R/errata.html</a></tt></p></li>
</ul>
<p>For more information about FreeBSD release engineering activities,
please see:</p>
<ul>
<li><p><tt><a href="http://www.FreeBSD.org/releng/">http://www.FreeBSD.org/releng/</a></tt></p></li>
</ul>
<p>FreeBSD 8.4-RELEASE is now available for the amd64 and i386
architectures. Images for the pc98 architecture should be
available within the next 24 hours.</p>
<p>FreeBSD 8.4 can be installed from bootable ISO images or over
the network. Some architectures (currently amd64 and i386) also
support installing from a USB memory stick. The required files
can be downloaded via FTP as described in the sections below.
While some of the smaller FTP mirrors may not carry all
architectures, they will all generally contain the more common
ones such as amd64 and i386.</p>
<p>SHA256 and MD5 hashes for the release ISO and memory stick
images are included at the bottom of this message.</p>
<p>The purpose of the images provided as part of the release are
as follows:</p>
<dl>
<dt>dvd1:</dt>
<dd><p>This contains everything necessary to install the base
FreeBSD operating system, a collection of pre-built
packages, and the documentation. It also supports booting
into a "livefs" based rescue mode. This should be all you
need if you can burn and use DVD-sized media.</p></dd>
<dt>disc1:</dt>
<dd><p>This contains the base FreeBSD operating system and the
English documentation package for CDROM-sized media. There
are no other packages.</p></dd>
<dt>livefs:</dt>
<dd><p>This contains support for booting into a "livefs" based
rescue mode but does not support doing an install from the
CD itself. It is meant to help rescue an existing system
but could be used to do a network based install if
necessary.</p></dd>
<dt>bootonly:</dt>
<dd><p>This supports booting a machine using the CDROM drive but
does not contain the support for installing FreeBSD from the
CD itself. You would need to perform a network based
install (e.g. from an FTP server) after booting from the
CD.</p></dd>
<dt>memstick:</dt>
<dd><p>This can be written to an USB memory stick (flash drive)
and used to do an install on machines capable of booting off
USB drives. It also supports booting into a "livefs" based
rescue mode. The documentation packages are provided but no
other packages.</p>
<p>As one example of how to use the memstick image, assuming the
USB drive appears as /dev/da0 on your machine something like
this should work:</p>
<pre># dd if=FreeBSD-8.4-RELEASE-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync</pre>
<p>Be careful to make sure you get the target (of=)
correct.</p></dd>
</dl>
<p>FreeBSD 8.4-RELEASE can also be purchased on CD-ROM or DVD from
several vendors. One of the vendors that will be offering FreeBSD
8.4-based products is:</p>
<ul>
<li><p>FreeBSD Mall, Inc. <tt><a
href="http://www.freebsdmall.com/">http://www.freebsdmall.com/</a></tt></p></li>
</ul>
<h2>FTP</h2>
<p>At the time of this announcement the following FTP sites have
FreeBSD 8.4-RELEASE available.</p>
<ul>
<li><tt><a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp5.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp5.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp10.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp10.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.cn.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.cn.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.cz.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.cz.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.dk.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.dk.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.fr.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.fr.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.ru.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.ru.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp1.ru.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp1.ru.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp.tw.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp.tw.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp4.tw.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp4.tw.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp5.us.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp5.us.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
<li><tt><a href="ftp://ftp10.us.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/">ftp://ftp10.us.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.4/</a></tt></li>
</ul>
<p>However before trying these sites please check your regional mirror(s)
first by going to:</p>
<ul>
<li><p><tt>ftp://ftp.&lt;yourdomain&gt;.FreeBSD.org/pub/FreeBSD</tt></p></li>
</ul>
<p>Any additional mirror sites will be labeled
<strong>ftp2</strong>, <strong>ftp3</strong> and so on.</p>
<p>More information about FreeBSD mirror sites can be found at:</p>
<ul>
<li><p><tt><a
href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html</a></tt></p></li>
</ul>
<p>For instructions on installing FreeBSD or updating an existing
machine to 8.4-RELEASE please see:</p>
<ul>
<li><p><tt><a
href="http://www.FreeBSD.org/releases/8.4R/installation.html">http://www.FreeBSD.org/releases/8.4R/installation.html</a></tt></p></li>
</ul>
<h2>Support</h2>
<p>The FreeBSD Security Team currently plans to support FreeBSD 8.4
until June 30, 2015. For more information on the Security Team
and their support of the various FreeBSD branches see:</p>
<ul>
<li><p><tt><a
href="http://www.FreeBSD.org/security/">http://www.FreeBSD.org/security/</a></tt></p></li>
</ul>
<h2>Acknowledgments</h2>
<p>Many companies donated equipment, network access, or man-hours to
support the release engineering activities for FreeBSD 8.4
including The FreeBSD Foundation, Yahoo!, NetApp, Internet Systems
Consortium, Sentex Communications, New York Internet, Juniper
Networks, and iXsystems.</p>
<p>The release engineering team for 8.4-RELEASE includes:</p>
<table border="0">
<tbody>
<tr>
<td>Josh&nbsp;Paetzel&nbsp;&lt;<a href="mailto:jpaetzel@FreeBSD.org">jpaetzel@FreeBSD.org</a>&gt;</td>
<td>Release Engineering, 8.4-RELEASE Release Engineer</td>
</tr>
<tr>
<td>Ken&nbsp;Smith&nbsp;&lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;</td>
<td>Release Engineering, Release Engineering Team Lead,
sparc64 Release Building,
Mirror Site Coordination</td>
</tr>
<tr>
<td>Robert&nbsp;Watson&nbsp;&lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</td>
<td>Release Engineering, Security</td>
</tr>
<tr>
<td>Konstantin&nbsp;Belousov&nbsp;&lt;<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>&gt;</td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Marc&nbsp;Fonvieille&nbsp;&lt;<a href="mailto:blackend@FreeBSD.org">blackend@FreeBSD.org</a>&gt;</td>
<td>Release Engineering, Documentation</td>
</tr>
<tr>
<td>Hiroki&nbsp;Sato&nbsp;&lt;<a href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>&gt;</td>
<td>Release Engineering, Documentation</td>
</tr>
<tr>
<td>Marcus&nbsp;von&nbsp;Appen&nbsp;&lt;<a href="mailto:mva@FreeBSD.org">mva@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Glen&nbsp;Barber&nbsp;&lt;<a href="mailto:gjb@FreeBSD.org">gjb@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Joel&nbsp;Dahl&nbsp;&lt;<a href="mailto:joel@FreeBSD.org">joel@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Steven&nbsp;Kreuzer&nbsp;&lt;<a href="mailto:skreuzer@FreeBSD.org">skreuzer@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Xin&nbsp;Li&nbsp;&lt;<a href="mailto:delphij@FreeBSD.org">delphij@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Craig&nbsp;Rodrigues&nbsp;&lt;<a href="mailto:rodrigc@FreeBSD.org">rodrigc@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Gleb&nbsp;Smirnoff&nbsp;&lt;<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Marius&nbsp;Strobl&nbsp;&lt;<a href="mailto:marius@FreeBSD.org">marius@FreeBSD.org&gt;</a></td>
<td>Release Engineering</td>
</tr>
<tr>
<td>Takahashi&nbsp;Yoshihiro&nbsp;&lt;<a href="mailto:nyan@FreeBSD.org">nyan@FreeBSD.org</a>&gt;</td>
<td>PC98 Release Building</td>
</tr>
<tr>
<td>Joe&nbsp;Marcus&nbsp;Clarke&nbsp;&lt;<a href="mailto:marcus@FreeBSD.org">marcus@FreeBSD.org</a>&gt;</td>
<td>Package Building</td>
</tr>
<tr>
<td>Erwin&nbsp;Lansing&nbsp;&lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;</td>
<td>Package Building</td>
</tr>
<tr>
<td>Mark&nbsp;Linimon&nbsp;&lt;<a href="mailto:linimon@FreeBSD.org">linimon@FreeBSD.org</a>&gt;</td>
<td>Package Building</td>
</tr>
<tr>
<td>Martin&nbsp;Wilke&nbsp;&lt;<a href="mailto:miwi@FreeBSD.org">miwi@FreeBSD.org</a>&gt;</td>
<td>Package Building</td>
</tr>
<tr>
<td>Dag-Erling&nbsp;Sm&oslash;rgrav&nbsp;&lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;</td>
<td>Security Officer</td>
</tr>
<tr>
<td>Colin&nbsp;Percival&nbsp;&lt;<a href="mailto:cperciva@FreeBSD.org">cperciva@FreeBSD.org</a>&gt;</td>
<td>Security Officer Emeritus</td>
</tr>
<tr>
<td>Simon&nbsp;L.&nbsp;B.&nbsp;Nielsen&nbsp;&lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;</td>
<td>Security Officer Emeritus</td>
</tr>
</tbody>
</table>
<h2>Trademark</h2>
<p>FreeBSD is a registered trademark of The FreeBSD Foundation.</p>
<h2>ISO Image Checksums</h2>
<pre>SHA256 (FreeBSD-8.4-RELEASE-amd64-bootonly.iso) = c167d11721c2e505c062ccec4d0923fe18839d56c49e99e0646ab0de04294338
SHA256 (FreeBSD-8.4-RELEASE-amd64-disc1.iso) = 2fb17d77d4eba34736eb98c142c56546dd73a4e7ac38895bb6c8517949282438
SHA256 (FreeBSD-8.4-RELEASE-amd64-dvd1.iso) = 0a1acf77dee7fca7f71864e39804414ef53ad0540f2205bf0bfb954150f171f2
SHA256 (FreeBSD-8.4-RELEASE-amd64-livefs.iso) = 6c0e004556e931da711d48bd530aaf45c056e4336b15acc00495cde128d8337a
SHA256 (FreeBSD-8.4-RELEASE-amd64-memstick.img) = fe6686ce9f1c9afd3d1ee41d6c842d2173cfc8fed700fb76954fa2e2bef149cd</pre>
<pre>MD5 (FreeBSD-8.4-RELEASE-amd64-bootonly.iso) = 6d0cb38073c803d5f76cdbd89e0a6f24
MD5 (FreeBSD-8.4-RELEASE-amd64-disc1.iso) = 642aba9299a30f06aca521abe0abb102
MD5 (FreeBSD-8.4-RELEASE-amd64-dvd1.iso) = c8dfd45a0b4d6afca1aa79b7374682fe
MD5 (FreeBSD-8.4-RELEASE-amd64-livefs.iso) = 72631f6b8a494390393db9f7c7a877bf
MD5 (FreeBSD-8.4-RELEASE-amd64-memstick.img) = 36823c5c2613220ebc304d2508874cf6</pre>
<pre>SHA256 (FreeBSD-8.4-RELEASE-i386-bootonly.iso) = 8a92bea891f2e9bb3a4c8613c3e075c72491a5f3904219abea00eadf3c8d4258
SHA256 (FreeBSD-8.4-RELEASE-i386-disc1.iso) = 73ecc5ba0c36e7682c4862e7351d385e2e07bc97a09f9dff326d3cc1ec690cf8
SHA256 (FreeBSD-8.4-RELEASE-i386-dvd1.iso) = 28fcba3954f5014b67748f9870b7db9a95797a88e68956523f39dea8824fa694
SHA256 (FreeBSD-8.4-RELEASE-i386-livefs.iso) = 7ed52fd38bc399603ff2f69013df54032f44fb431bcf1cfb4e30230cd37e323b
SHA256 (FreeBSD-8.4-RELEASE-i386-memstick.img) = 071d889db802fc144c977023a94aece94dbe5a9e4019e85f7449128153110031</pre>
<pre>MD5 (FreeBSD-8.4-RELEASE-i386-bootonly.iso) = aca12a59ee988cccd19e4835ef8e6291
MD5 (FreeBSD-8.4-RELEASE-i386-disc1.iso) = 051bfda6a9521ca950548b5449c8c5ce
MD5 (FreeBSD-8.4-RELEASE-i386-dvd1.iso) = ca3ae875d0880e6b966f8eee2b13da40
MD5 (FreeBSD-8.4-RELEASE-i386-livefs.iso) = 13ca52edd45284fb64133ceef804f890
MD5 (FreeBSD-8.4-RELEASE-i386-memstick.img) = 52affc47ba90c9fa8df823a8c8c046e0</pre>
<pre>SHA256 (FreeBSD-8.4-RELEASE-pc98-bootonly.iso) = f88c46c223ce26146c4b82cb636fae33ff6903641ae95969f2e1e412f4ad9005
SHA256 (FreeBSD-8.4-RELEASE-pc98-disc1.iso) = 6b7a564bdf9ba3f9370df52b78a85fdbb8eb480c9baeb07dfbc6a0374a86db91
SHA256 (FreeBSD-8.4-RELEASE-pc98-livefs.iso) = 3d90e8f1aea96c4922be3aef8d2fd4ab54f07f2a30d0ae46eb29673b9db61065</pre>
<pre>MD5 (FreeBSD-8.4-RELEASE-pc98-bootonly.iso) = 8303bbf3b80a90e82fcee3e9280d297a
MD5 (FreeBSD-8.4-RELEASE-pc98-disc1.iso) = a95bd4331afa524fc57ca9606893a814
MD5 (FreeBSD-8.4-RELEASE-pc98-livefs.iso) = af6e0c5fee2ca6cf1f5b849fe4a2abb2</pre>
</body>
</html>

View file

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FreeBSD 8.4-RELEASE Errata</title><link rel="stylesheet" href="docbook.css" type="text/css" /><link rev="made" href="doc@FreeBSD.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="article" title="FreeBSD 8.4-RELEASE Errata"><div xmlns="" class="titlepage"><div><div><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="idp53953232"></a>FreeBSD 8.4-RELEASE Errata </h2></div><div><h3 xmlns="http://www.w3.org/1999/xhtml" class="corpauthor">
The FreeBSD Project
</h3></div><div><p xmlns="http://www.w3.org/1999/xhtml" class="copyright">Copyright © 2013 The FreeBSD Documentation Project</p></div><div><div xmlns="http://www.w3.org/1999/xhtml" class="legalnotice" title="Legal Notice"><a id="trademarks"></a><p>FreeBSD is a registered trademark of
the FreeBSD Foundation.</p><p>Intel, Celeron, EtherExpress, i386,
i486, Itanium, Pentium, and Xeon are trademarks or registered
trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.</p><p>SPARC, SPARC64, SPARCengine, and
UltraSPARC are trademarks of SPARC International, Inc in the United
States and other countries. SPARC International, Inc owns all of the
SPARC trademarks and under licensing agreements allows the proper use
of these trademarks by its members.</p><p>Many of the designations used by
manufacturers and sellers to distinguish their products are claimed
as trademarks. Where those designations appear in this document,
and the FreeBSD Project was aware of the trademark claim, the
designations have been followed by the <span class="quote"><span class="quote"></span></span> or the
<span class="quote"><span class="quote">®</span></span> symbol.</p></div></div><div>Last modified on 2013-06-13 by hrs.</div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#security">2. Security Advisories</a></span></dt><dt><span class="sect1"><a href="#open-issues">3. Open Issues</a></span></dt><dt><span class="sect1"><a href="#late-news">4. Late-Breaking News and Corrections</a></span></dt></dl></div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p><p>This document lists errata items for FreeBSD 8.4-RELEASE,
containing significant information discovered after the release
or too late in the release cycle to be otherwise included in the
release documentation.
This information includes security advisories, as well as news
relating to the software or documentation that could affect its
operation or usability. An up-to-date version of this document
should always be consulted before installing this version of
FreeBSD.</p><p>This errata document for FreeBSD 8.4-RELEASE
will be maintained until the release of FreeBSD 8.5-RELEASE.</p></div><div class="sect1" title="1. Introduction"><div xmlns="" class="titlepage"><div><div><h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style="clear: both"><a id="intro"></a>1. Introduction</h2></div></div></div><p>This errata document contains <span class="quote"><span class="quote">late-breaking news</span></span>
about FreeBSD 8.4-RELEASE
Before installing this version, it is important to consult this
document to learn about any post-release discoveries or problems
that may already have been found and fixed.</p><p>Any version of this errata document actually distributed
with the release (for example, on a CDROM distribution) will be
out of date by definition, but other copies are kept updated on
the Internet and should be consulted as the <span class="quote"><span class="quote">current
errata</span></span> for this release. These other copies of the
errata are located at <a class="ulink" href="http://www.FreeBSD.org/releases/" target="_top">http://www.FreeBSD.org/releases/</a>, plus any sites
which keep up-to-date mirrors of this location.</p><p>Source and binary snapshots of FreeBSD 8.4-STABLE also
contain up-to-date copies of this document (as of the time of
the snapshot).</p><p>For a list of all FreeBSD CERT security advisories, see <a class="ulink" href="http://www.FreeBSD.org/security/" target="_top">http://www.FreeBSD.org/security/</a> or <a class="ulink" href="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/" target="_top">ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/</a>.</p></div><div class="sect1" title="2. Security Advisories"><div xmlns="" class="titlepage"><div><div><h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style="clear: both"><a id="security"></a>2. Security Advisories</h2></div></div></div><p>The following security advisories pertain to FreeBSD 8.4-RELEASE.
For more information, consult the individual advisories available from
<a class="ulink" href="http://security.FreeBSD.org/" target="_top">http://security.FreeBSD.org/</a>.</p><div class="informaltable"><table width="100%" border="0"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Advisory</th><th>Date</th><th>Topic</th></tr></thead><tbody><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:01.openssl.asc" target="_top">SA-12:01.openssl</a></td><td>03 May 2012</td><td><p>OpenSSL multiple vulnerabilities</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:02.crypt.asc" target="_top">SA-12:02.crypt</a></td><td>30 May 2012</td><td><p>Incorrect crypt() hashing</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:03.bind.asc" target="_top">SA-12:03.bind</a></td><td>12 June 2012</td><td><p>Incorrect handling of zero-length RDATA fields in named(8)</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:04.sysret.asc" target="_top">SA-12:04.sysret</a></td><td>12 June 2012</td><td><p>Privilege escalation when returning from kernel</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:05.bind.asc" target="_top">SA-12:05.bind</a></td><td>06 August 2012</td><td><p>named(8) DNSSEC validation Denial of Service</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:06.bind.asc" target="_top">SA-12:06.bind</a></td><td>22 November 2012</td><td><p>Multiple Denial of Service vulnerabilities with named(8)</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:07.hostapd.asc" target="_top">SA-12:07.hostapd</a></td><td>22 November 2012</td><td><p>Insufficient message length validation for EAP-TLS messages</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-12:08.linux.asc" target="_top">SA-12:08.linux</a></td><td>22 November 2012</td><td><p>Linux compatibility layer input validation error</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-13:02.libc.asc" target="_top">SA-13:02.libc</a></td><td>19 February 2013</td><td><p>glob(3) related resource exhaustion</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-13:03.openssl.asc" target="_top">SA-13:03.openssl</a></td><td>02 April 2013</td><td><p>OpenSSL multiple vulnerabilities</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-13:04.bind.asc" target="_top">SA-13:04.bind</a></td><td>02 April 2013</td><td><p>BIND remote denial of service</p></td></tr><tr><td><a class="ulink" href="http://security.freebsd.org/advisories/FreeBSD-SA-13:05.nfsserver.asc" target="_top">SA-13:05.nfsserver</a></td><td>29 April 2013</td><td><p>Insufficient input validation in the NFS server</p></td></tr></tbody></table></div></div><div class="sect1" title="3. Open Issues"><div xmlns="" class="titlepage"><div><div><h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style="clear: both"><a id="open-issues"></a>3. Open Issues</h2></div></div></div><p>[20130613] The <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=vtnet&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">vtnet</span>(4)</span></a> network interface driver
displays the following message upon configuration when using
<span class="application">QEMU</span> 1.4.1 and later:</p><pre class="screen">vtnet0: error setting host MAC filter table</pre><p>This message is harmless when the interface has only one MAC
address. The patch for this issue is filed to a PR <a class="ulink" href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=178955" target="_top">kern/178955</a>.</p><p>[20130609] There is incompatibility in <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">jail</span>(8)</span></a>
configuration because the <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">jail</span>(8)</span></a> utility and
<code class="filename">rc.d/jail</code> script has been changed. More
specifically, the following <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">sysctl</span>(8)</span></a> variables cannot be
used to set the default parameters for jails:</p><pre class="programlisting">security.jail.mount_zfs_allowed
security.jail.mount_procfs_allowed
security.jail.mount_nullfs_allowed
security.jail.mount_devfs_allowed
security.jail.mount_allowed
security.jail.chflags_allowed
security.jail.allow_raw_sockets
security.jail.sysvipc_allowed
security.jail.socket_unixiproute_only
security.jail.set_hostname_allowed</pre><p>These could be set by manually using <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">sysctl</span>(8)</span></a> utility,
the <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl.conf&amp;amp;sektion=5"><span class="citerefentry"><span class="refentrytitle">sysctl.conf</span>(5)</span></a> file, or for some of them the following
variables in <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&amp;amp;sektion=5"><span class="citerefentry"><span class="refentrytitle">rc.conf</span>(5)</span></a>:</p><pre class="programlisting">jail_set_hostname_allow="yes"
jail_socket_unixiproute_only="yes"
jail_sysvipc_allow="yes"</pre><p>These parameters must now be specified in
<code class="varname">jail_parameters</code> (or
<code class="varname">jail_<em class="replaceable"><code>jailname</code></em>_parameters</code>
for per-jail configuration) in <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&amp;amp;sektion=5"><span class="citerefentry"><span class="refentrytitle">rc.conf</span>(5)</span></a>. For
example:</p><pre class="programlisting">jail_parameters="allow.sysvipc allow.raw_sockets"</pre><p>The valid keywords are the following. For more detail, see
<a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">jail</span>(8)</span></a> manual page.</p><pre class="programlisting">allow.set_hostname
allow.sysvipc
allow.raw_sockets
allow.chflags
allow.mount
allow.mount.devfs
allow.mount.nullfs
allow.mount.procfs
allow.mount.zfs
allow.quotas
allow.socket_af</pre><p>[20130608] FreeBSD 8.4-RELEASE no longer supports FreeBSD CVS
repository. Some documents mistakenly refer to
<code class="literal">RELENG_8_4_0_RELEASE</code> as CVS tag for the release and
<code class="literal">RELENG_8_4</code> as CVS branch tag for the
8.4-RELEASE security branch. However, FreeBSD Project no longer
supports FreeBSD CVS repository and 8.4-RELEASE has been released by
using FreeBSD subversion repository instead.
<code class="literal">RELENG_8_4</code> corresponds to
<code class="literal">svn://svn.FreeBSD.org/base/releng/8.4</code>, and
<code class="literal">RELENG_8_4_0_RELEASE</code> corresponds to
<code class="literal">svn://svn.FreeBSD.org/base/release/8.4.0</code>.
Please note that FreeBSD source tree for 8.4-RELEASE and its security
branch cannot be updated by using official CVSup servers.</p><p>[20130607] (removed about a <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">bge</span>(4)</span></a> network interface
driver issue because it was incorrect)</p><p>[20130606] The <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=fxp&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">fxp</span>(4)</span></a> network interface driver may not
work well with the <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=dhclient&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">dhclient</span>(8)</span></a> utility. More specifically,
if the <code class="filename">/etc/rc.conf</code> has the following
line:</p><pre class="programlisting">ifconfig_fxp0="DHCP"</pre><p>to activate a DHCP client to configure the network
interface, the following notification messages are displayed and
the <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=dhclient&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">dhclient</span>(8)</span></a> utility keeps trying to initialize the
network interface forever.</p><pre class="screen">kernel: fxp0: link state changed to UP
kernel: fxp0: link state changed to DOWN</pre><p>A patch to fix this issue will be released as an Errata
Notice.</p></div><div class="sect1" title="4. Late-Breaking News and Corrections"><div xmlns="" class="titlepage"><div><div><h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style="clear: both"><a id="late-news"></a>4. Late-Breaking News and Corrections</h2></div></div></div><p>[20130606] As described in FreeBSD 8.4-RELEASE Release Notes,
FreeBSD ZFS subsystem has been updated to support feature flags for
ZFS pools. However, the default version number of a newly
created ZFS pool is still <code class="literal">28</code>.</p><p>This is because FreeBSD 9.0 and 9.1 do not support the feature
flags. This means ZFS pools with feature flag support cannot be
used on FreeBSD 9.0 and 9.1. An 8.X system with v28 ZFS pools can
be upgraded to 9.X with no problem. Note that <a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=zfs&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">zfs</span>(8)</span></a>
<code class="command">send</code> and <code class="command">receive</code> commands
do not work between pools with different versions. Once a ZFS
pool is upgraded from v28, there is no way to upgrade the system
to FreeBSD 9.0 and 9.1. FreeBSD 9.2 and later will support ZFS pools
with feature flags.</p><p>To create a ZFS pool with feature flag support, use the
<a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=zpool&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">zpool</span>(8)</span></a> <code class="command">create</code> command and then the
<a class="citerefentry" href="http://www.FreeBSD.org/cgi/man.cgi?query=zpool&amp;amp;sektion=8"><span class="citerefentry"><span class="refentrytitle">zpool</span>(8)</span></a> <code class="command">upgrade</code> command.</p></div></div></body></html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,168 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>FreeBSD 8.4-RELEASE Installation Instructions</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79" />
<link rel="STYLESHEET" type="text/css" href="docbook.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body class="article" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="title"><a id="AEN2" name="AEN2">FreeBSD 8.4-RELEASE Installation
Instructions</a></h1>
<h3 class="corpauthor">The FreeBSD Project</h3>
<p class="copyright">Copyright &copy; 2013 The FreeBSD Documentation Project</p>
<p class="pubdate">$FreeBSD:
releng/8.4/release/doc/en_US.ISO8859-1/installation/article.xml 249128 2013-04-05
04:08:03Z hrs $<br />
</p>
<div class="legalnotice"><a id="trademarks" name="trademarks"></a>
<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>
<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.</p>
<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of SPARC International, Inc
in the United States and other countries. SPARC International, Inc owns all of the SPARC
trademarks and under licensing agreements allows the proper use of these trademarks by
its members.</p>
<p>Many of the designations used by manufacturers and sellers to distinguish their
products are claimed as trademarks. Where those designations appear in this document, and
the FreeBSD Project was aware of the trademark claim, the designations have been followed
by the &#8220;&#8482;&#8221; or the &#8220;®&#8221; symbol.</p>
</div>
<hr />
</div>
<blockquote class="ABSTRACT">
<div class="abstract"><a id="AEN16" name="AEN16"></a>
<p>This article gives some brief instructions on installing FreeBSD 8.4-RELEASE and
upgrading the systems running earlier releases.</p>
</div>
</blockquote>
<div class="sect1">
<hr />
<h2 class="sect1"><a id="install" name="install">1 Installing FreeBSD</a></h2>
<p>For instructions on installing FreeBSD, please see Chapter 2 of The FreeBSD Handbook.
It provides a complete installation walk-through for users new to FreeBSD, and can be
found online at: <a
href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/install.html"
target="_top">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/install.html</a></p>
</div>
<div class="sect1">
<hr />
<h2 class="sect1"><a id="upgrade" name="upgrade">2 Upgrading FreeBSD</a></h2>
<div class="sect2">
<h3 class="sect2"><a id="AEN24" name="AEN24">2.1 Upgrading from Source</a></h3>
<p>The procedure for doing a source code based update is &#09;described in &#09;<a
href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html"
target="_top">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html</a>
and &#09;<a
href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook//makeworld.html"
target="_top">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook//makeworld.html</a>.</p>
<p>The branch tag to use for updating the source is &#09;<tt
class="literal">RELENG_8_4</tt> for CVS. For SVN use &#09;<tt
class="filename">releng/8.4</tt>.</p>
</div>
<div class="sect2">
<hr />
<h3 class="sect2"><a id="AEN32" name="AEN32">2.2 Upgrading Using &#8220;FreeBSD
Update&#8221;</a></h3>
<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.4-RELEASE">
<span class="citerefentry"><span
class="refentrytitle">freebsd-update</span>(8)</span></a> utility supports binary
&#09;upgrades of i386 and amd64 systems running &#09;earlier FreeBSD releases. Systems
running &#09;<tt class="literal">7.[01234]-RELEASE</tt>, &#09;<tt
class="literal">8.[0123]-RELEASE</tt>, &#09;<tt class="literal">8.4-BETA1</tt>, or
&#09;<tt class="literal">8.4-RC[12]</tt> can upgrade as follows:</p>
<pre class="screen">
<samp class="prompt">#</samp> freebsd-update upgrade -r 8.4-RELEASE
</pre>
<p>During this process, FreeBSD Update may ask the user to &#09;help by merging some
configuration files or by confirming that &#09;the automatically performed merging was
done correctly.</p>
<pre class="screen">
<samp class="prompt">#</samp> freebsd-update install
</pre>
<p>The system must be rebooted with the newly installed &#09;kernel before
continuing.</p>
<pre class="screen">
<samp class="prompt">#</samp> shutdown -r now
</pre>
<p>After rebooting, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.4-RELEASE">
<span class="citerefentry"><span
class="refentrytitle">freebsd-update</span>(8)</span></a> needs to be run &#09;again to
install the new userland components:</p>
<pre class="screen">
<samp class="prompt">#</samp> freebsd-update install
</pre>
<p>At this point, users of systems being upgraded from &#09;FreeBSD 7.4-RELEASE or
earlier will be prompted by &#09;freebsd-update to rebuild all third-party applications
(e.g., &#09;ports installed from the ports tree) due to updates in system
&#09;libraries.</p>
<p>After updating installed third-party applications (and &#09;again, only if <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.4-RELEASE">
<span class="citerefentry"><span
class="refentrytitle">freebsd-update</span>(8)</span></a> printed a message
&#09;indicating that this was necessary), run &#09;<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.4-RELEASE">
<span class="citerefentry"><span
class="refentrytitle">freebsd-update</span>(8)</span></a> again so that it can delete the
old (no &#09;longer used) system libraries:</p>
<pre class="screen">
<samp class="prompt">#</samp> freebsd-update install
</pre>
<p>Finally, reboot into 8.4-RELEASE</p>
<pre class="screen">
<samp class="prompt">#</samp> shutdown -r now
</pre>
</div>
</div>
</div>
<hr />
<p align="center"><small>This file, and other release-related documents, can be
downloaded from <a href="ftp://ftp.FreeBSD.org/">ftp://ftp.FreeBSD.org/</a>.</small></p>
<p align="center"><small>For questions about FreeBSD, read the <a
href="http://www.FreeBSD.org/docs.html">documentation</a> before contacting &#60;<a
href="mailto:questions@FreeBSD.org">questions@FreeBSD.org</a>&#62;.</small></p>
<p align="center"><small>For questions about this documentation, e-mail &#60;<a
href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&#62;.</small></p>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more