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