version 1.39, 2016/01/31 01:13:42 |
version 1.40, 2016/02/04 00:22:20 |
|
|
<head> |
<head> |
<title>Following -stable</title> |
<title>Following -stable</title> |
<meta name="description" content="stable"> |
<meta name="description" content="stable"> |
<meta name="copyright" content="This document copyright 1996-2014 by OpenBSD."> |
<meta name="copyright" content="This document copyright 1996-2016 by OpenBSD."> |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
<link rel="canonical" href="http://www.openbsd.org/stable.html"> |
<link rel="canonical" href="http://www.openbsd.org/stable.html"> |
</head> |
</head> |
|
|
</a> |
</a> |
|
|
<p> |
<p> |
<h2><font color="#e00000">Following <i>-stable</i> (the "Patch |
<h2><font color="#e00000">Following <i>-stable</i> (the "patch |
branch")</font></h2> |
branch")</font></h2> |
<hr> |
<hr> |
|
|
|
|
<h3><font color="#0000e0">What is the <i>-stable</i> (patch) |
<h3><font color="#0000e0">What is the <i>-stable</i> (patch) |
branch?</font></h3> |
branch?</font></h3> |
|
|
<p> |
OpenBSD provides a source tree that contains important patches and fixes |
OpenBSD provides a source tree that contains |
(i.e. those from the <a href="errata.html">errata</a>, plus others which |
important patches and fixes (i.e. those from the |
are obvious and simple, but do not deserve an errata entry) |
<a href="errata.html">errata</a> plus others which are obvious and simple, |
|
but do not deserve an errata entry) |
|
and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the |
and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the |
<i>-current</i> source. Thus, users can choose three options :<p> |
<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>Stick with our latest release and apply the patches by hand. |
<li>Use the <b>patch branch</b> which has those patches. |
<li>Use the <i>-stable</i> ("patch") branch, which has those patches. |
<li>Use <b>current source</b> for all of the latest features. |
<li>Use the <i>-current</i> branch for all of the latest features. |
</ul> |
</ul> |
|
|
<p> |
<p> |
<!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things) |
As a general principle, all <a href="errata.html">errata</a> entries will |
which post-release changes have made it into the patch branch. --> |
be merged into the patch branch shortly before/after they are published. |
As a general principle, all |
Other post-release patches may be merged in as well, subject to a number |
<a href="errata.html">errata</a> entries will be merged into the patch |
of conditions: |
branch within 48 hours of when an errata is published. Other post-release |
|
patches may be merged in as well, subject to a number of conditions: |
|
<ul> |
<ul> |
<li>The patches must be simple, short, and obviously 100% correct. |
<li>The patches must be simple, short, and obviously 100% correct. |
<li>Errata entries are made for bugs which affect many people. Other |
<li>Errata entries are made for bugs which affect many people. |
patches may be merged into the patch branch if they affect a few |
Other patches may be merged into the patch branch if they affect a few |
people in drastic ways. |
people in drastic ways. |
<li>Please do not ask for large subsystems or patches to be merged. |
<li>New or changed functionality, hardware support or APIs will <i>not</i> |
Maintaining the patch tree takes a lot of effort which could be |
be merged. |
better spent on making our next release better. |
In general, if it requires a man page change, it will NOT be a candidate |
<li>New or changed functionality, hardware support or APIs will |
for the patch branch. |
<i>not</i> be merged. |
Please do not ask for large subsystems or patches to be merged. |
In general, if it requires a man page change, it will NOT be a |
Maintaining the patch tree takes a lot of effort which could be better |
candidate for the patch branch. |
spent on making our next release better. |
</ul> |
</ul> |
<p> |
|
|
|
|
<p> |
It is worth pointing out the name <i>-stable</i> refers ONLY to the API |
It is worth pointing out the name <i>-stable</i> refers ONLY to the API |
and operations of OpenBSD not changing, not the overall reliability of |
and operations of OpenBSD not changing, not the overall reliability of |
the system. |
the system. |
In fact, if things go as desired, the <i>-current</i> |
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 |
<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 |
becoming the next <i>-release</i>, will be an improvement in reliability, |
reliability, security and overall quality over the previous |
security and overall quality over the previous <i>-release</i> and |
<i>-release</i> and <i>-stable</i>. |
<i>-stable</i>. |
|
|
<a name="getting"></a> |
<a name="getting"></a> |
<h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3> |
<h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3> |
|
|
<p> |
To obtain the patch branch for a particular release of OpenBSD, you can |
To obtain the patch branch for a particular release of OpenBSD, you |
update on top of a pre-existing source tree (from <a href="ftp.html"> |
can update on top of a pre-existing source tree |
a mirror</a> or the <a href="orders.html">CD</a>), or you can grab a |
(from <a href="ftp.html">a mirror</a> or the <a href="orders.html">CD</a>) |
fresh source tree from an <a href="anoncvs.html">AnonCVS</a> server. |
or you can grab the source tree freshly from |
|
an <a href="anoncvs.html">AnonCVS</a> server. |
|
Instructions for getting the patch branch and staying up to date are |
Instructions for getting the patch branch and staying up to date are |
described in the <b>Getting Started</b> section of the |
described in the <b>Getting Started</b> section of the |
<a href="anoncvs.html#starting">AnonCVS documentation</a>. |
<a href="anoncvs.html#starting">AnonCVS documentation</a>. |
|
|
|
|
<a name="building"></a> |
<a name="building"></a> |
<h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3> |
<h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3> |
|
|
Full details on building from source are provided in |
Full details on building from source are provided in |
<a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>. |
<a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>. |
This is a simplified summary. |
This is a simplified summary. |
|
|
<p> |
<p> |
Once you have obtained a source tree via <a href="anoncvs.html">AnonCVS</a>, |
Once you have obtained a source tree via <a href="anoncvs.html">CVS</a>, |
you must rebuild the system. The stages for doing so are: |
you must rebuild the system. |
|
The steps for doing so are: |
|
|
<ul> |
<ul> |
<li>Rebuild the kernel |
<li>Rebuild the kernel |
<li>Reboot with the new kernel |
<li>Reboot with the new kernel |
<li>Rebuild the binaries |
<li>Rebuild the userland |
</ul> |
</ul> |
|
|
<h4><font color="#0000e0">Rebuilding the kernel</font></h4> |
<h4><font color="#0000e0">Rebuilding the kernel</font></h4> |
|
|
<p> |
|
To rebuild the default kernel from stable: |
To rebuild the default kernel from stable: |
|
|
<blockquote><pre> |
<blockquote><pre> |
# <strong>cd /usr/src/sys/arch/i386/conf</strong> |
# <b>cd /usr/src/sys/arch/$(uname -m)/conf</b> |
# <strong>/usr/sbin/config GENERIC</strong> |
# <b>config GENERIC</b> |
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong> |
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b> |
# <strong>make clean && make</strong> |
# <b>make clean && make</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
<p> |
Replace <tt>GENERIC</tt> with <tt>GENERIC.MP</tt> for multiprocessor systems. |
Replace <i>i386</i> with your architecture, e.g. |
|
<i>sparc</i>, <i>alpha</i>, etc. Replace <i>GENERIC</i> with |
|
<i>GENERIC.MP</i> for multiprocessor systems. |
|
|
|
<h4><font color="#0000e0">Rebooting with the new kernel</font></h4> |
<h4><font color="#0000e0">Rebooting with the new kernel</font></h4> |
|
|
<p> |
|
To reboot with the newly compiled kernel: |
To reboot with the newly compiled kernel: |
|
|
<blockquote><pre> |
<blockquote><pre> |
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong> |
# <b>cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC</b> |
# <strong>make install</strong> <i>(Safely install new kernel)</i> |
# <b>make install</b> |
# <strong>reboot</strong> |
# <b>reboot</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
<p> |
If your system has trouble booting the new kernel, you can easily go back |
As above, substitute your architecture for <i>i386</i>. If your system has |
and reboot from the old kernel, now called <tt>obsd</tt>. |
trouble booting the new kernel, you can easily go back and reboot from the |
|
old kernel, now called <i>obsd</i>. |
|
|
|
<h4><font color="#0000e0">Rebuilding the binaries</font></h4> |
<h4><font color="#0000e0">Rebuilding the userland</font></h4> |
|
|
<p> To rebuild the system binaries: |
To rebuild the base system binaries: |
|
|
<blockquote><pre> |
<blockquote><pre> |
# <strong>rm -rf /usr/obj/*</strong> |
# <b>rm -rf /usr/obj/*</b> |
# <strong>cd /usr/src</strong> |
# <b>cd /usr/src</b> |
# <strong>make obj</strong> |
# <b>make obj</b> |
# <strong>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</strong> |
# <b>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</b> |
# <strong>cd /usr/src</strong> |
# <b>cd /usr/src</b> |
# <strong>make build</strong> |
# <b>make build</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
<p>This will take some time. |
This may take some time, depending on the speed of your system. |
Depending on the speed of the system, it may take less than an hour to |
Use of the root account can be limited to only the final step if you |
a week or more. |
follow the instructions in <a href="faq/faq5.html#BldGetSrc">FAQ 5</a>. |
|
|
<p> |
<p> |
If you have a number of machines to keep at <i>-stable</i>, you may wish to |
If you have a number of machines to keep on the <i>-stable</i> branch, |
make a <a href="faq/faq5.html#Release">release</a>, creating the |
you may wish to make a <a href="faq/faq5.html#Release">release</a> by |
standard install <a href="faq/faq4.html#FilesNeeded">file sets</a>, |
creating <a href="faq/faq4.html#FilesNeeded">file sets</a> that can be |
which can then be quickly and easily installed on any machine of the |
quickly and easily installed on any machine of the same platform. |
same <a href="plat.html">platform</a>. |
The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=release"> |
|
release(8)</a> man page contains all the relevant information. |
|
|
</body> |
</body> |
</html> |
</html> |
|
|