1259805Sgjb<?xml version="1.0" encoding="iso-8859-1"?>
2259805Sgjb<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3259805Sgjb        "../../../share/xml/freebsd50.dtd" [
4259805Sgjb<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
5259805Sgjb%release;
6259805Sgjb]>
7259805Sgjb
8259805Sgjb<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
9259805Sgjb  <info><title>&os; &release.current; Installation Instructions</title>
10259805Sgjb
11259805Sgjb    <author><orgname>The &os; Project</orgname></author>
12259805Sgjb
13259805Sgjb    <pubdate>$FreeBSD$</pubdate>
14259805Sgjb
15259805Sgjb    <copyright>
16260611Sgjb      <year>2014</year>
17259806Sgjb      <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
18259805Sgjb    </copyright>
19259805Sgjb
20259805Sgjb    <legalnotice xml:id="trademarks" role="trademarks">
21259805Sgjb      &tm-attrib.freebsd;
22259805Sgjb      &tm-attrib.intel;
23259805Sgjb      &tm-attrib.sparc;
24259805Sgjb      &tm-attrib.general;
25259805Sgjb    </legalnotice>
26259805Sgjb
27259805Sgjb  <abstract>
28259805Sgjb    <para>This article gives some brief instructions on installing
29259805Sgjb      &os; &release.current; and upgrading the systems running earlier
30259805Sgjb      releases.</para>
31259805Sgjb  </abstract>
32259805Sgjb</info>
33259805Sgjb
34259805Sgjb  <sect1 xml:id="install">
35259805Sgjb    <title>Installing &os;</title>
36259805Sgjb
37259805Sgjb    <para>The <uri
38259805Sgjb	xlink:href="&url.books.handbook;/bsdinstall.html">Installing
39259805Sgjb	  &os;</uri>
40259805Sgjb      chapter of the <uri
41259805Sgjb	xlink:href="&url.books.handbook;/">&os;
42259805Sgjb	Handbook</uri> provides more in-depth information about the
43259805Sgjb      installation program itself, including a guided walk-through with
44259805Sgjb      screenshots.</para>
45259805Sgjb  </sect1>
46259805Sgjb
47259805Sgjb  <sect1 xml:id="upgrade">
48259805Sgjb    <title>Upgrading &os;</title>
49259805Sgjb
50259805Sgjb    <para>If you are upgrading from a previous release of &os;, please
51259805Sgjb      read <uri
52259805Sgjb      xlink:href="http://www.FreeBSD.org/releases/10.0R/relnotes.html#upgrade">upgrading
53259805Sgjb      section in the Release Notes</uri> for notable
54259805Sgjb      incompatibilities carefully.</para>
55259805Sgjb
56259805Sgjb    <sect2>
57259805Sgjb      <title>Upgrading from Source</title>
58259805Sgjb
59259805Sgjb      <para>The procedure for doing a source code based update is
60259805Sgjb	described in
61259805Sgjb	<uri xlink:href="&url.books.handbook;/synching.html"></uri> and
62259805Sgjb	<uri xlink:href="&url.books.handbook;/makeworld.html"></uri>.</para>
63259805Sgjb
64259805Sgjb      <para>For SVN use the <filename>releng/10.0</filename> branch
65259805Sgjb	which will be where any upcoming Security Advisories or Errata
66259805Sgjb	Notices will be applied.</para>
67259805Sgjb    </sect2>
68259805Sgjb
69259805Sgjb    <sect2>
70259805Sgjb      <title>Upgrading Using <quote>&os; Update</quote></title>
71259805Sgjb
72259805Sgjb      <para>The &man.freebsd-update.8; utility supports binary
73259805Sgjb	upgrades of &arch.i386; and &arch.amd64; systems running
74259805Sgjb	earlier FreeBSD releases. Systems running
75259805Sgjb	<literal>7.[34]-RELEASE</literal>,
76259805Sgjb	<literal>8.[1234]-RELEASE</literal>,
77259805Sgjb	<literal>9.[012]-RELEASE</literal>,
78259805Sgjb	<literal>10.0-RC[123]</literal> can upgrade as follows:</para>
79259805Sgjb
80259805Sgjb      <screen>&prompt.root; freebsd-update fetch
81259805Sgjb&prompt.root; freebsd-update install</screen>
82259805Sgjb
83259805Sgjb      <para>Now the &man.freebsd-update.8; utility can fetch bits
84259805Sgjb	belonging to &release.current;.  During this process
85259805Sgjb	&man.freebsd-update.8; will ask for help in merging
86259805Sgjb	configuration files.</para>
87259805Sgjb
88259805Sgjb      <screen>&prompt.root; freebsd-update upgrade -r 10.0-RELEASE</screen>
89259805Sgjb
90259805Sgjb      <para>Due to changes in the way that &os; is packaged on the
91259805Sgjb	release media, two complications may arise in this process if
92259805Sgjb	upgrading from FreeBSD 8.x or 9.x:</para>
93259805Sgjb
94259805Sgjb      <orderedlist>
95259805Sgjb	<listitem>
96259805Sgjb	  <para>The &os;, which previously could appear in either
97259805Sgjb	    <filename>/boot/kernel</filename> or
98259805Sgjb	    <filename>/boot/GENERIC</filename>, now only appears as
99259805Sgjb	    <filename>/boot/kernel</filename>.  As a result, any
100259805Sgjb	    kernel appearing in <filename>/boot/GENERIC</filename>
101259805Sgjb	    will be deleted.  Please carefully read the output printed
102259805Sgjb	    by &man.freebsd-update.8; and confirm that an updated
103259805Sgjb	    kernel will be placed into
104259805Sgjb	    <filename>/boot/kernel</filename> before proceeding beyond
105259805Sgjb	    this point.</para>
106259805Sgjb	</listitem>
107259805Sgjb
108259805Sgjb	<listitem>
109259805Sgjb	  <para>The &os; source tree in <filename>/usr/src</filename>
110259805Sgjb	    (if present) will be deleted.  (Normally the
111259805Sgjb	    &man.freebsd-update.8; utility will update a source tree,
112259805Sgjb	    but in this case the changes in release packaging result
113259805Sgjb	    in the &man.freebsd-update.8; utility not recognizing that
114259805Sgjb	    the source tree from the old release and the source tree
115259805Sgjb	    from the new release correspond to the same part of
116259805Sgjb	    &os;.)</para>
117259805Sgjb	</listitem>
118259805Sgjb      </orderedlist>
119259805Sgjb
120259805Sgjb      <screen>&prompt.root; freebsd-update install</screen>
121259805Sgjb
122259805Sgjb      <para>The system must now be rebooted with the newly installed
123259805Sgjb	kernel before the non-kernel components are updated.</para>
124259805Sgjb
125259805Sgjb      <screen>&prompt.root; shutdown -r now</screen>
126259805Sgjb
127259805Sgjb      <para>After rebooting, &man.freebsd-update.8; needs to be run
128259805Sgjb	again to install the new userland components:</para>
129259805Sgjb
130259805Sgjb      <screen>&prompt.root; freebsd-update install</screen>
131259805Sgjb
132259805Sgjb      <para>At this point, users of systems being upgraded from &os;
133259805Sgjb	9.2-RELEASE or earlier will be prompted by
134259805Sgjb	&man.freebsd-update.8; to rebuild all third-party applications
135259805Sgjb	(e.g., ports installed from the ports tree) due to updates in
136259805Sgjb	system libraries.</para>
137259805Sgjb
138259805Sgjb      <para>After updating installed third-party applications (and
139259805Sgjb	again, only if &man.freebsd-update.8; printed a message
140259805Sgjb	indicating that this was necessary), run
141259805Sgjb	&man.freebsd-update.8; again so that it can delete the old (no
142259805Sgjb	longer used) system libraries:</para>
143259805Sgjb
144259805Sgjb      <screen>&prompt.root; freebsd-update install</screen>
145259805Sgjb
146259805Sgjb      <para>Finally, reboot into &release.current;</para>
147259805Sgjb
148259805Sgjb      <screen>&prompt.root; shutdown -r now</screen>
149259805Sgjb    </sect2>
150259805Sgjb  </sect1>
151259805Sgjb</article>
152