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

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

Revision 1.23, Tue Jan 2 15:14:06 2007 UTC (17 years, 4 months ago) by nick
Branch: MAIN
Changes since 1.22: +53 -21 lines


General clean-up.  Standardize on term "stable", elaborate on some
important points, point to full build instructions in faq5.html, bump
copyright, don't even try to upgrade by source, "make install" to
install the kernel (which had been suggested at least once by someone,
and I didn't implement then because much more needed to be done to this
page).  Inspired by and ok aanriot@

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Following -stable</title>
<link rev=made href="mailto:www@openbsd.org">
<meta name="resource-type" content="document">
<meta name="description" content="stable">
<meta name="keywords" content="openbsd,anoncvs,updates,stable">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 1996-2007 by OpenBSD.">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</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>
<h1><font color="#e00000">Following <i>-stable</i> (the "Patch
branch")</font></h1>
<hr>

<h3>Table Of Contents</h3>
<p>
<ul>
<li><a href="#whatis">What is the <i>-stable</i> (patch) branch?</a>
<li><a href="#getting">Getting <i>-stable</i> source code</a>
<li><a href="#building">Building OpenBSD <i>-stable</i></a>
</ul>
<hr>

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

<p>
Starting with 2.7, 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 <b>patch branch</b> which has those patches and some others
applied.
<li>Use <b>current source</b> for all of the latest features.
</ul>
<p>
<!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things)
which post-release changes have made it into the patch branch. -->
As a general principle, all
<a href="errata.html">errata</a> entries will be merged into the patch
branch within 48 hours of when an errata is 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>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. 
<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.
<li>As an exception to the above rules, OpenSSH release versions will be
    merged into the patch branch.
</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>

<p>
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">FTP</a> or the <a href="orders.html">CD</a>)
or you can grab the source tree freshly 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, e.g. to go from 3.9 to 4.0.  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 visit the <a href="faq/upgrade40.html">upgrade guide</a>.
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">anoncvs</a>,
you must rebuild the system.  The stages for doing so are:

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

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

<p>
To rebuild the default kernel from stable:
<blockquote><pre>
# <strong>cd /usr/src/sys/arch/i386/conf</strong>
# <strong>/usr/sbin/config GENERIC</strong>
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
# <strong>make clean &amp;&amp; make depend &amp;&amp; make</strong>
</pre></blockquote>

<p>
Replace <i>i386</i> with your architecture, e.g.
<i>sparc</i>, <i>alpha</i>, etc.

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

<p>
To reboot with the newly compiled kernel:
<blockquote><pre>
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
# <strong>make install</strong>          <i>(Safely install new kernel)</i>
# <strong>reboot</strong>
</pre></blockquote>

<p>
As above, substitute your architecture for <i>i386</i>.  If your system has
trouble booting the new kernel, you can easily go back and reboot from the
old kernel, now called <i>obsd</i>.

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

<p> To rebuild the system binaries:
<blockquote><pre>
# <strong>rm -rf /usr/obj/*</strong>
# <strong>cd /usr/src</strong>
# <strong>make obj</strong>
# <strong>cd /usr/src/etc &amp;&amp; env DESTDIR=/ make distrib-dirs</strong>
# <strong>cd /usr/src</strong>
# <strong>make build</strong>
</pre></blockquote>

<p>This will take awhile...

<p>
If you have a number of machines to keep at <i>-stable</i>, you may wish to 
make a <a href="faq/faq5.html#Release">release</a>, creating the
standard install <a href="faq/faq4.html#FilesNeeded">file sets</a>,
which can then be quickly and easily installed on any machine of the
same <a href="plat.html">platform</a>.

<hr>
<a href=index.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a>
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br><small>$OpenBSD: stable.html,v 1.23 2007/01/02 15:14:06 nick Exp $</small>
</body>
</html>