upgrade revision 1.5 1 1.5 jtc The upgrade to NetBSD 1.2 is a binary upgrade; it would be prohibitive
2 1.5 jtc to make users upgrade by compiling and installing the 1.2 sources, and
3 1.1 cgd it would be very difficult to even compile a set of instructions that
4 1.4 jtc allowed them to do so. Because of the many changes to the system, it
5 1.4 jtc is difficult impractical to upgrade by recompiling from the sources
6 1.4 jtc and installing.
7 1.1 cgd
8 1.1 cgd To do the upgrade, you must have the appropriate kernel-copy floppy
9 1.5 jtc image on a disk, and the upgr12.fs floppy image on another. You must
10 1.5 jtc also have at least the "base12" binary distribution set available,
11 1.1 cgd so that you can upgrade with it, using one of the upgrade methods
12 1.1 cgd described above. Finally, you must have sufficient disk space
13 1.1 cgd available to install the new binaries. Since the old binaries are
14 1.1 cgd being overwritten in place, you only need space for the new binaries,
15 1.1 cgd which weren't previously on the system. If you have a few megabytes
16 1.1 cgd free on each of your root and /usr partitions, you should have enough
17 1.1 cgd space.
18 1.1 cgd
19 1.1 cgd Since upgrading involves replacing the boot blocks on your NetBSD
20 1.1 cgd partition, the kernel, and most of the system binaries, it has the
21 1.1 cgd potential to cause data loss. You are strongly advised to BACK UP ANY
22 1.1 cgd IMPORTANT DATA ON YOUR DISK, whether on the NetBSD partition or on
23 1.1 cgd another operating system's partition, before beginning the upgrade
24 1.1 cgd process.
25 1.1 cgd
26 1.1 cgd To upgrade your system, follow the following instructions:
27 1.1 cgd
28 1.1 cgd Boot your machine using of the appropriate kernel-copy floppy.
29 1.1 cgd When presented with the boot prompt (the prompt begins with
30 1.1 cgd "Boot" and ends with ":-"), hit return.
31 1.1 cgd
32 1.1 cgd You will be prompted to insert a file system floppy. Remove
33 1.5 jtc the kernel-copy floppy and insert the upgr12 floppy, then hit
34 1.1 cgd any key to continue booting.
35 1.1 cgd
36 1.1 cgd While booting, you will probably see several warnings. You
37 1.1 cgd should be warned that no swap space is present, and that
38 1.1 cgd init(8) cannot find /etc/rc. Do not be alarmed, these are
39 1.1 cgd completely normal. When you reach the prompt asking you for a
40 1.1 cgd shell name, just hit return.
41 1.1 cgd
42 1.1 cgd You will be presented with some information about the upgrade
43 1.1 cgd process and a warning message, and will be asked if you wish
44 1.1 cgd to proceed with the upgrade process. If you answer
45 1.1 cgd negatively, the upgrade process will stop, and your disk will
46 1.1 cgd not be modified. If you answer affirmatively, the upgrade
47 1.1 cgd process will begin, and your disk will be modified. You may
48 1.1 cgd hit Control-C to stop the upgrade process at any time.
49 1.1 cgd However, if you hit it at an inopportune moment, your system
50 1.1 cgd may be left in an inconsistent (and possibly unusable) state.
51 1.1 cgd
52 1.1 cgd You will be asked if you wish to upgrade your file systems to
53 1.1 cgd the new file system format. If you do, reply affirmatively.
54 1.1 cgd If you don't have your file systems upgraded now, you should
55 1.1 cgd probably do it manually after the install process is complete,
56 1.1 cgd by using "fsck -c 2". Read the fsck(8) manual page for more
57 1.4 jtc details. Note that this step is only important when upgrading
58 1.4 jtc from a pre-NetBSD 1.0 release.
59 1.1 cgd
60 1.1 cgd The upgrade program will then check your root file system,
61 1.1 cgd and, if you approved, will upgrade it to the new file system
62 1.1 cgd format. It will then mount your root file system on /mnt.
63 1.1 cgd
64 1.1 cgd If your file systems are being upgraded, the upgrade script
65 1.1 cgd will copy the new fsck(8) program to your hard disk and
66 1.1 cgd upgrade your remaining file systems.
67 1.1 cgd
68 1.1 cgd The upgrade program will then automatically replace the boot
69 1.1 cgd blocks on your disk with newer versions, and mount all of your
70 1.1 cgd file systems under /mnt. (In other words, your root partition
71 1.1 cgd will be mounted on /mnt, your /usr partition on /mnt/usr, etc.)
72 1.1 cgd
73 1.1 cgd If you don't already have the NetBSD distribution sets on your
74 1.1 cgd disk, look in the installation section for information on how
75 1.2 glass to transfer them to your disk.
76 1.2 glass
77 1.2 glass If you have only one floppy drive, and don't have the disk
78 1.3 cgd space to copy all of the distribution onto the hard drive, you
79 1.3 cgd can do the following:
80 1.3 cgd
81 1.2 glass Install a kernel on the hard drive as detailed a few
82 1.3 cgd paragraphs below, then boot off the hard drive. Now
83 1.3 cgd you can copy and install distribution sets
84 1.3 cgd incrementally from your lone floppy drive.
85 1.3 cgd
86 1.2 glass Once the distribution sets are transferred to your disk,
87 1.2 glass continue here. (Obviously, if the NetBSD distribution sets
88 1.3 cgd are already on your disk, because you've transferred them
89 1.3 cgd before starting the upgrade process, you don't need to
90 1.3 cgd transfer them again now!)
91 1.1 cgd
92 1.1 cgd After the software has been transferred to the machine (or
93 1.1 cgd mounted, in the case of upgrading via NFS), change into the
94 1.5 jtc directory containing the "base12" distribution set. Once you
95 1.3 cgd are there, run the "Set_tmp_dir" command, and hit return at
96 1.3 cgd the prompt to select the default answer for the temporary
97 1.1 cgd directory's path name. (It should be the path name of the
98 1.1 cgd directory that you're in.)
99 1.1 cgd
100 1.5 jtc Run the command "Extract base12" to upgrade the base
101 1.1 cgd distribution.
102 1.1 cgd
103 1.1 cgd Repeat the above two steps for all of the sets you wish to
104 1.1 cgd upgrade. (For each, change into the directory containing the
105 1.1 cgd set, run "Set_tmp_dir" and accept the default path name, then
106 1.1 cgd run the "Extract <setname>" command.)
107 1.1 cgd
108 1.1 cgd If you were previously using the security distribution set,
109 1.1 cgd you MUST upgrade to the new version, or you will not be able
110 1.1 cgd to log in when the upgrade process is complete. Similarly, if
111 1.1 cgd you were not previously using the security set, you must NOT
112 1.1 cgd upgrade to the new version.
113 1.1 cgd
114 1.1 cgd When you are done upgrading all of the distribution sets you
115 1.1 cgd wish to upgrade, issue the command "Cleanup". It will clean
116 1.1 cgd up the installation, by remaking some system databases. When
117 1.1 cgd it is complete, you should use "halt" to halt the system.
118 1.1 cgd
119 1.5 jtc When the system is halted, remove the "upgr12" floppy from
120 1.5 jtc the floppy drive, and replace it with the NetBSD 1.2
121 1.1 cgd kernel-copy floppy that you previously booted from. Reboot
122 1.1 cgd with that floppy.
123 1.1 cgd
124 1.1 cgd Once again, you will be prompted to insert a file system
125 1.1 cgd floppy. DO NOT replace the kernel-copy floppy, just hit any
126 1.1 cgd key.
127 1.1 cgd
128 1.1 cgd Again, While booting, you may see several warnings. You may
129 1.1 cgd be warned that no swap space is present, that init(8) cannot
130 1.1 cgd find /etc/rc, and that one or more databases with names like
131 1.1 cgd "pwd.db" cannot be found. Do not be alarmed, as, again, these
132 1.1 cgd are completely normal. Hit return at the prompt asking you
133 1.1 cgd for a shell name.
134 1.1 cgd
135 1.1 cgd You will be presented with a shell prompt, at which you should
136 1.1 cgd enter the "copy_kernel" command. It will ask you what
137 1.1 cgd partition to copy the kernel to, and you should reply with the
138 1.1 cgd name of your root partition (e.g. sd0a or wd0a).
139 1.1 cgd
140 1.1 cgd You will be asked if you are sure that you want to copy the
141 1.1 cgd kernel. Reply affirmatively, and it will check the file
142 1.1 cgd system on your root partition, mount it, and copy the kernel.
143 1.1 cgd Once the kernel is copied, you should use "halt" to halt the
144 1.1 cgd system.
145 1.1 cgd
146 1.1 cgd Once the system is halted, remove the kernel-copy floppy from
147 1.1 cgd the floppy disk drive, and hit any key to reboot.
148 1.1 cgd
149 1.5 jtc Your system has now been upgraded to NetBSD 1.2.
150 1.1 cgd
151 1.4 jtc After a new kernel has been copied to your hard disk, your
152 1.5 jtc machine is a complete NetBSD 1.2 system. However, that
153 1.1 cgd doesn't mean that you're finished with the upgrade process.
154 1.1 cgd There are several things that you should do, or might have to
155 1.1 cgd do, to insure that the system works properly.
156 1.1 cgd
157 1.1 cgd First, if you did not upgrade your file systems to the new
158 1.4 jtc file system format during the upgrade process, and you are
159 1.4 jtc upgrading from a pre-1.0 NetBSD, you may want to do so now,
160 1.4 jtc with "fsck -c 2". If you are unsure about the process, it's
161 1.4 jtc suggested that you read the fsck(8) manual page.
162 1.1 cgd
163 1.5 jtc Second, you will probably want to get the etc12 distribution,
164 1.1 cgd extract it, and compare its contents with those in your /etc/
165 1.1 cgd directory. You will probably want to replace some of your
166 1.1 cgd system configuration files, or incorporate some of the changes
167 1.1 cgd in the new versions into yours.
168 1.1 cgd
169 1.1 cgd Third, you will probably want to update the set of device
170 1.1 cgd nodes you have in /dev. If you've changed the contents of
171 1.1 cgd /dev by hand, you will need to be careful about this, but if
172 1.1 cgd not, you can just cd into /dev, and run the command "sh
173 1.1 cgd MAKEDEV all".
174 1.1 cgd
175 1.1 cgd Fourth, you must deal with certain changes in the formats of
176 1.1 cgd some of the configuration files. The most notable change is
177 1.1 cgd that the "options" given to many of the file systems in
178 1.1 cgd /etc/fstab or by hand have changed, and some of the file
179 1.4 jtc systems have changed names. *IMPORTANT*: ANY INSTANCES OF "ufs"
180 1.4 jtc IN /etc/fstab MUST BE CHANGED TO "ffs". To find out what the
181 1.4 jtc new options are, it's suggested that you read the manual page
182 1.4 jtc for the file systems' mount commands, for example mount_nfs(8)
183 1.4 jtc for NFS. (Note that the information for mounts of type "ffs",
184 1.1 cgd i.e. Fast File Systems, are contained in the mount(8) man
185 1.1 cgd page.)
186 1.1 cgd
187 1.1 cgd Finally, you will want to delete old binaries that were part
188 1.1 cgd of the version of NetBSD that you upgraded from and have since
189 1.4 jtc been removed from the NetBSD distribution. If you are
190 1.4 jtc upgrading from a pre-1.0 NetBSD, you might also
191 1.1 cgd want to recompile any locally-built binaries, to take
192 1.1 cgd advantage of the shared libraries. (Note that any new
193 1.1 cgd binaries that you build will be dynamically linked, and
194 1.1 cgd therefore take advantage of the shared libraries, by default.
195 1.1 cgd For information on how to make statically linked binaries,
196 1.1 cgd see the cc(1) and ld(1) manual pages.)
197