Sync usage with man page.
[netbsd-mini2440.git] / distrib / notes / hp300 / upgrade
blobfab65c25471f5cdec1856e84d70ab7f0fa0df995
1 .\"     $NetBSD: upgrade,v 1.18 2002/07/22 14:02:07 lukem Exp $
2 .\"
3 .\" Copyright (c) 1999-2002 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 .\" POSSIBILITY OF SUCH DAMAGE.
26 .\"
28 .\"     NOTE:   This file is shared between the hp300 and the mvme68k
30 It is possible to easily upgrade your existing
31 .Nx*M
32 system using the upgrade program in the miniroot or by manually performing
33 the same steps as the miniroot upgrade program.
35 .Ss2 Upgrading using the miniroot
37 If you wish to upgrade
38 your system by this method, simply select the
39 .Sy upgrade
40 option once the miniroot has booted.
41 The upgrade program with then guide you through the procedure.
42 .if \n[hp300] \{\
43 While you can boot the miniroot using the same methods described above for
44 a fresh install of
45 .Nx*M
46 there are easier and less intrusive options since your disk is already
47 labeled and bootable.
48 The easiest is to dump the miniroot to your swap
49 partition and boot from that.
50 .(enum
51 Download the files you'll need to upgrade
52 .Pp
53 In particular, make sure you have on your locally mounted file systems
54 .Pa base.tgz
55 and
56 .Pa miniroot.fs.gz
57 .It
58 Boot your \*M into
59 .Sq "single-user mode" :
60 .Pp
61 Follow the instructions in the section above on
62 .Sx Chosing a kernel location
63 and type
64 .Li -s
65 at the prompt.
66 .It
67 Extract and install a new boot block:
68 .Pp
69 Make sure you install the bootstrap program distributed with this version of
70 .Nx*M .
71 .(disp
72 .No # Ic "tar -xpvzf base.tgz ./usr/mdec"
73 .No # Ic "disklabel -B -b ./usr/mdec/uboot.lif " Ar root-disk
74 .disp)
75 E.g.:
76 .Ar root-disk
77 could be
78 .Li sd0
80 .Li rd0 .
81 We'll assume
82 .Li rd0
83 for now.
84 .It
85 Install the miniroot file system:
86 .Pp
87 First make sure that your
88 .Sq Li "b"
89 partition has enough room for the uncompressed miniroot (otherwise it
90 might overwrite another partition or the end of the disk).
91 .(disp
92 .No # Ic "gunzip miniroot.fs.gz"
93 .No # Ic "dd if=miniroot.fs of=/dev/rd0b"
94 .disp)
95 .It
96 Boot the miniroot:
97 .Pp
98 Follow the instructions in the section above on
99 .Sx Chosing a kernel location
100 and type
101 .Li rd0b:netbsd
102 at the prompt.
103 .enum)
105 .\} \" ! \n[hp300]
106 The upgrade program will:
107 .(enum
108 Enable the network based on your system's current
109 network configuration.
111 Mount your existing file systems.
113 Extract binary sets from the media of your choice.
115 Fixup your system's existing
116 .Pa /etc/fstab ,
117 changing the occurrences of
118 .Sy ufs
120 .Sy ffs
121 and let you edit the resulting file.
123 Make new device nodes in your root file system under
124 .Pa /dev .
126 Don't forget to extract the
127 .Sy kern
128 set from the distribution.
129 .(Note
130 The existing kernel
131 .Em will not
132 be backed up; doing so would be pointless, since older kernels may not be
133 capable of running
134 .Nx \*V executables.
135 .Note)
137 Install a new boot block.
139 Check your file systems for integrity.
141 You'll have to reboot your system manually
142 .enum)
144 .Ss2 Manual upgrade
146 While using the miniroot's upgrade program is the preferred method
147 of upgrading your system, it is possible to upgrade your system
148 manually.
149 To do this, follow the following procedure:
150 .(enum
151 Place
152 .Em at least
154 .Sy base
155 binary set in a file system
156 accessible to the target machine.
157 A local file system is preferred, since the NFS subsystem in the
158 .Nx \*V
159 kernel may be incompatible with your old binaries.
161 Back up your pre-existing kernel and copy the \*V
162 kernel into your root partition
163 .Pq Pa / .
164 .ie \n[hp300] \{\
166 Extract and install a new boot block:
168 Make sure you install the bootstrap program distributed with this version of
169 .Nx*M .
170 .(disp
171 .No # Ic "tar -xpvzf base.tgz ./usr/mdec"
172 .No # Ic "disklabel -B -b ./usr/mdec/uboot.lif " Ar root-disk
173 .disp)
174 E.g.:
175 .Ar root-disk
176 could be
177 .Li sd0
179 .Li rd0 .
182 Reboot with the \*V kernel into single-user mode.
184 Check all file systems:
186 .Dl # Ic "/sbin/fsck -pf"
188 Mount all local file systems:
190 .Dl # Ic "/sbin/mount -a -t nonfs"
192 If you keep
193 .Pa /usr
195 .Pa /usr/share
196 on an NFS server, you will want to mount those file systems as well.
197 To do this, you will need to enable the network:
199 .Dl # Ic "sh /etc/rc.d/network start"
201 Make sure you are in the root file system
202 .Pq Pa /
203 and extract
205 .Sy base
206 binary set:
208 .Dl # Ic "cd /"
209 .Dl # Ic "pax -zrvpe -f" Em /path/to/ Ns Ic base.tgz
210 .if \n[mvme68k] \{\
212 Install a new boot block:
214 .Dl # Ic "cd /usr/mdec"
215 .Dl # Ic "cp bootsd /.bootsd"
216 .Dl # Ic "./installboot /.bootsd bootxx \*<" Ar root-disk
218 E.g.:
219 .Ar root-disk
220 could be
221 .Pa /dev/rsd0a .
224 Sync the file systems:
226 .Dl # Ic sync
228 At this point you may extract any other binary sets
229 you may have placed on local file systems, or you may
230 wish to extract additional sets at a later time.
231 To extract these sets, use the following commands:
233 .Dl # Ic "cd /"
234 .Dl # Ic "pax -zrvpe -f" Ar path_to_set
235 .enum)
236 .(Note
238 .Em should not
239 extract the
240 .Sy etc
241 set if upgrading.
242 Instead, you should extract that set into another
243 area and carefully merge the changes by hand.
244 .Note)