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

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

Revision 1.46, Sun Apr 24 20:08:50 2016 UTC (8 years, 1 month ago) by tj
Branch: MAIN
Changes since 1.45: +1 -2 lines

<hr> inside of <h2> is invalid html and looks bad, so reorder them properly.

remove link to undeadly errata rss feed.

sync <title> and page title where they differ.

with/ok tb

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

<body bgcolor="#ffffff" text="#000000">

<h2>
<a href="index.html">
<font color="#0000ff"><i>Open</i></font><font color="#000084">BSD</font></a>
<font color="#e00000">-stable</font>
</h2>
<hr>
<p>

<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
<a href="faq/faq5.html">here</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 on <a href="faq/faq5.html#BldGetSrc">this page</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://man.openbsd.org/?query=release">
release(8)</a> man page contains all the relevant information.

</body>
</html>