[BACK]Return to install CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / distrib / notes / sparc

Annotation of src/distrib/notes/sparc/install, Revision 1.17

1.17    ! hubertf     1:        $NetBSD: install,v 1.16 1998/01/09 18:47:23 perry Exp $
1.16      perry       2:
1.1       deraadt     3: Installing NetBSD is a relatively complex process, but if you have
                      4: this document in hand it shouldn't be too much trouble.
                      5:
1.11      pk          6: There are several ways to install NetBSD onto a disk. The easiest way
                      7: in terms of preliminary setup is to use the NetBSD miniroot that can
                      8: be booted off your local disk's swap partition. Alternatively, if your
                      9: Sparcstation is hooked up in a network you can find a server and arrange
                     10: for a diskless setup which is a convenient way to install on a machine
                     11: whose disk does not currently hold a usable operating system (see the
1.14      pk         12: section `Installing NetBSD by using a diskless setup' below).
1.11      pk         13:
                     14:
1.14      pk         15: Installing NetBSD by using the NetBSD miniroot.
1.11      pk         16:
                     17: The miniroot is a self-contained NetBSD filesystem holding all utilities
                     18: necessary to install NetBSD on a local disk. It is distributed as a plain
                     19: file designed to be transferred to a raw disk partition from which it can
                     20: be booted using the appropriate PROM command. Usually, the miniroot will
                     21: be loaded into the swap partition of a disk. If needed, you can use any
                     22: other unused partition, but remember that the partition will then not
                     23: available during the installation process.
                     24:
                     25: Loading the miniroot onto your raw partition is simple. On NetBSD as well
                     26: as SunOS you use a command like:
                     27:
1.15      pk         28:        # dd if=miniroot-_VER.fs of=/dev/rsd0b bs=20b conv=sync
1.11      pk         29:
                     30: (here `/dev/rsd0b' is assumed to be your swap partition). There's a
                     31: potential problem here if /dev/rsd0b is actually in use as a swap
                     32: partition by your currently running system. If you don't have another
                     33: disk or partition to spare, you can usually get away with running this
                     34: command anyway after first booting into single-user mode to ensure a
                     35: quiet system.
                     36:
                     37: After transferring the miniroot to disk, bring the system down by:
                     38:
                     39:        # halt
                     40:
                     41: Then boot the miniroot by typing the appropriate command at the PROM:
                     42:
                     43:        > b sd(,,1)netbsd -s                    # for sun4 monitors
                     44:        ok boot sd(,,1)netbsd -s                # for version 1 OpenBOOT ROMs
                     45:        ok boot disk:b netbsd -s                # for version 2 OpenBOOT ROMs
                     46:
                     47: If you've loaded the miniroot onto some other disk than `sd0' adapt
                     48: the boot specifier accordingly, e.g.:
                     49:
                     50:        ok boot disk1:b netbsd -s
                     51:
                     52: to boot from SCSI disk target 1 from a version 2 OpenBOOT ROM.
1.12      pk         53: If you have to use the old-style `sd(c,u,p)' syntax to boot from a
                     54: SCSI disk, you can calculate the parameters as follows:
1.11      pk         55:
1.12      pk         56:        `c'     - specifies the controller number
                     57:        `u'     - the hexadecimal number obtained from evaluating
                     58:                  the expression `(8 * TARGET) + LUN'
                     59:        `p'     - the partition number from which to boot (0=`a', 1=`b', etc).
1.4       pk         60:
1.12      pk         61:
                     62: The monitor boot command will cause the NetBSD kernel contained in the
                     63: miniroot image to be booted. After the initial probe messages you'll be
                     64: asked to start the install or upgrade procedure. Proceed to the section
                     65: `Running the installation scripts' below.
1.5       pk         66:
1.14      pk         67:
                     68: Installing NetBSD by using a diskless setup.
1.4       pk         69:
1.8       pk         70: First, you must setup a diskless client configuration on a server. If
                     71: you are using a NetBSD system as the boot-server, have a look at the
                     72: diskless(8) manual page for guidelines on how to proceed with this.
                     73: If the server runs another operating system, you'll have to consult
                     74: documentation that came with it (on SunOS systems, add_client(8) is a
                     75: good start).
                     76:
1.9       pk         77: Your Sparcstation expects to be able to download a second stage bootstrap
1.11      pk         78: program via TFTP after having acquired its IP address through RevARP when
1.9       pk         79: instructed to boot "over the net". It will look for a filename composed of
                     80: the machine's IP address followed by the machine's architecture, separated
                     81: by a period. For example, a sun4c machine which has been assigned IP
                     82: address 130.115.144.11, will make an TFTP request for `8273900B.SUN4C'.
1.11      pk         83: Normally, this file is a symbolic link to an appropriate second-stage
1.9       pk         84: boot program, which should be located in a place where the TFTP daemon
                     85: can find it (remember, many TFTP daemons run in a chroot'ed environment).
1.14      pk         86: You can find the boot program in `/usr/mdec/boot.net' in the NetBSD/sparc
                     87: distribution.
                     88:
                     89: [ Note that the only difference between `/usr/mdec/boot.net' and
                     90:   `/usr/mdec/boot' is in the a.out header, which has been magically
                     91:   transformed in a way that makes it usable on all versions of
                     92:   Sparc PROMs.
                     93: ]
                     94:
1.11      pk         95:
                     96: After the boot program has been loaded into memory and given control by
                     97: the PROM, it starts locating the machine's remote root directory through
                     98: the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast
                     99: on the local net. The answer to this request (if it comes in) contains
                    100: the client's name. This name is used in next step, a BOOTPARAM GETFILE
                    101: request -- sent to the server that responded to the WHOAMI request --
                    102: requesting the name and address of the machine that will serve the client's
                    103: root directory, as well as the path of the client's root on that server.
                    104:
                    105: Finally, this information (if it comes in) is used to issue a REMOTE MOUNT
                    106: request to the client's root filesystem server, asking for an NFS file
                    107: handle corresponding to the root filesystem. If successful, the boot
                    108: program starts reading from the remote root filesystem in search of the
                    109: kernel which is then read into memory.
1.9       pk        110:
                    111:
1.8       pk        112: As noted above in the section `Preparing your System for NetBSD Installation',
                    113: you have several options when choosing a location to store the installation
                    114: filesets. However, the easiest way is to put the *.tar.gz files you want
                    115: to install into the root directory for your client on the server.
                    116:
                    117: Next, unpack `base.tar.gz' and `etc.tar.gz' on the server in the root
                    118: directory for your machine. If you elect to use a separately NFS-mounted
                    119: filesystem for `/usr' with your diskless setup, make sure the "./usr" base
                    120: files in base.tar.gz end up in the correct location. One way to do this is
                    121: to temporarily use a loopback mount on the server, re-routing <root>/usr to
                    122: your server's exported NetBSD "/usr" directory. Also put the kernel and the
                    123: install/upgrade scripts into the root directory.
1.5       pk        124:
1.4       pk        125: A few configuration files need to be edited:
                    126:
                    127:        <root>/etc/hosts
1.5       pk        128:                Add the IP addresses of both server and client.
                    129:
1.4       pk        130:        <root>/etc/myname
1.5       pk        131:                This files contains the client's hostname; use the same
                    132:                name as in <root>/etc/hosts.
                    133:
1.4       pk        134:        <root>/etc/fstab
1.7       pk        135:                Enter the entries for the remotely mounted filesystems.
                    136:                For example:
                    137:                        server:/export/root/client       /     nfs  rw 0 0
                    138:                        server:/export/exec/sun4.netbsd  /usr  nfs  rw 0 0
1.5       pk        139:
                    140: Now you must populate the the `/dev' directory for your client. If you server
                    141: runs SunOS 4.x, you can simply change your working directory to `<root>/dev'
                    142: and run the MAKEDEV script: `sh MAKEDEV all'.
                    143:
                    144: On SunOS 5.x systems, MAKEDEV can also be used, but there'll be error
                    145: messages about unknown user and groups. These errors are inconsequential
                    146: for the purpose of installing NetBSD. However, you may want to correct them
1.11      pk        147: if you plan to use the diskless setup regularly. In that case, you may re-run
1.5       pk        148: MAKEDEV on your NetBSD machine once it has booted.
1.4       pk        149:
                    150: Boot your workstation from the server by entering the appropriate `boot'
                    151: command at the monitor prompt. Depending on the PROM version in your machine,
                    152: this command takes one of the following forms:
                    153:
                    154:        > b le()netbsd -s               # for sun4 monitors
                    155:        ok boot le()netbsd -s           # for version 1 OpenBOOT ROMs
                    156:        ok boot net netbsd -s           # for version 2 OpenBOOT ROMs
                    157:
                    158: This will boot the NetBSD kernel in single-user mode.
                    159:
                    160: [[
                    161: NOTE: the latter two examples assume you operate the OpenBOOT ROM in
                    162: "new command mode". If your machine comes up and gives you a `>' prompt
                    163: instead of `ok', type:
                    164:
                    165:     >n                                 # enter native OpenBOOT mode
                    166:     ok setenv sunmon-compat? false     # make it permanent
                    167:     ok
                    168: ]]
1.5       pk        169:
                    170: If you use a diskless setup with a separately NFS-mounted /usr filesystem,
                    171: mount /usr by hand now:
                    172:
                    173: netbsd# mount /usr
1.7       pk        174:
                    175: At this point, it's worth checking the disk label and partition sizes on
                    176: the disk you want to install NetBSD onto. NetBSD understands SunOS-style
                    177: disklabels, so if your disk was previously used by SunOS there will be
                    178: a usable label on it. Use `disklabel -e <disk>' (where <disk> is the
                    179: device name assigned by the NetBSD kernel, e.g. `sd0') to view and
1.11      pk        180: modify the partition sizes. See the section `Preparing your System for
                    181: NetBSD Installation' above for suggestions about disk partition sizes.
1.7       pk        182:
1.13      pk        183: If you are installing on a SCSI disk that does *not* have a SunOS or
                    184: NetBSD label on it, you may still be able to use disklabel(8) but you'll
1.7       pk        185: have to create all partitions from scratch. If your disk is listed in
                    186: `/etc/disktab', you may use the entry (which in most cases only defines
                    187: a `c' partition to describe the whole disk) to put an initial label on
1.13      pk        188: the disk. Then proceed with `disklabel -e <disk>' to create a partition
                    189: layout that suits your needs.
                    190:
                    191: NOTE: Because of the built-in compatibility with SunOS-style labels,
                    192: ALWAYS MAKE SURE ALL YOUR PARTITIONS START AND END ON CYLINDER BOUNDARIES.
                    193:
1.7       pk        194:
1.8       pk        195: Here follows an example of what you'll see while in the dislabel editor.
                    196: Do not touch any of the parameters except for the `label: ' entry and
                    197: the actual partition size information at the bottom (the lines starting
                    198: with `a:', `b:', ...).
                    199:
                    200: The size and offset fields are given in sector units. Be sure to make
                    201: these numbers multiples of the of the number of sectors per cylinder:
                    202: the kernel might be picky about these things, but aside from this you'll
                    203: have the least chance of wasting disk space.
1.11      pk        204: Partitions on which you intend to have a mountable filesystem, should
1.8       pk        205: be given fstype `4.2BSD'. Remember, the `c' partition should describe
                    206: the whole disk.
                    207: The `(Cyl. x - y)' info that appears after the hash (`#') character is
                    208: treated as a comment and need not be filled in when altering partitions.
                    209:
                    210: Special note: the line containing `8 partitions:' is best left alone,
                    211: even if you define less then eight partitions. If this line displays
                    212: a different number and the program complains about it (after you leave
                    213: the editor), then try setting it to `8 partitions:'.
                    214:
                    215:
                    216: <BEGIN SAMPLE DISKLABEL SCREEN>
                    217: netbsd# disklabel sd2
                    218:  # /dev/rsd2c:
                    219: type: SCSI
                    220: disk: SCSI disk
                    221: label: Hold Your Breath
                    222: flags:
                    223: bytes/sector: 512
                    224: sectors/track: 64
                    225: tracks/cylinder: 7
                    226: sectors/cylinder: 448
                    227: cylinders: 1429
                    228: rpm: 3600
                    229: interleave: 1
                    230: trackskew: 0
                    231: cylinderskew: 0
                    232: headswitch: 0           # milliseconds
                    233: track-to-track seek: 0  # milliseconds
                    234: drivedata: 0
                    235:
                    236: 8 partitions:
                    237: #        size   offset    fstype   [fsize bsize   cpg]
                    238:   a:    50176        0    4.2BSD        0     0     0   # (Cyl.    0 - 111)
                    239:   b:    64512    50176      swap                        # (Cyl.  112 - 255)
                    240:   c:   640192        0   unknown                        # (Cyl.    0 - 1428)
                    241:   d:   525504   114688    4.2BSD        0     0     0   # (Cyl.  256 - 1428)
                    242: <END SAMPLE DISKLABEL SCREEN>
                    243:
1.5       pk        244:
1.6       pk        245: If you are upgrading a NetBSD installation, start the upgrade script:
1.4       pk        246:
1.8       pk        247: netbsd# sh upgrade.sh
1.6       pk        248:
1.8       pk        249: else, start the installation script:
1.4       pk        250:
1.8       pk        251: netbsd# sh install.sh
1.4       pk        252:
                    253:
1.11      pk        254: Running the installation scripts.
                    255:
                    256: The installation scripts will do most of the work of transferring the
                    257: system from the distribution sets onto your disk. You will frequently be
                    258: asked for confirmation before the script proceeds with each phase of the
                    259: installation process.
                    260:
1.4       pk        261: Occasionally, you'll have to provide a piece of information such as the
                    262: name of the disk you want to install on or IP addresses and domain names
1.8       pk        263: you want to assign. If your system has more than one disk, you may want
                    264: to look at the output of the dmesg(8) command to see how your disks
                    265: have been identified by the kernel.
1.4       pk        266:
                    267: The installation script goes through the following phases:
                    268:
                    269:        - determination of the disk to install NetBSD on
                    270:        - checking of the partition information on the disk
                    271:        - creating and mounting the NetBSD filesystems
                    272:        - setup of IP configuration
                    273:        - extraction of the distribution tar files
                    274:        - installation of boot programs
                    275:
                    276:
1.11      pk        277: Now try a reboot.  Initially I'd suggest you "boot sd()netbsd -bs", then
                    278: try multiuser after that. If you boot single-user the NetBSD incantation
                    279: to make the root filesystem writable is
1.4       pk        280:
                    281:     netbsd# mount -u /dev/sd0a /
                    282:
1.11      pk        283: The Sun monitor might have been setup to instruct the boot program to load
                    284: a file called "vmunix". On OpenBOOT ROM systems you can change it to load
                    285: "netbsd" instead using the following commands:
1.4       pk        286:
                    287: On version 1 OpenBOOT ROMs:
                    288:     >n
                    289:     ok setenv boot-from sd(0,0,0)netbsd
                    290:     ok
                    291:
                    292: On version 2 OpenBOOT ROMs:
                    293:     ok setenv boot-file netbsd
                    294:     ok setenv boot-device /sbus/esp/sd@0,0
                    295:
                    296:
1.17    ! hubertf   297: Congratulations, you have successfully installed NetBSD _VER.

CVSweb <webmaster@jp.NetBSD.org>