[BACK]Return to stable.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/stable.html, Revision 1.46

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