install revision 1.1 1 1.1 cjs
2 1.1 cjs 0. Introduction
3 1.1 cjs
4 1.1 cjs This is the first release of NetBSD/alpha, and the installation
5 1.1 cjs program is still rather primitive. It also hasn't been tested
6 1.1 cjs very well, so there may be bugs in it. However, if you have
7 1.1 cjs problems, don't despair; most problems you might encounter are
8 1.1 cjs very easy to fix. We suggest you join the port-alpha list (see
9 1.1 cjs the section on mailing lists on www.netbsd.org) and ask questions
10 1.1 cjs there. Also report problem you've gotten around there or by using
11 1.1 cjs send-pr so that they can be fixed for the next release.
12 1.1 cjs
13 1.1 cjs 1. General
14 1.1 cjs
15 1.1 cjs The following is a walk-through of the steps you will take
16 1.1 cjs while getting NetBSD installed on your hard disk. It's divided
17 1.1 cjs into three basic components: booting NetBSD (section 2 below),
18 1.1 cjs preparing the disk (section 3 below), and loading the operating
19 1.1 cjs system files onto the disk (section 4 below).
20 1.1 cjs
21 1.1 cjs 2. Booting NetBSD
22 1.1 cjs
23 1.1 cjs You have two choices of how to boot your machine. If you have a
24 1.1 cjs floppy drive, you may boot from that. This is probably the simplest
25 1.1 cjs way of getting started. If you don't have a floppy drive, you will
26 1.1 cjs need to set yourself up for a boot from a file server on the
27 1.1 cjs network, which is a little more complex.
28 1.1 cjs
29 1.1 cjs 2.1 Making and Booting a Floppy
30 1.1 cjs
31 1.1 cjs The 3.5", 1.44 MB boot floppy image is found under the
32 1.1 cjs NetBSD/alpha _VER distribution directory in the file
33 1.1 cjs alpha/installation/floppy/floppy-144. You need to take this disk
34 1.1 cjs image and put it on a floppy disk.
35 1.1 cjs
36 1.1 cjs If you have a Unix system handy, you can do this with a command
37 1.1 cjs like the following:
38 1.1 cjs
39 1.1 cjs dd if=floppy-144 of=/dev/rfd0a
40 1.1 cjs
41 1.1 cjs If the Unix system you are using is not a NetBSD system, you will
42 1.1 cjs probably need to replace `/dev/rfd0a' with the name of the floppy
43 1.1 cjs device on your particular system.
44 1.1 cjs
45 1.1 cjs If you have an MS-DOS or Windows system available, you can use the
46 1.1 cjs `rawrite.exe' utility to transfer the image to a floppy disk. This
47 1.1 cjs utility is provided with the NetBSD/i386 install tools, under
48 1.1 cjs i386/installation/misc; a documentation file, `rawrite.doc' is
49 1.1 cjs available there as well.
50 1.1 cjs
51 1.1 cjs Once the floppy has been made, you simply need to put it in the
52 1.1 cjs drive and type
53 1.1 cjs
54 1.1 cjs boot dva0
55 1.1 cjs
56 1.1 cjs Now you may skip to section 3.
57 1.1 cjs
58 1.1 cjs 2.2 Booting over the Network
59 1.1 cjs
60 1.1 cjs Booting NetBSD/alpha _VER over a network requires a BOOTP server,
61 1.1 cjs a TFTP server and an NFS server. (These are usually all run on
62 1.1 cjs the same machine.) There are three basic stages to the boot:
63 1.1 cjs
64 1.1 cjs 1.The Alpha console software sends a BOOTP request to get its own
65 1.1 cjs address, the address of the TFTP server and the file to
66 1.1 cjs download. It downloads this file, which is the second stage
67 1.1 cjs bootstrap, via TFTP and then executes it.
68 1.1 cjs
69 1.1 cjs 2.The second stage bootstrap uses further information in the BOOTP
70 1.1 cjs packet that the console received to find the NFS server and path
71 1.1 cjs and retreive the kernel (the file /netbsd). After loading the
72 1.1 cjs kernel into memory, it executes it.
73 1.1 cjs
74 1.1 cjs 3.The kernel probes and configures the devices, and then sends
75 1.1 cjs out another BOOTP request so it can find out its address, the NFS
76 1.1 cjs server, and path. (The kernel probably should get this information
77 1.1 cjs from the console, but it currently doesn't.) It then mounts its
78 1.1 cjs root via NFS and continues.
79 1.1 cjs
80 1.1 cjs 2.2.1 Setting Up the Server
81 1.1 cjs
82 1.1 cjs You will need to set up your server to serve BOOTP, TFTP and NFS.
83 1.1 cjs
84 1.1 cjs The NFS setup is quite simple. If you want to run a full system
85 1.1 cjs from the network, untar the NetBSD snapshot or distribution into
86 1.1 cjs a directory on your server and NFS export that directory to the
87 1.1 cjs client. (Make sure you put a kernel there as well.)
88 1.1 cjs
89 1.1 cjs You'll want to map root to `root' (rather than the default
90 1.1 cjs `nobody') when you export your root filesystem. A typical
91 1.1 cjs /etc/exports line on a NetBSD system would be:
92 1.1 cjs
93 1.1 cjs /usr/export/alpha -maproot=0 myclient.mydom.com
94 1.1 cjs
95 1.1 cjs If you just want to get the install kernel loaded so that you
96 1.1 cjs can download sets to the local hard drive of that machine, you
97 1.1 cjs need nothing other than the install kernel in the NFS root
98 1.1 cjs directory on your server.
99 1.1 cjs
100 1.1 cjs For the TFTP setup, you need to copy the second stage bootstrap,
101 1.1 cjs netboot, into an appropriately named file (I use boot.netbsd.alpha)
102 1.1 cjs in the directory used by your TFTP server. If you extracted a full
103 1.1 cjs snapshot, you can get the netboot program from /usr/mdec/netboot;
104 1.1 cjs if not, you can get this from the installation/netboot directory
105 1.1 cjs where you found the alpha distribution.
106 1.1 cjs
107 1.1 cjs For the BOOTP server you need to specify the:
108 1.1 cjs
109 1.1 cjs hardware type (Ethernet)
110 1.1 cjs hardware address (Ethernet MAC address)
111 1.1 cjs IP address of the client
112 1.1 cjs subnet mask of the client
113 1.1 cjs address of of the TFTP/NFS server
114 1.1 cjs name of the second stage bootstrap loaded via TFTP
115 1.1 cjs path to the root for the client (mounted via NFS)
116 1.1 cjs
117 1.1 cjs Here's an example for a Unix system running bootpd:
118 1.1 cjs
119 1.1 cjs myhost.mydom.com:\
120 1.1 cjs :ht=ethernet:ha=0000c0391ae4:\
121 1.1 cjs :ip=192.168.1.2:sm=255.255.255.0:\
122 1.1 cjs :sa=192.168.1.1:bf=boot.netbsd.alpha:rp=/usr/export/alpha:
123 1.1 cjs
124 1.1 cjs 2.2.2 The Alpha Console
125 1.1 cjs
126 1.1 cjs The only Ethernet device the console on most Alpha systems knows
127 1.1 cjs how to boot from is the onboard Ethernet interface or a DEC Tulip
128 1.1 cjs (21040, 21041, 21140) based PCI Ethernet card. I've tested an
129 1.1 cjs older SMC 100 Mbps card that uses this chip and it works fine.
130 1.1 cjs Many older systems will not be able to use the newer 2.0 stepping
131 1.1 cjs of the 21140, however. If your system appears not to be receiving
132 1.1 cjs packets, this may be the problem.
133 1.1 cjs
134 1.1 cjs Once you're set up, you should be able to boot with:
135 1.1 cjs
136 1.1 cjs boot ewa0
137 1.1 cjs
138 1.1 cjs 3. Preparing the Disk
139 1.1 cjs
140 1.1 cjs If you're going to be running a diskless machine, the steps so
141 1.1 cjs far have prepared you to run, and you can skip to section 5
142 1.1 cjs ("Configuration") below.
143 1.1 cjs
144 1.1 cjs If you are going to run NetBSD from a local hard drive, however,
145 1.1 cjs this hard drive needs to be prepared. This preparation consists
146 1.1 cjs of putting a label on the disk, which includes information on
147 1.1 cjs the sizes and placement of the partition into which the disk
148 1.1 cjs is divided, putting the boot blocks on the disk, and initialising
149 1.1 cjs the filesystems on the partitions. This work is done by the
150 1.1 cjs `install' script from the boot floppy (or boot kernel, if you
151 1.1 cjs booted it via NFS with the INSTALL kernel).
152 1.1 cjs
153 1.1 cjs 3.1 Running Install
154 1.1 cjs
155 1.1 cjs When you first boot the INSTALL kernel you will be given the
156 1.1 cjs options of `install' or `shell'. Choose `install' and the
157 1.1 cjs install script will start.
158 1.1 cjs
159 1.1 cjs If, at any time, you have made a mistake in the install script
160 1.1 cjs and want to abort, press ^C. This will take you to a shell
161 1.1 cjs prompt. You can then restart the install script by typing
162 1.1 cjs `/install', or halt the machine by typing `halt'.
163 1.1 cjs
164 1.1 cjs 3.1 Answering the Install Questions
165 1.1 cjs
166 1.1 cjs These will for the most part be fairly obvious. You may install
167 1.1 cjs on either a SCSI or an IDE disk, and you will be prompted for
168 1.1 cjs the disk to install on. The disks in your system will be numbered
169 1.1 cjs starting at xd0 (where x is an `s' for SCSI disks, `w' for IDE
170 1.1 cjs disks) based on the SCSI ID or IDE drive order; if you have
171 1.1 cjs more than one disk, watch the boot messages carefully to see
172 1.1 cjs which ones are probed as which numbers.
173 1.1 cjs
174 1.1 cjs Once you've selected a disk to install on, you'll be prompted
175 1.1 cjs for the geometry. This is also displayed in the boot messages,
176 1.1 cjs and you'll be given a chance to review the boot messages again
177 1.1 cjs to get the exact figures for the number of cylinders, heads
178 1.1 cjs and sectors.
179 1.1 cjs
180 1.1 cjs After this you must specify the size of your partitions.
181 1.1 cjs Generally you'll be giving the sizes in cylinders; the install
182 1.1 cjs program will tell you how many bytes there are in each cylinder.
183 1.1 cjs
184 1.1 cjs The swap partition is the second thing you specify, after the
185 1.1 cjs root partition. Regardless of the size of your disk, you'll
186 1.1 cjs want to specify a swap partition that's at least as large as
187 1.1 cjs the amount of RAM you have, and probably not less than 64 MB
188 1.1 cjs in any case.
189 1.1 cjs
190 1.1 cjs If you have a small disk (under 500 MB), it's probably best to
191 1.1 cjs devote all of the disk (excepting 64 MB or more for the swap)
192 1.1 cjs to the root partition.
193 1.1 cjs
194 1.1 cjs If you have more space, we recommend devoting at least 32 MB,
195 1.1 cjs and preferably 48 MB, to the root partition. /usr will need
196 1.1 cjs 150 MB or so if you're not installing X, 200 MB or so if you
197 1.1 cjs are.
198 1.1 cjs
199 1.1 cjs Once you've specified this information, the install script will
200 1.1 cjs write the disklabel, install boot blocks to make the disk
201 1.1 cjs bootable, initialise the filesystems, and mount them all under
202 1.1 cjs /mnt. You're now ready to go on to the next step.
203 1.1 cjs
204 1.1 cjs 4. Installing NetBSD
205 1.1 cjs
206 1.1 cjs To install NetBSD you'll have to get access to the tar files
207 1.1 cjs that contain the operating system, and extract them to your
208 1.1 cjs disk. You can get access to the tar files through either a
209 1.1 cjs network or from a CD-ROM.
210 1.1 cjs
211 1.1 cjs 4.1 Preparing to Install from a CD-ROM
212 1.1 cjs
213 1.1 cjs All you need to do is mount the CD-ROM, which will generally
214 1.1 cjs be device cd0. (The initial boot messages will tell you what
215 1.1 cjs the CD-ROM drive as probed as.) This would be done with:
216 1.1 cjs
217 1.1 cjs mount -r -t cd9660 /dev/cd0a /mnt2
218 1.1 cjs
219 1.1 cjs 4.2 Preparing to Install from the Network
220 1.1 cjs
221 1.1 cjs The first thing you need to do is configure the loopback network
222 1.1 cjs interface, which is done with the command
223 1.1 cjs
224 1.1 cjs ifconfig lo0 127.0.0.1
225 1.1 cjs
226 1.1 cjs Then you will have to configure your Ethernet card. The command
227 1.1 cjs
228 1.1 cjs ifconfig -l
229 1.1 cjs
230 1.1 cjs will give you a list of the network interfaces on your system.
231 1.1 cjs It will show you your ethernet cards first, followed by lo0
232 1.1 cjs (the loopback interface that we configured above), ppp0 (the
233 1.1 cjs PPP interface) and sl0 (the SLIP interface).
234 1.1 cjs
235 1.1 cjs To configure your ethernet card, type
236 1.1 cjs
237 1.1 cjs ifconfig <if> inet <addr> [netmask <netmask>] [media <media>]
238 1.1 cjs
239 1.1 cjs Where <if> is the network card (interface), <addr> is the IP
240 1.1 cjs address, the optional <netmask> parameter is the network mask,
241 1.1 cjs and the optional <media> parameter is one of:
242 1.1 cjs
243 1.1 cjs 10base2 BNC connector, 10 Mbps
244 1.1 cjs AUI AUI connector, 10 Mbps
245 1.1 cjs 10baseT Twisted pair connector, 10 Mbps
246 1.1 cjs 100baseTX Twisted pair connector, 100 Mbps
247 1.1 cjs 100baseFX Fibre-optic connector, 100 Mbps
248 1.1 cjs 100baseT4 T4 twisted pair interface, 100 Mbps
249 1.1 cjs
250 1.1 cjs If the host you are getting the data files from is not on the
251 1.1 cjs local network, you will also have to configure a gateway into
252 1.1 cjs your system. Do this with
253 1.1 cjs
254 1.1 cjs route add default <gateway-IP-address>
255 1.1 cjs
256 1.1 cjs If you will need name services you can set up a /etc/resolv.conf
257 1.1 cjs file for those with a `nameserver <ip-address>' line in it, e.g.:
258 1.1 cjs
259 1.1 cjs echo "nameserver 198.41.0.4" >>/etc/resolv.conf
260 1.1 cjs
261 1.1 cjs Once networking has been configured, you may mount the directory
262 1.1 cjs with the install files via NFS, or download them via FTP.
263 1.1 cjs
264 1.1 cjs To mount them via nfs, type
265 1.1 cjs
266 1.1 cjs mount -t nfs <hostname:/path/to/nfs/volume> /mnt2
267 1.1 cjs
268 1.1 cjs If this volume has been exported read-only, you may need the
269 1.1 cjs `-r' option to mount.
270 1.1 cjs
271 1.1 cjs To download the install sets with ftp, create a directory in
272 1.1 cjs which to put them and then use the ftp client to download them.
273 1.1 cjs A typical session might be:
274 1.1 cjs
275 1.1 cjs mkdir /mnt/var/tmp
276 1.1 cjs cd /mnt/var/tmp
277 1.1 cjs ftp ftp.netbsd.org
278 1.1 cjs [all the following commmands are given to the ftp program
279 1.1 cjs after logging in]
280 1.1 cjs prompt
281 1.1 cjs cd /pub/NetBSD/NetBSD-1.3/alpha/binary/sets
282 1.1 cjs mget *
283 1.1 cjs cd /pub/NetBSD/NetBSD-1.3/alpha/binary/kernel
284 1.1 cjs get netbsd-GENERIC.gz
285 1.1 cjs cd /pub/NetBSD/NetBSD-1.3/alpha/binary/toolchain
286 1.1 cjs get netbsd-GENERIC.gz
287 1.1 cjs bye
288 1.1 cjs
289 1.1 cjs Feel free, of course, to leave off the sets that you don't need
290 1.1 cjs if you don't install everything.
291 1.1 cjs
292 1.1 cjs You are now ready to proceed to step 4.3.
293 1.1 cjs
294 1.1 cjs 4.3 Extracting the Operating System Files
295 1.1 cjs
296 1.1 cjs This is quite simple. Change to the root directory of your hard
297 1.1 cjs drive (which is /mnt if you've used the standard install script
298 1.1 cjs to this point) by typing
299 1.1 cjs
300 1.1 cjs cd /mnt
301 1.1 cjs
302 1.1 cjs Then extract the kernel with:
303 1.1 cjs
304 1.1 cjs zcat /mnt/var/tmp/netbsd-GENERIC.gz >/mnt/netbsd
305 1.1 cjs
306 1.1 cjs For this and the following commands, replace `/mnt/var/tmp/'
307 1.1 cjs with the path to your NFS volume or CD-ROM if that's how you
308 1.1 cjs chose to access your install files instead.
309 1.1 cjs
310 1.1 cjs The sets are extracted with
311 1.1 cjs
312 1.1 cjs for file in base comp etc games man misc text; do
313 1.1 cjs tar --unlink -t -z -f /mnt/var/tmp/$file;
314 1.1 cjs done
315 1.1 cjs
316 1.1 cjs and the toolchain with
317 1.1 cjs
318 1.1 cjs tar --unlink -t -z -f /mnt/var/tmp/toolchain.tar.gz
319 1.1 cjs
320 1.1 cjs You will now be ready to reboot from your hard disk. Type `sync'
321 1.1 cjs twice to make sure all the data is written out to disk and then
322 1.1 cjs type `halt' to halt your system and go back to the monitor. At
323 1.1 cjs this point you should be able to reboot your system with
324 1.1 cjs
325 1.1 cjs boot dka0
326 1.1 cjs
327 1.1 cjs (or `boot dka100' if your disk drive is on ID 1, etc.). Your
328 1.1 cjs system will come up in single-user mode, ready for you to
329 1.1 cjs configure it.
330 1.1 cjs
331 1.1 cjs 5. Configuring NetBSD
332 1.1 cjs
333 1.1 cjs Configuring your NetBSD system requires editing the /etc/rc.conf
334 1.1 cjs file. Most of this file is fairly self-explanatory, but you
335 1.1 cjs can `man rc.conf' for further explanations. Remember to set
336 1.1 cjs `rc_configured' to YES so you will boot multi-user, set `hostname'
337 1.1 cjs and possibly `defaultroute', and add an ifconfig_int for your
338 1.1 cjs interface <int>, along the lines of
339 1.1 cjs
340 1.1 cjs ifconfig_de0="inet myname.my.dom 123.45.67.89 netmask 255.255.255.0"
341 1.1 cjs
342 1.1 cjs You will also want either to run named or add an /etc/resolv.conf
343 1.1 cjs file (`man resolv.conf' for information on this), use `vipw' to add
344 1.1 cjs accounts to your system, edit /etc/aliases to forward root mail to
345 1.1 cjs the right place (run `newaliases' afterwards) and edit /etc/rc.local
346 1.1 cjs to run any local daemons you use.
347