Mitsubishi Electric - Computing for a Connected World Insight CD Home Page

Products
Services
Knowledgebase
Bulletins (IPBs)
Guides
FAQs
Owner's Handbooks
Product Datasheets
Miscellaneous Items
Upgrades
Downloads
Search Insight
E-Mail us
Insight Service
Year 2000
Other Mitsubishi Sites
Site Disclaimer

 
Xenix - Unix I.P.B. 3222 6th July 1998 (JE)
Department Category Implementation
Unix Software Advisory
Previous IPB Next IPB

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:

  1. Remove the device nodes /dev/hd1* , /dev/rhd1* , /dev/dsk/1s* , /dev/rdsk/1s*

  2. Remove the file /etc/conf/node.d/Sdsk

  3. 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:
  4. alad Sdsk 0 0 0 0

  5. 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:
  6. 0 /etc/conf/node.d/hd 0

  7. 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 */

  1. 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:

  2. 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=

  3. 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*.

  4. 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):
  5. 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.

  6. 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.

  7. 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----------

  

Computing for a Connected World