From 359edad4af1b9d425025923dbf5689cf15fd919c Mon Sep 17 00:00:00 2001 From: pk Date: Tue, 15 Oct 1996 23:29:40 +0000 Subject: [PATCH] Pullup changes from 1.2 branch. --- distrib/notes/sparc/contents | 34 +++--- distrib/notes/sparc/hardware | 6 +- distrib/notes/sparc/install | 225 +++++++++++++++++------------------ 3 files changed, 127 insertions(+), 138 deletions(-) diff --git a/distrib/notes/sparc/contents b/distrib/notes/sparc/contents index 437729875f4a..a94376051cbd 100644 --- a/distrib/notes/sparc/contents +++ b/distrib/notes/sparc/contents @@ -1,8 +1,8 @@ -The sparc-specific portion of the NetBSD 1.2 release is found in the +The sparc-specific portion of the NetBSD RELEASE release is found in the "sparc" subdirectory of the distribution. That subdirectory is laid out as follows: -.../NetBSD-1.2/sparc/ +.../NetBSD-RELEASE/sparc/ binary/ sparc binary distribution sets; see below. @@ -13,12 +13,12 @@ out as follows: and installation/upgrade scripts. The NetBSD/sparc binary distribution sets contain the binaries which -comprise the NetBSD 1.2 release for the sparc. There are seven binary +comprise the NetBSD RELEASE release for the sparc. There are seven binary distribution sets, and the "security" distribution set. The binary distribution sets can be found in subdirectories of the "sparc/binary" -subdirectory of the NetBSD 1.2 distribution tree, and are as follows: +subdirectory of the NetBSD RELEASE distribution tree, and are as follows: - base12 The NetBSD/sparc RELEASE base binary distribution. You + base1X The NetBSD/sparc RELEASE base binary distribution. You MUST install this distribution set. It contains the base NetBSD utilities that are necessary for the system to run and be minimally functional. It @@ -26,7 +26,7 @@ subdirectory of the NetBSD 1.2 distribution tree, and are as follows: everything described below. [ 8.6M gzipped, 25.8M uncompressed ] - comp12 The NetBSD/sparc Compiler tools. All of the tools + comp1X The NetBSD/sparc Compiler tools. All of the tools relating to C, C++, and FORTRAN (yes, there are two!). This set includes the system include files (/usr/include), the linker, the compiler tool chain, @@ -37,7 +37,7 @@ subdirectory of the NetBSD 1.2 distribution tree, and are as follows: call and library manual pages. [ 6.2M gzipped, 20.9M uncompressed ] - etc12 This distribution set contains the system + etc1X This distribution set contains the system configuration files that reside in /etc and in several other places. This set MUST be installed if you are installing the system from scratch, but should NOT be @@ -46,43 +46,43 @@ subdirectory of the NetBSD 1.2 distribution tree, and are as follows: CAREFULLY upgrade your configuration files by hand.) [ 72K gzipped, 368K uncompressed ] - games12 This set includes the games and their manual pages. + games1X This set includes the games and their manual pages. [ 2.9M gzipped, 7.4M uncompressed ] - man12 This set includes all of the manual pages for the + man1X This set includes all of the manual pages for the binaries and other software contained in the base set. Note that it does not include any of the manual pages that are included in the other sets. [ 0.9M gzipped, 3.6M uncompressed ] - misc12 This set includes the system dictionaries (which are + misc1X This set includes the system dictionaries (which are rather large), the typesettable document set, and man pages for other architectures which happen to be installed from the source tree by default. [ 1.9M gzipped, 6.6M uncompressed ] - text12 This set includes NetBSD's text processing tools, + text1X This set includes NetBSD's text processing tools, including groff, all related programs, and their manual pages. [ 0.8M gzipped, 3.1M uncompressed ] - xbin12 This set is the X11R6.1 binary and library set. It + xbin1X This set is the X11R6.1 binary and library set. It includes all the programs, fonts and libraries used in the X window system, and is mandatory to use X. [ 11M gzipped, 20M uncompressed ] - xcon12 This set is the X11R6.1 contributed software collection, + xcon1X This set is the X11R6.1 contributed software collection, made up from programs in the contrib distribution. [ ? gzipped, ? uncompressed ] - xinc12 This set is the X11R6.1 include set. + xinc1X This set is the X11R6.1 include set. [ 0.3M gzipped, 2.2M uncompressed ] - xman12 This set in the X11R6.1 manual set. + xman1X This set in the X11R6.1 manual set. [ 0.5M gzipped, 2.9M uncompressed ] -The sparc security distribution set is named "secr12" and can be found -in the "sparc/security" subdirectory of the NetBSD 1.2 distribution +The sparc security distribution set is named "secr1X" and can be found +in the "sparc/security" subdirectory of the NetBSD RELEASE distribution tree. It contains crypt.c (the source file for the DES encryption algorithm) and the binaries which depend on it. It can only be found on those sites which carry the complete NetBSD distribution and that diff --git a/distrib/notes/sparc/hardware b/distrib/notes/sparc/hardware index 3731e90ac91a..d0d4d2c1e54d 100644 --- a/distrib/notes/sparc/hardware +++ b/distrib/notes/sparc/hardware @@ -1,14 +1,14 @@ -NetBSD/sparc 1.2 runs on the following classes of machines: +NetBSD/sparc RELEASE runs on the following classes of machines: - sun4c (e.g. the SS1, SS1+, SS2, IPC, ELC, IPX, and SLC) - sun4 (e.g. the 4/100, 4/200, and 4/300. note that support for the 4/400 processor is incomplete) - sun4m (e.g. Classic, LX, SS4, SS5, SS10, and SS20) -NetBSD/sparc 1.2 does *not* run on these machines (yet): +NetBSD/sparc RELEASE does *not* run on these machines (yet): - sun-4/400 (lacking support for the I/O cache, and has ethernet problems) - sun4d (e.g. sparc center 2000) - - sun4u (e.g. ultra1/ultra2/ultra server) + - sun4u (e.g. Ultrasparcs) The minimal configuration requires 4M of RAM and ~60M of disk space. To install the entire system requires much more disk space, and to run diff --git a/distrib/notes/sparc/install b/distrib/notes/sparc/install index 553be7ae1831..7f2b05743866 100644 --- a/distrib/notes/sparc/install +++ b/distrib/notes/sparc/install @@ -1,12 +1,58 @@ Installing NetBSD is a relatively complex process, but if you have this document in hand it shouldn't be too much trouble. -There are several ways to install NetBSD onto a disk. If your Sparcstation -is hooked up in a network you can find find a server and arrange for a -diskless setup which is a convenient way to install on a machine with -a single disk attached. Alternatively, you could use SunOS (booted from -a local disk) and install NetBSD onto a second disk. For the latter method, -skip to the section "Installing from SunOS" below. +There are several ways to install NetBSD onto a disk. The easiest way +in terms of preliminary setup is to use the NetBSD miniroot that can +be booted off your local disk's swap partition. Alternatively, if your +Sparcstation is hooked up in a network you can find a server and arrange +for a diskless setup which is a convenient way to install on a machine +whose disk does not currently hold a usable operating system (see the +section `Installing using a diskless setup' below). + + +Installing using the NetBSD miniroot. + +The miniroot is a self-contained NetBSD filesystem holding all utilities +necessary to install NetBSD on a local disk. It is distributed as a plain +file designed to be transferred to a raw disk partition from which it can +be booted using the appropriate PROM command. Usually, the miniroot will +be loaded into the swap partition of a disk. If needed, you can use any +other unused partition, but remember that the partition will then not +available during the installation process. + +Loading the miniroot onto your raw partition is simple. On NetBSD as well +as SunOS you use a command like: + + # dd if=miniroot-RELEASE.fs of=/dev/rsd0b bs=20b conv=sync + +(here `/dev/rsd0b' is assumed to be your swap partition). There's a +potential problem here if /dev/rsd0b is actually in use as a swap +partition by your currently running system. If you don't have another +disk or partition to spare, you can usually get away with running this +command anyway after first booting into single-user mode to ensure a +quiet system. + +After transferring the miniroot to disk, bring the system down by: + + # halt + +Then boot the miniroot by typing the appropriate command at the PROM: + + > b sd(,,1)netbsd -s # for sun4 monitors + ok boot sd(,,1)netbsd -s # for version 1 OpenBOOT ROMs + ok boot disk:b netbsd -s # for version 2 OpenBOOT ROMs + +If you've loaded the miniroot onto some other disk than `sd0' adapt +the boot specifier accordingly, e.g.: + + ok boot disk1:b netbsd -s + +to boot from SCSI disk target 1 from a version 2 OpenBOOT ROM. + +This will cause the kernel contained in the miniroot to be booted. +After the initial probe messages you'll asked to start the install +or upgrade procedure. Proceed to the section `Running the installation +scripts' below. Installing using a diskless setup. @@ -19,26 +65,51 @@ documentation that came with it (on SunOS systems, add_client(8) is a good start). Your Sparcstation expects to be able to download a second stage bootstrap -program via TFTP after havinf acquired its IP address through RevARP when +program via TFTP after having acquired its IP address through RevARP when instructed to boot "over the net". It will look for a filename composed of the machine's IP address followed by the machine's architecture, separated by a period. For example, a sun4c machine which has been assigned IP address 130.115.144.11, will make an TFTP request for `8273900B.SUN4C'. -Normally, this file is symbolic link to an appropriate second-stage +Normally, this file is a symbolic link to an appropriate second-stage boot program, which should be located in a place where the TFTP daemon can find it (remember, many TFTP daemons run in a chroot'ed environment). You can find the boot program in `/usr/mdec/boot' in the NetBSD/sparc distribution. Unfortunately, it is necessary to install this file -differently for sun4 and sun4c/sun4m clients: the sun4 version needs to -have its `a.out' header stripped off (otherwise the machine will crash), -while the sun4c/sun4m version must retain it (otherwise the PROM will -complain). +differently for sun4 and sun4c clients: the sun4 version needs to have its +`a.out' header stripped off (otherwise the machine will crash), while the +sun4c version must retain it (otherwise the PROM will complain). -Luckily, there is a script in /usr/mdec to do all this for you. You only -need to do this: +Here's an example to illustrate this whole mess: server# cd //usr/mdec - server# ./binstall net / + if client is a sun4: + server# set SKIP=1 + server# set KARCH=SUN4 + else + server# set SKIP=0 + server# set KARCH=SUN4C + server# dd if=boot of=/tftpboot/boot.sparc.netbsd.$KARCH skip=$SKIP bs=32 + server# cd /tftpboot + server# ln -s boot.sparc.netbsd.$KARCH 8273900B.$KARCH + +Note: some versions of Openboot ROMs (sun4c/sun4m) seem to require that the +boot program size is nicely rounded. Therefore it may be necessary to +strip(8) off the symbol table. + +After the boot program has been loaded into memory and given control by +the PROM, it starts locating the machine's remote root directory through +the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast +on the local net. The answer to this request (if it comes in) contains +the client's name. This name is used in next step, a BOOTPARAM GETFILE +request -- sent to the server that responded to the WHOAMI request -- +requesting the name and address of the machine that will serve the client's +root directory, as well as the path of the client's root on that server. + +Finally, this information (if it comes in) is used to issue a REMOTE MOUNT +request to the client's root filesystem server, asking for an NFS file +handle corresponding to the root filesystem. If successful, the boot +program starts reading from the remote root filesystem in search of the +kernel which is then read into memory. As noted above in the section `Preparing your System for NetBSD Installation', @@ -76,7 +147,7 @@ and run the MAKEDEV script: `sh MAKEDEV all'. On SunOS 5.x systems, MAKEDEV can also be used, but there'll be error messages about unknown user and groups. These errors are inconsequential for the purpose of installing NetBSD. However, you may want to correct them -if you plan to the diskless setup regularly. In that case, you may re-run +if you plan to use the diskless setup regularly. In that case, you may re-run MAKEDEV on your NetBSD machine once it has booted. Boot your workstation from the server by entering the appropriate `boot' @@ -109,20 +180,18 @@ the disk you want to install NetBSD onto. NetBSD understands SunOS-style disklabels, so if your disk was previously used by SunOS there will be a usable label on it. Use `disklabel -e ' (where is the device name assigned by the NetBSD kernel, e.g. `sd0') to view and -modify the partition sizes. A comfortable size for the root filesystem -partition is about 20MB; a good initial size for the swap partition is -twice the amount of physical memory in your machine (though, unlike -SunOS 4.x, there are no restrictions on the size of the swap partition -that would render part of your memory unusable). A full binary installation -takes about 60MB in `/usr'. Make all your partitions start and end on -cylinder boundaries. +modify the partition sizes. See the section `Preparing your System for +NetBSD Installation' above for suggestions about disk partition sizes. +Make sure all your partitions start and end on cylinder boundaries. NOTE: if you are installing on a SCSI disk that does *not* have a SunOS or NetBSD label on it, you may still be able to use disklabel(8) but you'll have to create all partitions from scratch. If your disk is listed in `/etc/disktab', you may use the entry (which in most cases only defines a `c' partition to describe the whole disk) to put an initial label on -the disk. +the disk. DO NOT USE `disklabel -r ...' TO INITIALIZE YOUR DISK LABEL; +THIS WILL LEAD TO UNPREDICTABLE RESULTS. This deficiency will be fixed +in a next release. Here follows an example of what you'll see while in the dislabel editor. Do not touch any of the parameters except for the `label: ' entry and @@ -133,7 +202,7 @@ The size and offset fields are given in sector units. Be sure to make these numbers multiples of the of the number of sectors per cylinder: the kernel might be picky about these things, but aside from this you'll have the least chance of wasting disk space. -Partitions on which you intend to have a a mountable filesystem, should +Partitions on which you intend to have a mountable filesystem, should be given fstype `4.2BSD'. Remember, the `c' partition should describe the whole disk. The `(Cyl. x - y)' info that appears after the hash (`#') character is @@ -183,9 +252,13 @@ else, start the installation script: netbsd# sh install.sh -These scripts will do most of the work of transferring the system from the -tar files onto your disk. You will frequently be asked for confirmation -before the script proceeds with each phase of the installation process. +Running the installation scripts. + +The installation scripts will do most of the work of transferring the +system from the distribution sets onto your disk. You will frequently be +asked for confirmation before the script proceeds with each phase of the +installation process. + Occasionally, you'll have to provide a piece of information such as the name of the disk you want to install on or IP addresses and domain names you want to assign. If your system has more than one disk, you may want @@ -202,16 +275,15 @@ The installation script goes through the following phases: - installation of boot programs -Now try a reboot. (If needed, swap your scsi id's first). Initially -I'd suggest you "boot sd()netbsd -bs", then try multiuser after that. -if you boot single-user the NetBSD incantation to make the root -filesystem writable is +Now try a reboot. Initially I'd suggest you "boot sd()netbsd -bs", then +try multiuser after that. If you boot single-user the NetBSD incantation +to make the root filesystem writable is netbsd# mount -u /dev/sd0a / -The Sun monitor normally tries to load a file called "vmunix". On -OpenBOOT ROM systems you can change it to load NetBSD instead using -the following commands: +The Sun monitor might have been setup to instruct the boot program to load +a file called "vmunix". On OpenBOOT ROM systems you can change it to load +"netbsd" instead using the following commands: On version 1 OpenBOOT ROMs: >n @@ -236,86 +308,3 @@ probably need to be modified. If you are unfamiliar with UN*X-like system administration, it's recommended that you buy a book that discusses it. - - -Installing from SunOS. - -You need a SunOS machine to install NetBSD. You also need at -least the following pieces: - - the *.tar.gz files you want to install (as a minimum, base.tar.gz) - gzip (GNU gzip) SunOS binary - gtar (GNU tar) SunOS binary - the "install.sh" script - a "/boot" file from a SunOS machine that matches your machine type - (e.g. sun4 for sun4 server, sun4c and sun4m for these) - a kernel, most likely "/netbsd" - -All these pieces, except "/boot", are supplied in the NetBSD/sparc -distribution. - -You can format and partition the disk using SunOS (since -NetBSD/sparc uses SunOS disk labels.) Give yourself adequate -partition sizes. Here is an example layout: - - partition size offset will be.. - sd2a 28140 0 / - sd2b 16170 28140 swap - sd2c 204540 0 `whole disk' - sd2g 160230 44310 /usr - -BTW, These are not recommended sizes. They simply match the first -(tiny) disk that NetBSD/sparc ran on. - -Use SunOS to newfs the partitions which will have filesystems on them. -(NetBSD's filesystem format is identical to SunOS). - - sunos# newfs /dev/rsd2a - [... lots of output] - sunos# newfs /dev/rsd2g - [... lots of output] - -NOTE: If you are able to, there is a performance benefit from -newfs'ing using NetBSD. If you newfs using the NetBSD newfs command, -be sure to use the -O flag for your / partition, so that newfs will -use the 4.3BSD filesystem format, rather than the new 4.4BSD filesystem -format. If you forget, you will not be able to boot -- the SunOS boot -blocks do not understand the extended 4.4BSD filesystem format. - -Mount those partitions in a tree formation, under /mnt; ie: - - sunos# df - Filesystem kbytes used avail capacity Mounted on - [...] - /dev/sd2a 11501 0 11501 0% /mnt - /dev/sd2g 179529 0 179529 0% /mnt/usr - -Place a standard SunOS "/boot" program in /mnt (your new root -partition), and use the SunOS command "installboot" to make it work. -The installboot man page says to do something like this: - - sunos# cp /boot /mnt/boot - sunos# /usr/mdec/installboot -vlt /mnt/boot /usr/mdec/bootsd /dev/rsd2a - -You can now extract the provided "*.tar.gz files onto your disk. The -provided script, "install_from_sunos.sh" will help you: - - sunos# ls -FC - base.tar.gz etc.tar.gz man.tar.gz secr.tar.gz - comp.tar.gz games.tar.gz misc.tar.gz text.tar.gz - install.sh netbsd.id3_scsi - sunos# ./install_from_sunos.sh - [...] - -This script NEEDS gzip and gtar (GNU gzip and GNU tar) on your -execution path! The tar files are in a "new format" that includes -directory information, and SunOS tar will not read them. Statically -linked versions of these programs for SunOS are supplied in the -distribution. - -After the files have been extracted, repair /mnt/etc/fstab to match -your actual disk layout. (Minus the "/mnt" component of each path, of -course :-) - -Now proceed to reboot the machine as described above in "Installing -using a diskless setup".