Annotation of www/stable.html, Revision 1.42
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.40 tj 6: <meta name="copyright" content="This document copyright 1996-2016 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.40 tj 20: <h2><font color="#e00000">Following <i>-stable</i> (the "patch
1.33 deraadt 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:
1.40 tj 28: OpenBSD provides a source tree that contains important patches and fixes
29: (i.e. those from the <a href="errata.html">errata</a>, plus others which
30: are obvious and simple, but do not deserve an errata entry)
31: and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the
32: <i>-current</i> source.
33: Thus, users can choose three options:
34:
1.1 jason 35: <p>
1.4 deraadt 36: <ul>
1.19 nick 37: <li>Stick with our latest release and apply the patches by hand.
1.40 tj 38: <li>Use the <i>-stable</i> ("patch") branch, which has those patches.
39: <li>Use the <i>-current</i> branch for all of the latest features.
1.4 deraadt 40: </ul>
1.40 tj 41:
1.4 deraadt 42: <p>
1.40 tj 43: As a general principle, all <a href="errata.html">errata</a> entries will
44: be merged into the patch branch shortly before/after they are published.
45: Other post-release patches may be merged in as well, subject to a number
46: of conditions:
47:
1.4 deraadt 48: <ul>
1.19 nick 49: <li>The patches must be simple, short, and obviously 100% correct.
1.40 tj 50: <li>Errata entries are made for bugs which affect many people.
51: Other patches may be merged into the patch branch if they affect a few
1.19 nick 52: people in drastic ways.
1.40 tj 53: <li>New or changed functionality, hardware support or APIs will <i>not</i>
54: be merged.
55: In general, if it requires a man page change, it will NOT be a candidate
56: for the patch branch.
57: Please do not ask for large subsystems or patches to be merged.
58: Maintaining the patch tree takes a lot of effort which could be better
59: spent on making our next release better.
1.4 deraadt 60: </ul>
1.40 tj 61:
1.4 deraadt 62: <p>
1.23 nick 63: It is worth pointing out the name <i>-stable</i> refers ONLY to the API
64: and operations of OpenBSD not changing, not the overall reliability of
65: the system.
66: In fact, if things go as desired, the <i>-current</i>
67: <a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to
1.40 tj 68: becoming the next <i>-release</i>, will be an improvement in reliability,
69: security and overall quality over the previous <i>-release</i> and
70: <i>-stable</i>.
1.23 nick 71:
1.1 jason 72: <a name="getting"></a>
1.23 nick 73: <h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3>
1.1 jason 74:
1.40 tj 75: To obtain the patch branch for a particular release of OpenBSD, you can
76: update on top of a pre-existing source tree (from <a href="ftp.html">
77: a mirror</a> or the <a href="orders.html">CD</a>), or you can grab a
78: fresh source tree from an <a href="anoncvs.html">AnonCVS</a> server.
1.19 nick 79: Instructions for getting the patch branch and staying up to date are
80: described in the <b>Getting Started</b> section of the
81: <a href="anoncvs.html#starting">AnonCVS documentation</a>.
82: Note that patch branches do not help to upgrade from one release of
1.39 tj 83: OpenBSD to another. They only provide a means for staying up to date
84: with the patches within a given release.
1.23 nick 85:
86: <p>
87: Do not attempt to go from one release to another via source.
1.39 tj 88: Instead, please read the upgrade guide for the release in question.
1.19 nick 89: Also, you cannot go backwards, from -current back to -stable, because of
1.23 nick 90: library versioning problems and other changes.
1.1 jason 91:
92: <a name="building"></a>
1.23 nick 93: <h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3>
1.40 tj 94:
1.23 nick 95: Full details on building from source are provided in
96: <a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>.
97: This is a simplified summary.
98:
99: <p>
1.40 tj 100: Once you have obtained a source tree via <a href="anoncvs.html">CVS</a>,
101: you must rebuild the system.
102: The steps for doing so are:
1.1 jason 103:
104: <ul>
1.19 nick 105: <li>Rebuild the kernel
106: <li>Reboot with the new kernel
1.40 tj 107: <li>Rebuild the userland
1.1 jason 108: </ul>
109:
1.22 nick 110: <h4><font color="#0000e0">Rebuilding the kernel</font></h4>
1.1 jason 111:
1.19 nick 112: To rebuild the default kernel from stable:
1.40 tj 113:
1.22 nick 114: <blockquote><pre>
1.40 tj 115: # <b>cd /usr/src/sys/arch/$(uname -m)/conf</b>
116: # <b>config GENERIC</b>
117: # <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b>
118: # <b>make clean && make</b>
1.22 nick 119: </pre></blockquote>
1.1 jason 120:
1.40 tj 121: Replace <tt>GENERIC</tt> with <tt>GENERIC.MP</tt> for multiprocessor systems.
1.1 jason 122:
1.22 nick 123: <h4><font color="#0000e0">Rebooting with the new kernel</font></h4>
1.1 jason 124:
1.19 nick 125: To reboot with the newly compiled kernel:
1.40 tj 126:
1.22 nick 127: <blockquote><pre>
1.40 tj 128: # <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b>
129: # <b>make install</b>
130: # <b>reboot</b>
1.22 nick 131: </pre></blockquote>
1.1 jason 132:
1.40 tj 133: If your system has trouble booting the new kernel, you can easily go back
134: and reboot from the old kernel, now called <tt>obsd</tt>.
135:
136: <h4><font color="#0000e0">Rebuilding the userland</font></h4>
1.1 jason 137:
1.40 tj 138: To rebuild the base system binaries:
1.1 jason 139:
1.22 nick 140: <blockquote><pre>
1.40 tj 141: # <b>rm -rf /usr/obj/*</b>
142: # <b>cd /usr/src</b>
143: # <b>make obj</b>
144: # <b>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</b>
145: # <b>cd /usr/src</b>
146: # <b>make build</b>
1.22 nick 147: </pre></blockquote>
1.1 jason 148:
1.40 tj 149: This may take some time, depending on the speed of your system.
150: Use of the root account can be limited to only the final step if you
151: follow the instructions in <a href="faq/faq5.html#BldGetSrc">FAQ 5</a>.
1.23 nick 152:
153: <p>
1.40 tj 154: If you have a number of machines to keep on the <i>-stable</i> branch,
155: you may wish to make a <a href="faq/faq5.html#Release">release</a> by
156: creating <a href="faq/faq4.html#FilesNeeded">file sets</a> that can be
157: quickly and easily installed on any machine of the same platform.
1.42 ! sthen 158: The <a href="http://man.openbsd.org/?query=release">
1.40 tj 159: release(8)</a> man page contains all the relevant information.
1.23 nick 160:
1.1 jason 161: </body>
162: </html>