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