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