version 1.47, 2016/08/15 02:22:12 |
version 1.48, 2016/09/21 04:01:18 |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
<meta name="viewport" content="width=device-width, initial-scale=1"> |
<link rel="stylesheet" type="text/css" href="openbsd.css"> |
<link rel="stylesheet" type="text/css" href="openbsd.css"> |
<link rel="canonical" href="https://www.openbsd.org/stable.html"> |
<link rel="canonical" href="https://www.openbsd.org/stable.html"> |
|
<style type="text/css"> |
|
h3, h4 { color: #0000e0; } |
|
</style> |
</head> |
</head> |
|
|
<body bgcolor="#ffffff" text="#000000"> |
<body bgcolor="#ffffff" text="#000000"> |
|
|
<hr> |
<hr> |
<p> |
<p> |
|
|
<a name="whatis"></a> |
<h3 id="whatis">What is the <i>-stable</i> branch?</h3> |
<h3><font color="#0000e0">What is the <i>-stable</i> (patch) |
|
branch?</font></h3> |
|
|
|
OpenBSD provides a source tree that contains important patches and fixes |
The <i>-stable</i> branch is one of OpenBSD's three |
(i.e. those from the <a href="errata.html">errata</a>, plus others which |
<a href="faq/faq5.html#Flavors">flavors</a>. |
are obvious and simple, but do not deserve an errata entry) |
It consists of the release and <a href="errata.html">errata</a> patches. |
and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the |
More precisely: |
<i>-current</i> source. |
|
Thus, users can choose three options: |
|
|
|
<p> |
|
<ul> |
<ul> |
<li>Stick with our latest release and apply the patches by hand. |
<li>Errata entries are made for bugs which affect many people. |
<li>Use the <i>-stable</i> ("patch") branch, which has those patches. |
<li>Other patches may be merged into <i>-stable</i> if they affect a few |
<li>Use the <i>-current</i> branch for all of the latest features. |
people in drastic ways. |
|
<li>New or changed functionality, hardware support or APIs will <i>not</i> be |
|
merged. |
</ul> |
</ul> |
|
|
<p> |
<h3 id="getting">Getting <i>-stable</i> source code</h3> |
As a general principle, all <a href="errata.html">errata</a> entries will |
|
be merged into the patch branch shortly before/after they are published. |
|
Other post-release patches may be merged in as well, subject to a number |
|
of conditions: |
|
|
|
<ul> |
To obtain the <i>-stable</i> tree for a particular release of OpenBSD, you can |
<li>The patches must be simple, short, and obviously 100% correct. |
<a href="anoncvs.html#updating">update</a> on top of a pre-existing source tree |
<li>Errata entries are made for bugs which affect many people. |
or you can <a href="anoncvs.html#getting">check out</a> a fresh source tree from |
Other patches may be merged into the patch branch if they affect a few |
an <a href="anoncvs.html">AnonCVS</a> server. |
people in drastic ways. |
|
<li>New or changed functionality, hardware support or APIs will <i>not</i> |
|
be merged. |
|
In general, if it requires a man page change, it will NOT be a candidate |
|
for the patch branch. |
|
Please do not ask for large subsystems or patches to be merged. |
|
Maintaining the patch tree takes a lot of effort which could be better |
|
spent on making our next release better. |
|
</ul> |
|
|
|
<p> |
<p> |
It is worth pointing out the name <i>-stable</i> refers ONLY to the API |
<!-- XXXrelease - bump href to upgradeXX.html --> |
and operations of OpenBSD not changing, not the overall reliability of |
|
the system. |
|
In fact, if things go as desired, the <i>-current</i> |
|
<a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to |
|
becoming the next <i>-release</i>, will be an improvement in reliability, |
|
security and overall quality over the previous <i>-release</i> and |
|
<i>-stable</i>. |
|
|
|
<a name="getting"></a> |
|
<h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3> |
|
|
|
To obtain the patch branch for a particular release of OpenBSD, you can |
|
update on top of a pre-existing source tree (from <a href="ftp.html"> |
|
a mirror</a> or the <a href="orders.html">CD</a>), or you can grab a |
|
fresh source tree from an <a href="anoncvs.html">AnonCVS</a> server. |
|
Instructions for getting the patch branch and staying up to date are |
|
described in the <b>Getting Started</b> section of the |
|
<a href="anoncvs.html#starting">AnonCVS documentation</a>. |
|
Note that patch branches do not help to upgrade from one release of |
|
OpenBSD to another. They only provide a means for staying up to date |
|
with the patches within a given release. |
|
|
|
<p> |
|
Do not attempt to go from one release to another via source. |
Do not attempt to go from one release to another via source. |
Instead, please read the upgrade guide for the release in question. |
Instead, please read the <a href="faq/upgrade60.html">upgrade guide</a> for the |
Also, you cannot go backwards, from -current back to -stable, because of |
release in question. |
library versioning problems and other changes. |
|
|
|
<a name="building"></a> |
<h3 id="building">Building OpenBSD <i>-stable</i></h3> |
<h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3> |
|
|
|
Full details on building from source are provided |
Details on building OpenBSD from source are provided in steps 2 and 3 of the |
<a href="faq/faq5.html">here</a>. |
<a href="http://man.openbsd.org/release">release(8)</a> manual. |
This is a simplified summary. |
Before you start, you may also want to read the FAQ on |
|
<a href="faq/faq5.html">building the system from source</a>. |
|
|
<p> |
<p> |
Once you have obtained a source tree via <a href="anoncvs.html">CVS</a>, |
If you have a number of machines to keep on the <i>-stable</i> branch, you may |
you must rebuild the system. |
wish to make a <a href="faq/faq5.html#Release">release</a> by creating |
The steps for doing so are: |
<a href="faq/faq4.html#FilesNeeded">file sets</a> that can be quickly and |
|
easily installed on any machine of the same platform. |
|
The <a href="http://man.openbsd.org/release">release(8)</a> man page contains |
|
all the relevant information. |
|
|
<ul> |
<h4>Rebuild the kernel and reboot</h4> |
<li>Rebuild the kernel |
|
<li>Reboot with the new kernel |
|
<li>Rebuild the userland |
|
</ul> |
|
|
|
<h4><font color="#0000e0">Rebuilding the kernel</font></h4> |
Replace <tt>GENERIC</tt> with <tt>GENERIC.MP</tt> for multiprocessor systems. |
|
|
To rebuild the default kernel from stable: |
|
|
|
<blockquote><pre> |
<blockquote><pre> |
# <b>cd /usr/src/sys/arch/$(uname -m)/conf</b> |
# <b>cd /usr/src/sys/arch/$(uname -m)/conf</b> |
# <b>config GENERIC</b> |
# <b>config GENERIC</b> |
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b> |
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b> |
# <b>make clean && make</b> |
# <b>make clean && make</b> |
</pre></blockquote> |
|
|
|
Replace <tt>GENERIC</tt> with <tt>GENERIC.MP</tt> for multiprocessor systems. |
|
|
|
<h4><font color="#0000e0">Rebooting with the new kernel</font></h4> |
|
|
|
To reboot with the newly compiled kernel: |
|
|
|
<blockquote><pre> |
|
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b> |
|
# <b>make install</b> |
# <b>make install</b> |
# <b>reboot</b> |
# <b>reboot</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
If your system has trouble booting the new kernel, you can easily go back |
If your system has trouble booting the new kernel, you can easily go back |
and reboot from the old kernel, now called <tt>obsd</tt>. |
and reboot from the old kernel, now called <tt>obsd</tt>. |
|
|
<h4><font color="#0000e0">Rebuilding the userland</font></h4> |
<h4>Rebuilding the userland</h4> |
|
|
To rebuild the base system binaries: |
To rebuild the base system binaries: |
|
|
|
|
# <b>cd /usr/src</b> |
# <b>cd /usr/src</b> |
# <b>make build</b> |
# <b>make build</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
This may take some time, depending on the speed of your system. |
|
Use of the root account can be limited to only the final step if you |
|
follow the instructions on <a href="faq/faq5.html#BldGetSrc">this page</a>. |
|
|
|
<p> |
|
If you have a number of machines to keep on the <i>-stable</i> branch, |
|
you may wish to make a <a href="faq/faq5.html#Release">release</a> by |
|
creating <a href="faq/faq4.html#FilesNeeded">file sets</a> that can be |
|
quickly and easily installed on any machine of the same platform. |
|
The <a href="http://man.openbsd.org/?query=release"> |
|
release(8)</a> man page contains all the relevant information. |
|
|
|
</body> |
</body> |
</html> |
</html> |