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

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

Revision 1.13, Sun Jan 23 23:36:36 2005 UTC (19 years, 4 months ago) by nick
Branch: MAIN
Changes since 1.12: +7 -6 lines


plus.html is out of date, and the reference was confusing anyway, clear
up and comment out for the time being (pointed out by Steve Shockley).
Bump example up to something more recent.  Change reference to
upgrade-minifaq.html to upgrade.html for going between versions.

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict//EN">
<html>
<head>
<title>OpenBSD Patch Branches</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-2005 by OpenBSD.">
</head>

<body bgcolor="#ffffff" text="#000000" link="#23238E">

<a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
<p>
<h2><font color=#e00000>Patch Branches</font><hr></h2>

<p>
<ul><h3>Table Of Contents</h3>
<li><a href="#whatis">What is the patch branch?</a>
<li><a href="#getting">Getting the patch branch</a>
<li><a href="#building">Building from the patch branch</a>
</ul>
</p>
<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
current 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 the most important patches 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>As an exception to the above rules, OpenSSH release versions will be
    merged into the patch branch.
</ul>
<p>

<a name="getting"></a>
<h3><font color=#0000e0>Getting a stable branch</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.5 to 3.6.  They only provide
a means for staying up to date with the patches within a given release.
If you are trying to go from one release to another via source, please visit
the <a href="faq/upgrade.html">upgrade guide</a>.
Also, you cannot go backwards, from -current back to -stable, because of
library versioning problems.

<a name="building"></a>
<h3><font color=#0000e0>Building from an OpenBSD patch branch</font></h3>
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:
<ul><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></ul>

<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:
<ul><pre>
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
# <strong>cp /bsd /bsd.old</strong>          <i>(Save an old copy of your kernel)</i>
# <strong>cp bsd /bsd</strong>               <i>(Copy the new kernel into place)</i>
# <strong>reboot</strong>
</pre></ul>

<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>bsd.old</i>.

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

<p> To rebuild the system binaries:
<ul><pre>
# <strong>cd /usr/src</strong>
# <strong>rm -r /usr/obj/*</strong>
# <strong>make obj &amp;&amp; make build</strong>
</pre></ul>

<p>This will take awhile...
<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.13 2005/01/23 23:36:36 nick Exp $</small>
</body>
</html>