RedHat 5.2 compilation with Initio Controllers

Installing the Initio INIA100 drivers and linking them into the kernel
is a relatively simple process.  The procedure outlined here is based
on the 2.0.36 kernel but may be expected to apply to other kernel versions.
If you encounter inconsistancies with this procedure pattern your
modifications to the configuration files after those lines that would
apply to another host adapter.

The INIA100 driver is contained in three files:

  inia100.h  Header file defining structures and routines

  inia100.c  Kernel interface routines

  i60uscsi.h Low level header file.

  i60uscsi.c Low level routines interacting directly with the
             host adapter hardware.


The files that need to be modified are:

  hosts.c   scsi_hosts array defining host adapters in kernel

  Config.in Kernel configuration template used by make config
      et al allowing you to select drivers to be included
      in the kernel.

  Makefile  Refer to make(1).

Here a numbered sequence of steps needed to incorporate the INIA100 driver
into the kernel source.  (yes some of them may be executed in any sequence.)

1. cp inia100.h inia100.c i60uscsi.c i60uscsi.h /usr/src/linux/drivers/scsi/

2. cd /usr/src/linux/drivers/scsi

3. edit Config.in

  After the lines
mainmenu_option next_comment
comment 'SCSI low-level drivers'

  insert
bool 'Initio INIA100U2W support' CONFIG_SCSI_INIA100 $CONFIG_SCSI


4. Edit Makefile

  before the line
ifeq ($(CONFIG_SCSI_DEBUG),y)

  insert
ifeq ($(CONFIG_SCSI_INIA100),y)
L_OBJS += inia100.o i60uscsi.o
endif

5. edit hosts.c

  after the line
#include "hosts.h"

  insert
#ifdef CONFIG_SCSI_INIA100
#include "inia100.h"
#endif

  after the lines
static Scsi_Host_Template builtin_scsi_hosts[] =
{

  insert
#ifdef CONFIG_SCSI_INIA100
    INIA100,
#endif


6. edit proc_fs.h in the include/linux directory:

  Add PROC_SCSI_INIA100, to the scsi_directory_inos definition.


7. cd /usr/src/linux

8. Configure and make the kernel.  See the directions that come with your
distribution or /usr/src/linux/README



