Annotation of www/stable.html, Revision 1.38
1.22 nick 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1.1 jason 2: <html>
3: <head>
1.23 nick 4: <title>Following -stable</title>
1.1 jason 5: <meta name="description" content="stable">
1.34 nick 6: <meta name="copyright" content="This document copyright 1996-2014 by OpenBSD.">
1.22 nick 7: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
1.37 sthen 8: <link rel="canonical" href="http://www.openbsd.org/stable.html">
1.1 jason 9: </head>
10:
1.22 nick 11: <body bgcolor="#ffffff" text="#000000">
12: <!-- Passes validator.w3.org, please keep it this way;
13: please, use a max of 72 chars per line -->
1.1 jason 14:
1.23 nick 15: <a href="index.html">
16: <img alt="[OpenBSD]" height=30 width=141 src="images/smalltitle.gif" border="0">
17: </a>
18:
1.1 jason 19: <p>
1.33 deraadt 20: <h2><font color="#e00000">Following <i>-stable</i> (the "Patch
21: branch")</font></h2>
1.1 jason 22: <hr>
23:
24: <a name="whatis"></a>
1.24 steven 25: <h3><font color="#0000e0">What is the <i>-stable</i> (patch)
26: branch?</font></h3>
1.1 jason 27:
28: <p>
1.34 nick 29: OpenBSD provides a source tree that contains
1.19 nick 30: important patches and fixes (i.e. those from the
31: <a href="errata.html">errata</a> plus others which are obvious and simple,
32: but do not deserve an errata entry)
1.23 nick 33: and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the
34: <i>-current</i> source. Thus, users can choose three options :<p>
1.4 deraadt 35: <ul>
1.19 nick 36: <li>Stick with our latest release and apply the patches by hand.
1.25 nick 37: <li>Use the <b>patch branch</b> which has those patches.
1.19 nick 38: <li>Use <b>current source</b> for all of the latest features.
1.4 deraadt 39: </ul>
40: <p>
1.19 nick 41: <!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things)
42: which post-release changes have made it into the patch branch. -->
43: As a general principle, all
1.23 nick 44: <a href="errata.html">errata</a> entries will be merged into the patch
1.19 nick 45: branch within 48 hours of when an errata is published. Other post release
46: patches may be merged in as well, subject to a number of conditions:
1.4 deraadt 47: <ul>
1.19 nick 48: <li>The patches must be simple, short, and obviously 100% correct.
49: <li>Errata entries are made for bugs which affect many people. Other
50: patches may be merged into the patch branch if they affect a few
51: people in drastic ways.
52: <li>Please do not ask for large subsystems or patches to be merged.
53: Maintaining the patch tree takes a lot of effort which could be
54: better spent on making our next release better.
1.23 nick 55: <li>New or changed functionality, hardware support or APIs will
56: <i>not</i> be merged.
57: In general, if it requires a man page change, it will NOT be a
58: candidate for the patch branch.
1.19 nick 59: <li>As an exception to the above rules, OpenSSH release versions will be
60: merged into the patch branch.
1.4 deraadt 61: </ul>
62: <p>
1.1 jason 63:
1.23 nick 64: It is worth pointing out the name <i>-stable</i> refers ONLY to the API
65: and operations of OpenBSD not changing, not the overall reliability of
66: the system.
67: In fact, if things go as desired, the <i>-current</i>
68: <a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to
69: becoming the next <i>-release</i>, will be an improvement in
70: reliability, security and overall quality over the previous
71: <i>-release</i> and <i>-stable</i>.
72:
1.1 jason 73: <a name="getting"></a>
1.23 nick 74: <h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3>
1.1 jason 75:
76: <p>
1.19 nick 77: To obtain the patch branch for a particular release of OpenBSD, you
78: can update on top of a pre-existing source tree
79: (from <a href="ftp.html">FTP</a> or the <a href="orders.html">CD</a>)
80: or you can grab the source tree freshly from
81: an <a href="anoncvs.html">AnonCVS</a> server.
82: Instructions for getting the patch branch and staying up to date are
83: described in the <b>Getting Started</b> section of the
84: <a href="anoncvs.html#starting">AnonCVS documentation</a>.
85: Note that patch branches do not help to upgrade from one release of
1.34 nick 86: OpenBSD to another, e.g. to go from 5.4 to 5.5. They only provide
1.19 nick 87: a means for staying up to date with the patches within a given release.
1.23 nick 88:
89: <p>
90: Do not attempt to go from one release to another via source.
1.34 nick 91: Instead, please visit the <a href="faq/upgrade55.html">upgrade guide</a>.
1.19 nick 92: Also, you cannot go backwards, from -current back to -stable, because of
1.23 nick 93: library versioning problems and other changes.
1.1 jason 94:
95: <a name="building"></a>
1.23 nick 96: <h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3>
97: Full details on building from source are provided in
98: <a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>.
99: This is a simplified summary.
100:
101: <p>
1.19 nick 102: Once you have obtained a source tree via <a href="anoncvs.html">anoncvs</a>,
103: you must rebuild the system. The stages for doing so are:
1.1 jason 104:
105: <ul>
1.19 nick 106: <li>Rebuild the kernel
107: <li>Reboot with the new kernel
108: <li>Rebuild the binaries
1.1 jason 109: </ul>
110:
1.22 nick 111: <h4><font color="#0000e0">Rebuilding the kernel</font></h4>
1.1 jason 112:
113: <p>
1.19 nick 114: To rebuild the default kernel from stable:
1.22 nick 115: <blockquote><pre>
1.3 ericj 116: # <strong>cd /usr/src/sys/arch/i386/conf</strong>
117: # <strong>/usr/sbin/config GENERIC</strong>
118: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.35 tobias 119: # <strong>make clean && make</strong>
1.22 nick 120: </pre></blockquote>
1.1 jason 121:
122: <p>
1.19 nick 123: Replace <i>i386</i> with your architecture, e.g.
1.36 tedu 124: <i>sparc</i>, <i>alpha</i>, etc. Replace <i>GENERIC</i> with
125: <i>GENERIC.MP</i> for multiprocessor systems.
1.1 jason 126:
1.22 nick 127: <h4><font color="#0000e0">Rebooting with the new kernel</font></h4>
1.1 jason 128:
129: <p>
1.19 nick 130: To reboot with the newly compiled kernel:
1.22 nick 131: <blockquote><pre>
1.3 ericj 132: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.23 nick 133: # <strong>make install</strong> <i>(Safely install new kernel)</i>
1.3 ericj 134: # <strong>reboot</strong>
1.22 nick 135: </pre></blockquote>
1.1 jason 136:
137: <p>
1.19 nick 138: As above, substitute your architecture for <i>i386</i>. If your system has
139: trouble booting the new kernel, you can easily go back and reboot from the
1.23 nick 140: old kernel, now called <i>obsd</i>.
1.1 jason 141:
1.22 nick 142: <h4><font color="#0000e0">Rebuilding the binaries</font></h4>
1.1 jason 143:
1.19 nick 144: <p> To rebuild the system binaries:
1.22 nick 145: <blockquote><pre>
1.16 steven 146: # <strong>rm -rf /usr/obj/*</strong>
1.3 ericj 147: # <strong>cd /usr/src</strong>
1.16 steven 148: # <strong>make obj</strong>
149: # <strong>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</strong>
150: # <strong>cd /usr/src</strong>
151: # <strong>make build</strong>
1.22 nick 152: </pre></blockquote>
1.1 jason 153:
1.30 nick 154: <p>This will take some time.
155: Depending on the speed of the system, it may take less than an hour to
156: a week or more.
1.23 nick 157:
158: <p>
159: If you have a number of machines to keep at <i>-stable</i>, you may wish to
160: make a <a href="faq/faq5.html#Release">release</a>, creating the
161: standard install <a href="faq/faq4.html#FilesNeeded">file sets</a>,
162: which can then be quickly and easily installed on any machine of the
163: same <a href="plat.html">platform</a>.
164:
1.1 jason 165: </body>
166: </html>
1.19 nick 167: