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