Configuration of additional
SCSI disks under OpenServer 5.0.4
Additional disks at install time
Problems will occur if installing OpenServer 5.0.4 on a system with more
than one SCSI disk fitted and the auto-detection feature of the installation is used to
add support for the drive. When considering a two drive system the second drive will be
installed into the kernel, but fdisk and divvy will actually be manipulating the first
(root) disk when accessing the second disk. This can be proved by running fdisk -f /dev/hd10 or divvy /dev/hd1a in both cases
the disk being viewed will be the root disk. To avoid this problem add scsi.noscan to the bootstring when
installing. An example bootstring for the FT1200 Pentium II would be:
defbootstr
ahslink=alad325 Stp=alad(1,0,2,0) scsi.noscan
Refer to IPB 3220 for FT1200
Pentium II installation instructions.
If however the installation has been carried out and the problem
exists then the following procedure can be used to remove the incorrectly defined second
disk from the system, and then add the disk correctly using mkdev hd. This procedure assumes that
there is one extra drive configured that needs removing, additional drives are defined in
a similar fashion starting as number two:
- Remove the device nodes /dev/hd1*
, /dev/rhd1* , /dev/dsk/1s* , /dev/rdsk/1s*
- Remove the file
/etc/conf/node.d/Sdsk
- Edit the file /etc/conf/cf.d/mscsi removing all lines containing Sdsk
except the line referring to the first disk. For example the following line is such a line
that should remain for an Adaptec 78xx based system:
alad Sdsk 0 0 0 0
- Edit the file
/var/opt/K/SCO/link/1.1.0Eb/usr/lib/mkdev/perms/HDLIST removing additional disk definitions so that it has only one line as below:
0 /etc/conf/node.d/hd
0
- Change directory to
/etc/conf/pack.d/Sdsk and check the contents of the two files device.dat and space.c. They should not
need editing, but if they do the entries to remove are shown below in a bold font:
File: device.dat
FILE_FORMAT:
version=1
Sdsk0:
INDEX=Sdsk0
PATH=node0,node1
node0=D_SUBSYS,SCSI Disk,0,D_HARDDSK_SUBSYS,,NULL
node1=D_UNIT,SCSI Drive 0,0,0,D_RANDOM_ACCESS D_NODE,NULL
D_USER_MSG=SCSI Disk Drive,0,0,,NULL
D_BLOCK_NODE = 0
D_CHAR_NODE = 0
Sdsk1:
INDEX=Sdsk1
PATH=node0,node1
node0=D_SUBSYS,SCSI Disk,0,D_HARDDSK_SUBSYS,,NULL
node1=D_UNIT,SCSI Drive 1,0,1,D_RANDOM_ACCESS D_NODE,NULL
D_USER_MSG=SCSI Disk Drive,0,0,,NULL
D_BLOCK_NODE = 64
D_CHAR_NODE = 64
File: space.c the end of the file
.
.
.
/*
Probe routine return values, the marker comments must be kept in place
so that the mkdev script can patch up this file correctly
*/
/*_PROBE_START_*/
#define Sdsk0 99328 /* Sdsk0 */
#define Sdsk1 99329 /* Sdsk1 */
int SdskProbe[] = {Sdsk0,Sdsk1,0};
/*_PROBE_STOP_*/
/* End probe routine return values */
- Edit the file /etc/default/filesys and check for any entries after the one for the root and rroot. There will probably be an entry for a filesystem called "a", the
entry referring to /dev/a and
/dev/ra. Remove any such device nodes
(rm /dev/a /dev/ra), the
mountpoint directory (rmdir /a), and the entry in the filesys file. The entry to remove is shown below in a
bold font:
bdev=/dev/boot cdev=/dev/rboot \
mountdir=/stand mount=no fstyp=EAFS \
fsck=no fsckflags= rcmount=yes \
rcfsck=no mountflags=
bdev=/dev/root cdev=/dev/rroot \
mountdir=/ mount=no fstyp=HTFS \
fsck=no fsckflags= rcmount=no \
rcfsck=no mountflags=
bdev=/dev/a cdev=/dev/ra \
mountdir=/a mount=no fstyp=HTFS \
fsck=no fsckflags= rcmount=no \
rcfsck=no mountflags=
- Re-link the kernel by running /etc/conf/cf.d/link_unix and answer yes to
the question asking if the environment is to be rebuilt which re-creates the device nodes
under the /dev directory. Reboot the system and check that there are only device nodes for
the first disk under /dev, these being /dev/hd0* , /dev/rhd0* , /dev/dsk/0s* , and
/dev/rdsk/0s*.
- At this stage the system should be running with only the first (root)
disk configured. To successfully add the second and any other disks use the mkdev hd command. As an example, for an
FT1200 with a second disk set to SCSI ID 1 connected to the first on-board Adaptec channel
the following answers are used (answers shown in this
font):
Pick one of the choices
..
Enter 1, 2, or 3
..(add disk to SCSI controller) 2
Enter the prefix of the SCSI host adapter
or press <Return> for the default: alad <CR> or alad
Which alad SCSI host adapter
.. 0
What SCSI Bus
.. 0
What is the Target ID
. 1
What is the LUN
0
Allow the kernel to be re-linked, made the boot kernel, and the
environment rebuilt. Shut the system down and re-boot.
- Run the mkdev hd command again, selecting the same options as above. This time though it will
invoke fdisk followed by divvy. Select the option to use the entire disk for unix under
fdisk. The divvy utility will ask how many filesystems are required and equally divide
available blocks, however if further control is required over the filesystem sizes this
can also be done at this time or by running divvy /dev/hd1a at a later time.
- The filesystem(s) will now exist on the second disk but will not be
automatically mounted during multi-user boot and will not contain a lost+found directory
with "empty slots". To configure, run the command mkdev fs and give the device names of the filesystems,
for example /dev/u, and the mount point, for example /u. You are then asked whether the
filesystem is always to be mounted and whether users can mount it answer no to this
second question.
Removal of additional disks when added after installation
When a drive is added to an installed OpenServer 5.0.4 system with the mkdev hd command the files that define
its configuration are slightly different to those in the above numbered procedure. There
will not be an Sdsk file in the /etc/conf/node.d directory. The additional drive(s) are
defined in the hd file. For a second disk there will be several lines distributed
throughout the /etc/conf/node.d/hd file that define the device nodes. The order of these
are as follows and to manually remove such a drive they need to be deleted:
dsk/1s* 15 lines
hd1* 7 lines
rdsk/1s* 15 lines
rhs1* 7 lines
The file /var/opt/K/SCO/link/1.1.0Eb/usr/lib/mkdev/perms/HDLIST will not require modification. There will only be one line of the form shown in
4. above.
The /etc/conf/cf.d/mscsi file will have the same additional lines per disk as in 3. above that require
removal.
The device.dat
and space.c files in /etc/conf/pack.d/Sdsk will have the
additional entries as in 5. above, and they will require removal.
----------oOo----------
|