1dnl $OpenBSD: install,v 1.53 2020/07/05 22:27:48 tj Exp $ 2OpenBSDInstallPrelude 3 4There are several ways to install OpenBSD onto a disk. The easiest way 5in terms of preliminary setup is to use an OpenBSD installation CD-ROM 6or an installation floppy (if your machine can boot from floppy). 7 8If your machine is hooked up to a network, try and find a server to 9arrange for a diskless setup. This is a convenient way to install on a 10machine whose disk does not currently hold a usable operating system. 11This is difficult to get set up correctly the first time, but easy to 12use afterwards. (See ``Installing using a diskless setup'' below.) 13 14Booting from the Installation Media: 15 16Prior to attempting an installation, you should make sure that everything 17of value on the target system has been backed up. While installing OpenBSD 18does not necessarily wipe out all the partitions on the hard disk, errors 19during the install process can have unforeseen consequences and you will 20probably render the system unbootable if you start, but do not complete 21the installation. Having the installation media for the prior installation, 22be it a Solaris or OpenBSD CD-ROM or OpenBSD install diskettes, is good 23insurance if you want to be able to "go back" for some reason. 24 25After taking care of all that, bring your system down gracefully using 26the shutdown(8) and/or halt(8) commands. This will get you to the monitor 27prompt. 28 29 30Booting from Floppy Disk installation media: 31 32 ok boot floppy bsd 33 34This will cause the kernel contained in the floppy to be booted. 35Not all systems are able to boot from floppy; also, Ultra 1, 1E, and 2 36systems might need a firmware update to be able to boot from floppy; 37refer to the ``Updating your firmware'' section earlier in 38this document for details. 39 40 41Booting From CD-ROM installation media: 42 43dnl No args! not a typo 44 ok boot cdrom 45 46If the boot is successful, you will get a loader version message, 47executable sizes, and then the kernel copyright and device probe 48messages. Boot failure modes are typically a lot of CD-ROM drive 49activity, but no messages or complaints about magic numbers, 50checksums or formats. 51 52 53Booting from disk: 54 55Boot the miniroot by typing the appropriate command at the PROM: 56 57 ok boot disk:b bsd 58 59If you've loaded the miniroot onto some other disk than the default 60drive 0, modify the boot specifier accordingly, keeping in mind the 61partition naming a=0, b=1... 62 63 ok boot disk1:b bsd # example - scsi target 1 or 64 # second ide drive 65 66 67Installing using a diskless setup: 68 69First, you must set up a diskless client configuration on a server. If 70you are using an OpenBSD system as the boot-server, have a look at the 71diskless(8) manual page for guidelines on how to proceed with this. 72If the server runs another operating system, you'll have to consult 73documentation that came with it (on SunOS systems, add_client(8) and 74the Sun System/Networks administrators guide constitute a good start; 75on Solaris systems, share(1M) is a good starting point as well). 76 77 78Boot your workstation from the server by entering the appropriate `boot' 79command at the monitor prompt: 80 81 ok boot net bsd.rd 82 83 84Installing using the Floppy, CD-ROM, miniroot or netboot procedure: 85 86OpenBSDInstallPart2 87 88 Boot your machine from the installation media as described above. 89 90 It will take a while to load the kernel especially from a floppy 91 or slow network connection, most likely more than a minute. If 92 some action doesn't eventually happen, or the spinning cursor has 93 stopped and nothing further has happened, either your boot media 94 is bad, your diskless setup isn't correct, or you may have 95 a hardware or configuration problem. 96 97OpenBSDInstallPart3 98 99OpenBSDInstallPart4 100 101OpenBSDInstallPart5 102 103OpenBSDInstallPart6({:-CD-ROM, -:}) 104 105OpenBSDURLInstall 106 107OpenBSDCDROMInstall 108 109OpenBSDDISKInstall({:-"wdN" or -:},{:-only -:}) 110 111OpenBSDCommonInstall 112 113OpenBSDInstallWrapup 114 115After completing an installation: 116 117Now try a reboot. (If needed, swap your SCSI IDs first). 118 119The UltraSPARC OpenFirmware will normally load the kernel from the device 120and filename as instructed by the ``boot-device'' and ``boot-file'' 121variables. If the ``boot-file'' variable is empty, the OpenBSD bootloader 122will look for a kernel named ``bsd'', unless a different filename has been 123specified in the boot command. To reset this variable to its default, 124empty, value, type the following: 125 126 ok set-default boot-file 127 128 129OpenBSDCongratulations 130 131 132Net Boot or Diskless Setup Information: 133 134The setup is similar to the diskless setup, but not identical, because 135the Sun setup assumes that the bootblocks load a kernel image, which then 136uses NFS to access the exported root partition, while the OpenBSD bootblocks 137use internal NFS routines to load the kernel image directly from the 138exported root partition. 139 140Please understand that no one gets this right the first try, since 141there is a lot of setup and all the host daemons must be running and 142configured correctly. If you have problems, extract the diskless(8) 143manpage, find someone who's been through it before and use the host 144syslog and tcpdump(8) to get visibility of what's happening (or not). 145 146Your UltraSPARC expects to be able to download a second stage bootstrap 147program via TFTP after having acquired its IP address through RevARP when 148instructed to boot "over the net". It will look for a filename composed of 149the machine's IP address. For example, a machine which has been assigned IP 150address 130.115.144.11 will make a TFTP request for `8273900B'. 151Normally, this file is a symbolic link to an appropriate second-stage 152boot program, which should be located in a place where the TFTP daemon 153can find it (remember, many TFTP daemons run in a chroot'ed environment). 154 155You can find the boot program in `/usr/mdec/boot' in the OpenBSD/MACHINE 156distribution. 157 158After the boot program has been loaded into memory and given control by 159the PROM, it starts locating the machine's remote root directory through 160the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast 161on the local net. The answer to this request (if it comes in) contains 162the client's name. This name is used in the next step, a BOOTPARAM GETFILE 163request -- sent to the server that responded to the WHOAMI request -- 164requesting the name and address of the machine that will serve the client's 165root directory, as well as the path of the client's root on that server. 166 167Finally, this information (if it comes in) is used to issue a REMOTE MOUNT 168request to the client's root filesystem server, asking for an NFS file 169handle corresponding to the root filesystem. If successful, the boot 170program starts reading from the remote root filesystem in search of the 171kernel which is then read into memory. 172 173You will want export the miniroot{:--:}OSrev.img filesystem to the client. You 174can dd this filesystem image to some spare partition, mount and export 175that partition, or use tar to copy the contents to a more convenient spot. 176 177Alternatively you can build a bootable partition from the distribution sets 178as follows: 179 180Unpack `base{:--:}OSrev.tgz' on the server in the root directory for your 181target machine. If you elect to use a separately NFS-mounted filesystem for 182`/usr' with your diskless setup, make sure the "./usr" base files in 183base{:--:}OSrev.tgz end up in the correct location. One way to do this is 184to temporarily use a loopback mount on the server, re-routing <root>/usr to 185your server's exported OpenBSD "/usr" directory. Also put the kernel and 186the install/upgrade scripts into the root directory. 187 188A few configuration files need to be edited: 189 190 <root>/etc/hosts 191 Add the IP addresses of both server and client. 192 193 <root>/etc/myname 194 This files contains the client's hostname; use the same 195 name as in <root>/etc/hosts. 196 197 <root>/etc/fstab 198 Enter the entries for the remotely mounted filesystems. 199 For example: 200 server:/export/root/client / nfs rw 0 0 201 server:/export/exec/MACHINE.OpenBSD /usr nfs rw 0 0 202 203OpenBSDInstNFS 204 205 206 207OpenBSDUnattendedInstallation 208