install revision 1.8
1 $NetBSD: install,v 1.8 1998/05/15 03:28:55 ross Exp $ 2 30. Introduction 4 5 It's getting easier with every release to install NetBSD/alpha. 6 If you do have problems, don't despair; most complications you 7 might encounter are very easy to fix. We strongly suggest you 8 join the port-alpha list (see the section on mailing lists on 9 http://www.netbsd.org) and ask questions there. Also, please 10 report any problems you've encountered or solved by using the 11 mailing list or by running send-pr(1) so that they can be fixed 12 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 bs=18k 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. This utility is provided with the NetBSD/i386 install 49 tools, under i386/installation/misc; a documentation file, 50 `rawrite.doc' is available there as well. 51 52 Once the floppy has been made, you simply need to put it in the 53 drive and type 54 55 boot dva0 56 57 Now you may skip to section 3. 58 592.2 Booting over the Network 60 61 Booting NetBSD/alpha _VER over a network requires a BOOTP or 62 DHCP server, a TFTP server and an NFS server. (These are usually 63 all run on the same machine.) There are three basic stages to 64 the boot: 65 66 1.The Alpha console software sends a BOOTP request to get its 67 own 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 secondary boot program resends the BOOTP request, this 72 time also locating the NFS server and root path. It mounts the 73 root path via NFS and reads in and transfers to the kernel: /netbsd. 74 75 3.The kernel probes and configures the devices, and then sends 76 out another BOOTP request so it can find out its address, the NFS 77 server, and path. (The kernel probably should get this information 78 from the console, but it currently doesn't.) It then mounts its 79 root via NFS and continues. 80 812.2.1 Setting Up the Server 82 83 You will need to set up your server to serve BOOTP, TFTP and NFS. 84 85 The NFS setup is quite simple. If you want to run a full system 86 from the network, untar the NetBSD snapshot or distribution 87 into a directory on your server and NFS export that directory 88 to the client. (Make sure you put a kernel there as well, and 89 create the device nodes in /dev with `sh ./MAKEDEV all'. Detailed 90 instructions on netbooting can be found by visiting the 91 Alpha platform page of www.NetBSD.org. At the time of this 92 release, the URL for the netbooting instructions is: 93 94 http://www.netbsd.org/Ports/alpha/netboot.html 95 96 You'll want to map root to `root' (rather than the default 97 `nobody') when you export your root filesystem. A typical 98 /etc/exports line on a NetBSD system would be: 99 100 /usr/export/alpha -maproot=0 myclient.mydom.com 101 102 If you just want to get the install kernel loaded so that you 103 can download sets to the local hard drive of that machine, you 104 need nothing other than the install kernel in the NFS root 105 directory on your server. 106 107 For the TFTP setup, you need to copy the second stage bootstrap, 108 netboot, into an appropriately named file (I use boot.netbsd.alpha) 109 in the directory used by your TFTP server. If you extracted a full 110 snapshot, you can get the netboot program from /usr/mdec/netboot; 111 if not, you can get this from the installation/netboot directory 112 where you found the alpha distribution. 113 114 For the BOOTP server you need to specify the: 115 116 hardware type (Ethernet) 117 hardware address (Ethernet MAC address) 118 IP address of the client 119 subnet mask of the client 120 address of of the TFTP/NFS server 121 name of the second stage bootstrap loaded via TFTP 122 path to the root for the client (mounted via NFS) 123 124 Here's an example for a Unix system running bootpd: 125 126 myhost.mydom.com:\ 127 :ht=ethernet:ha=0000c0391ae4:\ 128 :ip=192.168.1.2:sm=255.255.255.0:\ 129 :sa=192.168.1.1:bf=boot.netbsd.alpha:rp=/usr/export/alpha: 130 131 And here's an example for a Unix system running dhcpd: 132 133 host axp { 134 hardware ethernet 0:0:c0:39:1a:e4; 135 fixed-address 192.168.1.2; 136 option host-name "myhost.mydom.com"; 137 filename "boot.netbsd.alpha"; 138 option root-path "/usr/export/alpha"; 139 option domain-name-servers 192.168.1.1; 140 option broadcast-address 255.255.255.0; 141 option domain-name "my.domain"; 142 } 143 1442.2.2 The Alpha Console 145 146 The only Ethernet device the console on most Alpha systems 147 knows how to boot from is the onboard Ethernet interface or a 148 DEC Tulip (21040, 21041, 21140) based PCI Ethernet card. Some 149 older SMC 100 Mbps cards that use this chip have been known to 150 work as well. Many older systems will not be able to use the 151 newer 2.0 stepping of the 21140, however. If your system appears 152 not to be receiving packets, this may be the problem. (You may 153 or may not be able to update your firmware to fix this; see 154 the alpha port pages on www.netbsd.org for more information on 155 this.) 156 157 Once you're set up, you should be able to boot with: 158 159 boot -proto bootp ewa0 160 161 Systems with the `old SRM' do not have a -proto option and 162 use different device names. 163 1643. Preparing the Disk 165 166 If you're going to be running a diskless machine, the steps so 167 far have prepared you to run, and you can skip to section 5 168 ("Configuration") below. 169 170 If you are going to run NetBSD from a local hard drive, however, 171 this hard drive needs to be prepared. This preparation consists 172 of putting a label on the disk, which includes information on 173 the sizes and placement of the partition into which the disk 174 is divided, putting the boot blocks on the disk, and initialising 175 the filesystems on the partitions. This work is done by the 176 `install' script from the boot floppy (or boot kernel, if you 177 booted it via NFS with the INSTALL kernel). 178 1793.1 Manual Install from the Shell Prompt 180 181 The normal installation involves running the install shell script 182 and interactively configuring the file systems, and then simply 183 unpacking the tar files into these followed by running MAKEDEV. 184 185 However, it is also possible to do the installation yourself 186 from the shell, and in any case it is helpful to understand 187 what the install script does. The procedure is: 188 189 1. create /etc/disktab(5) 190 2. run disklabel(8), 191 3. run newfs(8) 192 4. mount(8) the new root on /mnt 193 5. cd to /usr/mdec and run ./installboot(8) 194 195 If you are reviewing man pages on NetBSD platforms other than 196 alpha, be sure when reading installboot that you read the alpha 197 version by typing: "man 8 alpha/installboot". 198 1993.2 Running Install 200 201 When you first boot the INSTALL kernel you will be given the 202 options of `install' or `shell'. Choose `install' and the 203 install script will start. 204 205 If, at any time, you have made a mistake in the install script 206 and want to abort, press ^C. This will take you to a shell 207 prompt. You can then restart the install script by typing 208 `/install', or halt the machine by typing `halt'. 209 2103.3 Answering the Install Questions 211 212 These will for the most part be fairly obvious. You may install 213 on either a SCSI or an IDE disk, and you will be prompted for 214 the disk to install on. The disks in your system will be numbered 215 starting at xd0 (where x is an `s' for SCSI disks, `w' for IDE 216 disks) based on the SCSI ID or IDE drive order; if you have 217 more than one disk, watch the boot messages carefully to see 218 which ones are probed as which numbers. 219 220 Once you've selected a disk to install on, you'll be prompted 221 for the geometry. This is also displayed in the boot messages, 222 and you'll be given a chance to review the boot messages again 223 to get the exact figures for the number of cylinders, heads 224 and sectors. 225 226 After this you must specify the size of your partitions. 227 Generally you'll be giving the sizes in cylinders; the install 228 program will tell you how many bytes there are in each cylinder. 229 230 The swap partition is the second thing you specify, after the 231 root partition. Regardless of the size of your disk, you'll 232 want to specify a swap partition that's at least as large as 233 the amount of RAM you have, and probably not less than 64 MB 234 in any case. 235 236 If you have a small disk (under 500 MB), it's probably best to 237 devote all of the disk (excepting 64 MB or more for the swap) 238 to the root partition. 239 240 If you have more space, we recommend devoting at least 32 MB, 241 and preferably 48 MB, to the root partition. /usr will need 242 150 MB or so if you're not installing X, 200 MB or so if you 243 are. 244 245 Once you've specified this information, the install script will 246 write the disklabel, install boot blocks to make the disk 247 bootable, initialise the filesystems, and mount them all under 248 /mnt. You're now ready to go on to the next step. 249 2504. Installing NetBSD 251 252 To install NetBSD you'll have to get access to the tar files 253 that contain the operating system, and extract them to your 254 disk. You can get access to the tar files through either a 255 network or from a CD-ROM. 256 2574.1 Preparing to Install from a CD-ROM 258 259 All you need to do is mount the CD-ROM, which will generally 260 be device cd0. (The initial boot messages will tell you what 261 the CD-ROM drive as probed as.) This would be done with: 262 263 mount -r -t cd9660 /dev/cd0a /mnt2 264 2654.2 Preparing to Install from the Network 266 267 The first thing you need to do is configure the loopback network 268 interface, which is done with the command 269 270 ifconfig lo0 127.0.0.1 271 272 Then you will have to configure your Ethernet card. The command 273 274 ifconfig -l 275 276 will give you a list of the network interfaces on your system. 277 It will show you your ethernet cards first, followed by lo0 278 (the loopback interface that we configured above), ppp0 (the 279 PPP interface) and sl0 (the SLIP interface). 280 281 To configure your ethernet card, type 282 283 ifconfig <if> inet <addr> [netmask <netmask>] [media <media>] 284 285 Where <if> is the network card (interface), <addr> is the IP 286 address, the optional <netmask> parameter is the network mask, 287 and the optional <media> parameter is one of: 288 289 10base2 BNC connector, 10 Mbps 290 AUI AUI connector, 10 Mbps 291 10baseT/UTP Twisted pair connector, 10 Mbps 292 100baseTX Twisted pair connector, 100 Mbps 293 100baseFX Fibre-optic connector, 100 Mbps 294 100baseT4 T4 twisted pair interface, 100 Mbps 295 296 If the host you are getting the data files from is not on the 297 local network, you will also have to configure a gateway into 298 your system. Do this with 299 300 route add default <gateway-IP-address> 301 302 In order to save space on the install floppy, the resolver does 303 not implement the DNS protocol, ignores /etc/resolv.conf and 304 does only host table lookups. You can specify all host addresses 305 as IP numbers or you can enter the host names and numbers into 306 /etc/hosts. For example, you can prepare a hosts table beforehand, 307 and ftp(1) it down (by IP number) to /etc/hosts. This is not 308 stored on the floppy but on the temporary ramdisk filesystem, 309 so it must be repeated on any subsequent reboots from floppy. 310 311 Once networking has been configured, you may mount the directory 312 with the install files via NFS, or download them via FTP. 313 314 To mount them via nfs, type 315 316 mount -t nfs <hostname:/path/to/nfs/volume> /mnt2 317 318 If this volume has been exported read-only, you may need the 319 `-r' option to mount. 320 321 To download the install sets with ftp, create a directory in 322 which to put them and then use the ftp client to download them. 323 Mirror sites are listed at: "http://www.netbsd.org/Sites/net.html". 324 A typical session might be: 325 326 mkdir /mnt/var/tmp 327 cd /mnt/var/tmp 328 ftp ftp.netbsd.org 329 [all the following commmands are given to the ftp program 330 after logging in] 331 prompt 332 cd /pub/NetBSD/NetBSD-1.3.2/alpha/binary/sets 333 mget * 334 bye 335 336 Feel free, of course, to leave off the sets that you don't need 337 if you don't plan to install everything. 338 339 You are now ready to proceed to step 4.3. 340 3414.3 Extracting the Operating System Files 342 343 This is quite simple. Change to the root directory of your hard 344 drive (which is /mnt if you've used the standard install script 345 to this point) by typing 346 347 cd /mnt 348 349 For this and the following commands, replace `/mnt/var/tmp/' 350 with the path to your NFS volume or CD-ROM if that's how you 351 chose to access your install files instead. 352 353 The sets and kernel are extracted with 354 355 cd /mnt 356 for file in base kern comp etc games man misc text; do 357 tar xpfz /mnt/var/tmp/$file.tgz; 358 done 359 360 or (but do NOT unpack source/toolchain.tgz from / or /mnt) perhaps: 361 362 cd /mnt 363 for file in /mnt/var/tmp/[a-z]*.tgz; do 364 echo $i 365 tar xpfz $i 366 done 367 368 Now make the device nodes: 369 370 cd /mnt/dev 371 sh ./MAKEDEV all 372 373 You will now be ready to reboot from your hard disk. Type `sync' 374 twice to make sure all the data is written out to disk and then 375 type `halt' to halt your system and go back to the monitor. At 376 this point you should be able to reboot your system with 377 378 boot dka0 379 380 (or `boot dka100' if your disk drive is on ID 1, etc.--you can 381 usually use `show device' to see a full list of bootable devices 382 in your system). Your system will come up in single-user mode, 383 ready for you to configure it. 384 3854.4 Optional Toolchain Source Module 386 387 The source to the toolchain components is available in: 388 389 /pub/NetBSD/NetBSD-1.3.2/alpha/source/toolchain.tgz 390 391 This module unpacks into ./toolchain, so: 392 393 cd /usr/local 394 ftp ftp://hostname/pub/NetBSD/NetBSD-1.3.2/alpha/source/toolchain.tgz 395 tar xpfz toolchain.tgz 396 rm toolchain.rgz 397 398 3995. Configuring NetBSD 400 401 Configuring your NetBSD system requires editing the /etc/rc.conf 402 file. Most of this file is fairly self-explanatory, but you 403 can `man rc.conf' for further explanations. Remember to set 404 `rc_configured' to YES so you will boot multi-user, set `hostname' 405 and possibly `defaultroute', and add an ifconfig_int for your 406 interface <int>, along the lines of 407 408 ifconfig_de0="inet 123.45.67.89 netmask 255.255.255.0" 409 410 or, if you have myname.my.dom in /etc/hosts: 411 412 ifconfig_de0="inet myname.my.dom netmask 255.255.255.0" 413 414 You will also want either to run named or add an /etc/resolv.conf 415 file (`man resolv.conf' for information on this), use `vipw' to add 416 accounts to your system, edit /etc/aliases to forward root mail to 417 the right place (run `newaliases' afterwards) and edit /etc/rc.local 418 to run any local daemons you use. 419