Annotation of www/stable.html, Revision 1.39
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.39 ! tj 45: branch within 48 hours of when an errata is published. Other post-release
1.19 nick 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.4 deraadt 59: </ul>
60: <p>
1.1 jason 61:
1.23 nick 62: It is worth pointing out the name <i>-stable</i> refers ONLY to the API
63: and operations of OpenBSD not changing, not the overall reliability of
64: the system.
65: In fact, if things go as desired, the <i>-current</i>
66: <a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to
67: becoming the next <i>-release</i>, will be an improvement in
68: reliability, security and overall quality over the previous
69: <i>-release</i> and <i>-stable</i>.
70:
1.1 jason 71: <a name="getting"></a>
1.23 nick 72: <h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3>
1.1 jason 73:
74: <p>
1.19 nick 75: To obtain the patch branch for a particular release of OpenBSD, you
76: can update on top of a pre-existing source tree
1.39 ! tj 77: (from <a href="ftp.html">a mirror</a> or the <a href="orders.html">CD</a>)
1.19 nick 78: or you can grab the source tree freshly from
79: an <a href="anoncvs.html">AnonCVS</a> server.
80: Instructions for getting the patch branch and staying up to date are
81: described in the <b>Getting Started</b> section of the
82: <a href="anoncvs.html#starting">AnonCVS documentation</a>.
83: Note that patch branches do not help to upgrade from one release of
1.39 ! tj 84: OpenBSD to another. They only provide a means for staying up to date
! 85: with the patches within a given release.
1.23 nick 86:
87: <p>
88: Do not attempt to go from one release to another via source.
1.39 ! tj 89: Instead, please read the upgrade guide for the release in question.
1.19 nick 90: Also, you cannot go backwards, from -current back to -stable, because of
1.23 nick 91: library versioning problems and other changes.
1.1 jason 92:
93: <a name="building"></a>
1.23 nick 94: <h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3>
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.39 ! tj 100: Once you have obtained a source tree via <a href="anoncvs.html">AnonCVS</a>,
1.19 nick 101: you must rebuild the system. The stages for doing so are:
1.1 jason 102:
103: <ul>
1.19 nick 104: <li>Rebuild the kernel
105: <li>Reboot with the new kernel
106: <li>Rebuild the binaries
1.1 jason 107: </ul>
108:
1.22 nick 109: <h4><font color="#0000e0">Rebuilding the kernel</font></h4>
1.1 jason 110:
111: <p>
1.19 nick 112: To rebuild the default kernel from stable:
1.22 nick 113: <blockquote><pre>
1.3 ericj 114: # <strong>cd /usr/src/sys/arch/i386/conf</strong>
115: # <strong>/usr/sbin/config GENERIC</strong>
116: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.35 tobias 117: # <strong>make clean && make</strong>
1.22 nick 118: </pre></blockquote>
1.1 jason 119:
120: <p>
1.19 nick 121: Replace <i>i386</i> with your architecture, e.g.
1.36 tedu 122: <i>sparc</i>, <i>alpha</i>, etc. Replace <i>GENERIC</i> with
123: <i>GENERIC.MP</i> for multiprocessor systems.
1.1 jason 124:
1.22 nick 125: <h4><font color="#0000e0">Rebooting with the new kernel</font></h4>
1.1 jason 126:
127: <p>
1.19 nick 128: To reboot with the newly compiled kernel:
1.22 nick 129: <blockquote><pre>
1.3 ericj 130: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.23 nick 131: # <strong>make install</strong> <i>(Safely install new kernel)</i>
1.3 ericj 132: # <strong>reboot</strong>
1.22 nick 133: </pre></blockquote>
1.1 jason 134:
135: <p>
1.19 nick 136: As above, substitute your architecture for <i>i386</i>. If your system has
137: trouble booting the new kernel, you can easily go back and reboot from the
1.23 nick 138: old kernel, now called <i>obsd</i>.
1.1 jason 139:
1.22 nick 140: <h4><font color="#0000e0">Rebuilding the binaries</font></h4>
1.1 jason 141:
1.19 nick 142: <p> To rebuild the system binaries:
1.22 nick 143: <blockquote><pre>
1.16 steven 144: # <strong>rm -rf /usr/obj/*</strong>
1.3 ericj 145: # <strong>cd /usr/src</strong>
1.16 steven 146: # <strong>make obj</strong>
147: # <strong>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</strong>
148: # <strong>cd /usr/src</strong>
149: # <strong>make build</strong>
1.22 nick 150: </pre></blockquote>
1.1 jason 151:
1.30 nick 152: <p>This will take some time.
153: Depending on the speed of the system, it may take less than an hour to
154: a week or more.
1.23 nick 155:
156: <p>
157: If you have a number of machines to keep at <i>-stable</i>, you may wish to
158: make a <a href="faq/faq5.html#Release">release</a>, creating the
159: standard install <a href="faq/faq4.html#FilesNeeded">file sets</a>,
160: which can then be quickly and easily installed on any machine of the
161: same <a href="plat.html">platform</a>.
162:
1.1 jason 163: </body>
164: </html>
1.19 nick 165: