Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/distrib/notes/sparc Pullup 1.13 and 1.14 [mbw]:



details:   https://anonhg.NetBSD.org/src/rev/bbee063619e4
branches:  netbsd-1-5
changeset: 490128:bbee063619e4
user:      tv <tv%NetBSD.org@localhost>
date:      Fri Nov 03 20:38:40 2000 +0000

description:
Pullup 1.13 and 1.14 [mbw]:
mention that can't boot if root partition is past first 2 GB of disk
refine wording of section on scsi id mappings

diffstat:

 distrib/notes/sparc/prep |  121 +++++++++++++++++++++++++++++-----------------
 1 files changed, 77 insertions(+), 44 deletions(-)

diffs (210 lines):

diff -r 4b97a0acfe6b -r bbee063619e4 distrib/notes/sparc/prep
--- a/distrib/notes/sparc/prep  Fri Nov 03 20:34:34 2000 +0000
+++ b/distrib/notes/sparc/prep  Fri Nov 03 20:38:40 2000 +0000
@@ -1,4 +1,4 @@
-.\"    $NetBSD: prep,v 1.8.8.1 2000/11/01 03:48:33 tv Exp $
+.\"    $NetBSD: prep,v 1.8.8.2 2000/11/03 20:38:40 tv Exp $
 .
 .Ss2 Configuring your PROM
 .
@@ -50,38 +50,38 @@
 The OpenBoot PROM 1 machines (SPARCstation/server 1, SPARCstation/server 1+,
 IPC, and SLC) have an odd SCSI quirk you should be aware of.
 There are three SCSI addressing schemes used by your
-system: SCSI ID (set by physical jumpers on the device),
-SCSI target (set by OpenBoot PROM 1, based on its SCSI ID), and the name you
-reference within an operating system (set by the kernel, based on the SCSI
-target).
+system: SCSI target ID (set by physical jumpers on the device), PROM
+.Sq unit
+number (set by OpenBoot PROM 1, based on its SCSI target ID), and the name
+you reference within an operating system (set by the kernel, based on the PROM
+.Sq unit
+number).
 .Pp
-Sun shipped these systems with the internal drive at SCSI ID 0.
-The default value of the OpenBoot PROM variable
+Sun shipped these systems with the internal drives set to SCSI target IDs
+3 and 1.  The default value of the OpenBoot PROM variable
 .Sq Li sd-targets
 is
 .Sq Li 31204567.
-The means that the device at SCSI ID 3 is
-at SCSI target 0, and the SCSI device at ID 0 is at target 3.
-When you type
+This variable maps how the OpenBoot PROM 1 assigns
+.Sq unit
+numbers based on the SCSI target ID.
+Thus the device at SCSI target ID 3 is considered
+.Sq unit
+0, and the SCSI device at target ID 0 is 
+.Sq unit
+3.  When you type
 .Dq Ic boot scsi(0,0,0) ,
-the OpenBoot PROM will boot from target 0 (that is, SCSI ID 3).
-The
+the OpenBoot PROM will boot from
+.Sq unit
+0 (which is SCSI target ID 3, the internal hard drive).  The
 .Tn SunOS
 kernel is hard-wired to map
 .Li sd0
 to SCSI target 3, and
 .Li sd3
 to SCSI target 0.
-This means that SCSI ID 0 (target 3) is
-.Li sd0 ,
-SCSI ID 1 (target 1) is
-.Li sd1 ,
-and so on.
-Essentially,
-.Tn SunOS
-reverses the OpenBoot PROM target remapping.
-.Bl -column -offset indent SCSI\ ID SCSI\ Target SunOS\ name
-.It Em SCSI\ ID Ta Em SCSI\ Target Ta Em SunOS\ name
+.Bl -column -offset indent PROM\ Unit# SCSI\ Target SunOS\ name
+.It Em PROM\ Unit# Ta Em SCSI\ Target Ta Em SunOS\ name
 .It \~\~\~0 Ta \~\~\~3 Ta \~\~\~sd0
 .It \~\~\~1 Ta \~\~\~1 Ta \~\~\~sd1
 .It \~\~\~2 Ta \~\~\~2 Ta \~\~\~sd2
@@ -91,28 +91,41 @@
 .It \~\~\~6 Ta \~\~\~6 Ta \~\~\~cdrom
 .El
 .Pp
-The
+Unfortunately, the
 .Nx
-kernel is not hard-wired in this manner and names the disks in the order
-that the targets are probed (01234567). If you only have one disk, it is
-always
+kernel believes the 
+.Sq unit
+values returned by the OpenBoot PROM really are the SCSI target IDs.  The
+.Nx*M
+.Li GENERIC 
+kernel does not by default wire things down as does
+.Tn SunOS .
+It names the disks in the order
+that the targets (actually the PROM
+.Sq unit
+numbers) are probed (01234567). If you only have one disk, it is always
 .Li sd0
-irregardless of its SCSI ID or target, and there are no
-problems. If you have two disks, one at
-SCSI ID 2 (target 2) and SCSI ID 3 (target 0), then they are recognized
-as
+regardless of its SCSI target ID or its PROM
+.Sq unit
+number, and there are no problems. If you have two disks, one at
+SCSI ID 2 (
+.Sq unit
+2) and SCSI ID 3 (
+.Sq unit
+0), then they are recognized as
 .Li sd1
 and
 .Li sd0
 respectively. This can be a problem if you are not
 aware of it, particularly when creating an fstab.
 .Pp
-There are two approaches to fixing this problem: changing OpenBoot PROM 1,
-and changing the
+There are two approaches to fixing this problem: changing the
+mapping that OpenBoot PROM 1 does, and changing the
 .Nx
 kernel.
-To get OpenBoot PROM 1 to number the SCSI targets the same as the SCSI
-IDs, you need to run this command:
+To get OpenBoot PROM 1 to number the SCSI 
+.Sq unit
+numbers the same as the SCSI target IDs, you need to run this command:
 .Pp
 .Dl ok Ic "setenv sd-targets 01234567"
 .Pp
@@ -122,10 +135,13 @@
 .Pp
 The other approach is to use a
 .Nx
-kernel that reverses this odd target mapping by treating target 0
-(i.e. SCSI ID 3) as
+kernel that reverses this odd target mapping by treating
+.Sq unit
+0 (i.e. SCSI target ID 3) as
 .Li sd3
-and target 3 (i.e. SCSI ID 0) as
+and 
+.Sq unit
+3 (i.e. SCSI target ID 0) as
 .Li sd0 .
 The
 .Li GENERIC_SCSI3
@@ -139,9 +155,19 @@
 This is also a concern when you start building your own customised kernels.
 .Note)
 .Pp
-The sun4 models and the machines with OpenBoot PROM 2 (SPARCstation/server 2,
-ELC, IPX, and all sun4m models) do not have this target mapping problem.
-You should be aware, however, that some models have their internal hard
+The machines with OpenBoot PROM 2 (SPARCstation/server 2,
+ELC, IPX, and all sun4m models) do not have this mapping problem.
+You should be aware, however, that the OpenBoot PROM
+.Ic devalias
+entries are similarly reversed.  That is, 
+.Li disk0
+is the hard drive at SCSI ID 3, and
+.Li disk3
+is the hard drive at SCSI ID 3.  But don't worry, since
+it is only a device alias the
+.Nx
+kernel finds your SCSI device at the correct target ID.
+Some models have their internal hard
 drives fixed at SCSI ID 3, so it may still be advantageous to use the
 .Li GENERIC_SCSI3
 kernel to ensure that your internal drive shows up as
@@ -185,14 +211,16 @@
 .Pp
 .Dl ok Ic "boot sd(0,30,)"
 .Pp
-And, to boot from the fourth partition (
+And, to boot from a kernel named
+.Li netbsd-GENERIC
+on the fourth partition (
 .Sq Li d ,
 often the
 .Pa /usr
 partition) on an external hard drive (first SCSI bus, target 2, lun 0,
 partition 3), one would use:
 .Pp
-.Dl ok Ic "boot sd(0,10,3)"
+.Dl ok Ic "boot sd(0,10,3)netbsd-GENERIC"
 .Pp
 Now, for OpenBoot PROM 2, SCSI devices are specified by an OpenBOOT
 .Ic devalias
@@ -212,13 +240,15 @@
 .Pp
 .Dl ok Ic "boot cdrom"
 .Pp
-And, to boot from the fourth partition (
+And, to boot from a kernel named
+.Li netbsd-GENERIC
+on the fourth partition (
 .Sq Li d ,
 often the
 .Pa /usr
 partition) on an external hard drive (target 2, partition 3), one would use:
 .Pp
-.Dl ok Ic "boot disk2:d"
+.Dl ok Ic "boot disk2:d netbsd-GENERIC"
 .Pp
 The full device path specifier for OpenBoot PROM 2 depends on how OpenBoot
 PROM 2 recognizes
@@ -245,6 +275,9 @@
 part of your memory unusable). A full binary installation takes about 60 MB
 in
 .Pa /usr .
+.Pp
+Most sparc systems have trouble booting if the root partition extends
+beyond the first 2 GB of your disk.
 .
 .Ss2 Configuration of network interfaces
 .



Home | Main Index | Thread Index | Old Index