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

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

Revision 1.7, Mon Feb 26 16:19:00 2001 UTC (23 years, 3 months ago) by jason
Branch: MAIN
Changes since 1.6: +4 -4 lines

reword a bit

<!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-1998 by OpenBSD.">
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">

<img alt="[OpenBSD]" height=30 width=141 SRC="images/smalltitle.gif">
<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 (ie. those from the
<a href="errata.html">errata</a> plus others which are obvious and simple,
but do not deserve a 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 which post-release
patches 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, eg. to go from 2.5 to 2.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-minifaq.html">upgrade-minifaq</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, eg.
<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.7 2001/02/26 16:19:00 jason Exp $</small>
</body>
</html>