[BACK]Return to stable.html CVS log [TXT][DIR] Up to [local] / www

File: [local] / www / stable.html (download) (as text)

Revision 1.40, Thu Feb 4 00:22:20 2016 UTC (8 years, 3 months ago) by tj
Branch: MAIN
Changes since 1.39: +69 -72 lines

more consistent formatting, some grammar fixes, remove a few of the
non-english mailing lists whose websites don't load anymore.

input/ok tb

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Following -stable</title>
<meta name="description" content="stable">
<meta name="copyright" content="This document copyright 1996-2016 by OpenBSD.">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="canonical" href="http://www.openbsd.org/stable.html">
</head>

<body bgcolor="#ffffff" text="#000000">
<!-- Passes validator.w3.org, please keep it this way;
please, use a max of 72 chars per line -->

<a href="index.html">
<img alt="[OpenBSD]" height=30 width=141 src="images/smalltitle.gif" border="0">
</a>

<p>
<h2><font color="#e00000">Following <i>-stable</i> (the "patch
branch")</font></h2>
<hr>

<a name="whatis"></a>
<h3><font color="#0000e0">What is the <i>-stable</i> (patch)
branch?</font></h3>

OpenBSD provides a source tree that contains important patches and fixes
(i.e. those from the <a href="errata.html">errata</a>, plus others which
are obvious and simple, but do not deserve an errata entry)
and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the
<i>-current</i> source.
Thus, users can choose three options:

<p>
<ul>
<li>Stick with our latest release and apply the patches by hand.
<li>Use the <i>-stable</i> ("patch") branch, which has those patches.
<li>Use the <i>-current</i> branch for all of the latest features.
</ul>

<p>
As a general principle, all <a href="errata.html">errata</a> entries will
be merged into the patch branch shortly before/after they are published.
Other post-release patches may be merged in as well, subject to a number
of conditions:

<ul>
<li>The patches must be simple, short, and obviously 100% correct.
<li>Errata entries are made for bugs which affect many people.
    Other patches may be merged into the patch branch if they affect a few
    people in drastic ways.
<li>New or changed functionality, hardware support or APIs will <i>not</i>
    be merged.
    In general, if it requires a man page change, it will NOT be a candidate
    for the patch branch.
    Please do not ask for large subsystems or patches to be merged.
    Maintaining the patch tree takes a lot of effort which could be better
    spent on making our next release better. 
</ul>

<p>
It is worth pointing out the name <i>-stable</i> refers ONLY to the API
and operations of OpenBSD not changing, not the overall reliability of
the system.
In fact, if things go as desired, the <i>-current</i> 
<a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to
becoming the next <i>-release</i>, will be an improvement in reliability,
security and overall quality over the previous <i>-release</i> and
<i>-stable</i>.

<a name="getting"></a>
<h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3>

To obtain the patch branch for a particular release of OpenBSD, you can
update on top of a pre-existing source tree (from <a href="ftp.html">
a mirror</a> or the <a href="orders.html">CD</a>), or you can grab a
fresh source tree from an <a href="anoncvs.html">AnonCVS</a> server.
Instructions for getting the patch branch and staying up to date are
described in the <b>Getting Started</b> section of the
<a href="anoncvs.html#starting">AnonCVS documentation</a>.
Note that patch branches do not help to upgrade from one release of
OpenBSD to another. They only provide a means for staying up to date
with the patches within a given release.

<p>
Do not attempt to go from one release to another via source.
Instead, please read the upgrade guide for the release in question.
Also, you cannot go backwards, from -current back to -stable, because of
library versioning problems and other changes.

<a name="building"></a>
<h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3>

Full details on building from source are provided in 
<a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>.
This is a simplified summary.

<p>
Once you have obtained a source tree via <a href="anoncvs.html">CVS</a>,
you must rebuild the system.
The steps for doing so are:

<ul>
 <li>Rebuild the kernel
 <li>Reboot with the new kernel
 <li>Rebuild the userland
</ul>

<h4><font color="#0000e0">Rebuilding the kernel</font></h4>

To rebuild the default kernel from stable:

<blockquote><pre>
# <b>cd /usr/src/sys/arch/$(uname -m)/conf</b>
# <b>config GENERIC</b>
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b>
# <b>make clean && make</b>
</pre></blockquote>

Replace <tt>GENERIC</tt> with <tt>GENERIC.MP</tt> for multiprocessor systems.

<h4><font color="#0000e0">Rebooting with the new kernel</font></h4>

To reboot with the newly compiled kernel:

<blockquote><pre>
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b>
# <b>make install</b>
# <b>reboot</b>
</pre></blockquote>

If your system has trouble booting the new kernel, you can easily go back
and reboot from the old kernel, now called <tt>obsd</tt>.

<h4><font color="#0000e0">Rebuilding the userland</font></h4>

To rebuild the base system binaries:

<blockquote><pre>
# <b>rm -rf /usr/obj/*</b>
# <b>cd /usr/src</b>
# <b>make obj</b>
# <b>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</b>
# <b>cd /usr/src</b>
# <b>make build</b>
</pre></blockquote>

This may take some time, depending on the speed of your system.
Use of the root account can be limited to only the final step if you
follow the instructions in <a href="faq/faq5.html#BldGetSrc">FAQ 5</a>.

<p>
If you have a number of machines to keep on the <i>-stable</i> branch,
you may wish to make a <a href="faq/faq5.html#Release">release</a> by
creating <a href="faq/faq4.html#FilesNeeded">file sets</a> that can be
quickly and easily installed on any machine of the same platform.
The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=release">
release(8)</a> man page contains all the relevant information.

</body>
</html>