PERFORCE change 155582 for review
Rene Ladan
rene at FreeBSD.org
Fri Jan 2 16:45:32 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=155582
Change 155582 by rene at rene_self on 2009/01/02 16:45:12
IFC
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/book.sgml#4 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#7 integrate
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.sgml#9 integrate
.. //depot/projects/docproj_nl/www/en/releases/7.1R/schedule.sgml#10 integrate
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/book.sgml#4 (text+ko) ====
@@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
- $FreeBSD: doc/en_US.ISO8859-1/books/handbook/book.sgml,v 1.174 2008/12/23 18:59:03 trhodes Exp $
+ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/book.sgml,v 1.175 2009/01/02 12:35:26 manolis Exp $
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -77,6 +77,7 @@
<year>2006</year>
<year>2007</year>
<year>2008</year>
+ <year>2009</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#7 (text+ko) ====
@@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
- $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.233 2008/12/24 21:47:59 manolis Exp $
+ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.234 2009/01/02 12:34:14 manolis Exp $
-->
<chapter id="updating-upgrading">
@@ -294,17 +294,51 @@
or any kernel modules were modified. This will allow &os; to
load the new binaries into memory.</para>
+ <para>The <command>freebsd-update</command> utility can
+ automatically update the <literal>GENERIC</literal> kernel only.
+ If a custom kernel is in use, it will have to be rebuilt and
+ reinstalled after <command>freebsd-update</command> finishes
+ installing the rest of the updates. However,
+ <command>freebsd-update</command> will detect and update the
+ <literal>GENERIC</literal> kernel in <filename
+ class="directory">/boot/GENERIC</filename> (if it exists), even if
+ it is not the current (running) kernel of the system.</para>
+
+ <note>
+ <para>It is a good idea to always keep a copy of the
+ <literal>GENERIC</literal> kernel in <filename
+ class="directory">/boot/GENERIC</filename>. It will be helpful
+ in diagnosing a variety of problems, and in performing version
+ upgrades using <command>freebsd-update</command> as described in
+ section <xref linkend="freebsdupdate-upgrade">.</para>
+ </note>
+
+ <para>Unless the default configuration in
+ <filename>/etc/freebsd-update.conf</filename> has been changed,
+ <command>freebsd-update</command> will install the updated kernel
+ sources along with the rest of the updates. Rebuilding and
+ reinstalling your new custom kernel can then be performed in the usual
+ way.</para>
+
<note>
- <para>The <command>freebsd-update</command> only works with
- the <filename>GENERIC</filename> kernel. If any changes have
- been made to <filename>GENERIC</filename> or a custom kernel
- has been installed, <command>freebsd-update</command> will
- not complete — failing in the former case and
- producing an error in the latter.</para>
+ <para>The updates distributed via <command>freebsd-update</command>,
+ do not always involve the kernel. It will not be necessary to
+ rebuild your custom kernel if the kernel sources have not been
+ modified by the execution of
+ <command>freebsd-update install</command>. However,
+ <command>freebsd-update</command> will always update the
+ <filename>/usr/src/sys/conf/newvers.sh</filename> file. The current
+ patch level (as indicated by the <literal>-p</literal> number
+ reported by <command>uname -r</command>) is
+ obtained from this file. Rebuilding your custom kernel, even if
+ nothing else changed, will allow &man.uname.1; to accurately report
+ the current patch level of the system. This is particularly
+ helpful when maintaining multiple systems, as it allows for a quick
+ assessment of the updates installed in each one.</para>
</note>
</sect2>
- <sect2>
+ <sect2 id="freebsdupdate-upgrade">
<title>Major and Minor Upgrades</title>
<para>This process will remove old object files and
@@ -324,12 +358,66 @@
any prompts during this process, removing the need for
manual intervention during the build process.</para>
+ <para>If a custom kernel is in use, the upgrade process is slightly
+ more involved. A copy of the <literal>GENERIC</literal> kernel is
+ needed, and it should be placed in <filename
+ class="directory">/boot/GENERIC</filename>. If the
+ <literal>GENERIC</literal> kernel is not already present in the
+ system, it may be obtained using one of the following methods:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>If a custom kernel has only been built once, the kernel in
+ <filename class="directory">/boot/kernel.old</filename> is
+ actually the <literal>GENERIC</literal> one. Simply rename this
+ directory to
+ <filename class="directory">/boot/GENERIC</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Assuming physical access to the machine is possible, a copy
+ of the <literal>GENERIC</literal> kernel can be installed from
+ the CD-ROM media. Insert your installation disc and use the
+ following commands:</para>
+
+ <screen>&prompt.root; <userinput>mount /cdrom</userinput>
+&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
+&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
+
+ <para>Replace <filename
+ class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
+ with the actual version of the release you are using. The
+ <literal>GENERIC</literal> kernel will be installed in <filename
+ class="directory">/boot/GENERIC</filename> by default.</para>
+ </listitem>
+
+ <listitem>
+ <para>Failing all the above, the <literal>GENERIC</literal> kernel
+ may be rebuilt and installed from the sources:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel</userinput>
+&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
+&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
+
+ <para>For this kernel to be picked up as <literal>GENERIC</literal>
+ by <command>freebsd-update</command>, the
+ <literal>GENERIC</literal> configuration file must not have been
+ modified in any way. It is also suggested that it is built
+ without any other special options (preferably with an empty
+ <filename>/etc/make.conf</filename>).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Rebooting to the <literal>GENERIC</literal> kernel is not
+ required at this stage.</para>
+
<para>Major and minor version updates may be performed by
providing <command>freebsd-update</command> with a release
version target, for example, the following command will
- update to &os; 6.3:</para>
+ update to &os; 6.4:</para>
- <screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
+ <screen>&prompt.root; <userinput>freebsd-update -r 6.4-RELEASE upgrade</userinput></screen>
<para>After the command has been received,
<command>freebsd-update</command> will evaluate the
@@ -339,7 +427,7 @@
what components have not been detected. For example:</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
-Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
+Fetching metadata signature for 6.3-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
@@ -360,6 +448,18 @@
some cases, the user may be prompted with questions regarding
what to install or how to proceed.</para>
+ <para>When using a custom kernel, the above step will produce a warning
+ similar to the following:</para>
+
+ <screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
+kernel configuration distributed as part of FreeBSD 6.3-RELEASE.
+This kernel will not be updated: you MUST update the kernel manually
+before running "/usr/sbin/freebsd-update install"</screen>
+
+ <para>This warning may be safely ignored at this point. The updated
+ <literal>GENERIC</literal> kernel will be used as an intermediate
+ step in the upgrade process.</para>
+
<para>After all patches have been downloaded to the local
system, they will then be applied. This process may take
a while depending on the speed and workload of the machine.
@@ -388,9 +488,28 @@
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>The kernel and kernel modules will be patched first. At
- this point the machine must be rebooted. The following
- command may be issued to restart the machine so the new
- kernel will be loaded into memory:</para>
+ this point the machine must be rebooted. If the system was running
+ with a custom kernel, use the &man.nextboot.8; command to set the
+ kernel for the next boot to <filename
+ class="directory">/boot/GENERIC</filename> (which was
+ updated):</para>
+
+ <screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
+
+ <warning>
+ <para>Before rebooting with the <literal>GENERIC</literal> kernel,
+ make sure it contains all drivers required for your system to boot
+ properly (and connect to the network, if the machine that is being
+ updated is accessed remotely). In particular, if the previously
+ running custom kernel contained built-in functionality usually
+ provided by kernel modules, make sure to temporarily load these
+ modules into the <literal>GENERIC</literal> kernel using the
+ <filename>/boot/loader.conf</filename> facility. You may also wish
+ to disable non-essential services, disk and network mounts, etc.
+ until the upgrade process is complete.</para>
+ </warning>
+
+ <para>The machine should now be restarted with the updated kernel:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
@@ -431,6 +550,10 @@
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
+ <para>If the <literal>GENERIC</literal> kernel was temporarily used,
+ this is the time to build and install a new custom kernel in the
+ usual way.</para>
+
<para>Reboot the machine into the new &os; version. The process
is complete.</para>
</sect2>
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.sgml#9 (text+ko) ====
@@ -1,6 +1,6 @@
<!--
The FreeBSD Dutch Documentation Project
- $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.sgml,v 1.2 2009/01/01 20:02:04 remko Exp $
+ $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.sgml,v 1.3 2009/01/02 12:25:30 rene Exp $
%SOURCE% en_US.ISO8859-1/books/handbook/filesystems/chapter.sgml
%SRCID% 1.5
==== //depot/projects/docproj_nl/www/en/releases/7.1R/schedule.sgml#10 (text+ko) ====
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY email 'freebsd-qa'>
-<!ENTITY date "$FreeBSD: www/en/releases/7.1R/schedule.sgml,v 1.12 2008/12/23 20:56:19 hrs Exp $">
+<!ENTITY date "$FreeBSD: www/en/releases/7.1R/schedule.sgml,v 1.13 2009/01/02 09:05:45 blackend Exp $">
<!ENTITY local.rel "7.1">
<!ENTITY local.rel.tag "7_1">
<!ENTITY title "FreeBSD &local.rel; Release Process">
@@ -170,7 +170,7 @@
<tr>
<td><tt>RELEASE</tt> builds</td>
<td>TBD</td>
- <td>--</td>
+ <td>1 January 2009</td>
<td>Begin RELEASE builds.</td>
</tr>
More information about the p4-projects
mailing list