If the following packages have not yet been installed, install these now:
bzip2 gcc kernel-devel or kernel-default-devel kernel-modules-extra (only on Fedora) libelf-dev, libelf-devel or elfutils-libelf-devel libperl-dev or perl-devel make perl perl-Data-Dumper perl-ExtUtils-MakeMaker (not needed on Debian systems) rpm-build (only on RPM-based systems) tar
The next step is to build and install SCST. How to do that depends on whether or not your Linux distribution supports a package manager:
make release if rpm -q glibc >/dev/null 2>&1; then rm -rf {,scstadmin/}rpmbuilddir make rpm sudo rpm -U $PWD/{,scstadmin/}rpmbuilddir/RPMS/*/*.rpm elif dpkg-query -s libc-bin >/dev/null 2>&1; then sudo apt install build-essential debhelper devscripts gcc make lintian quilt sudo apt install linux-headers-$(uname -r) || sudo apt install pve-headers-$(uname -r) make dpkg sudo dpkg -i $PWD/dpkg/{scst,iscsi-scst,scstadmin}_*.deb else make 2release BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y make all sudo BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y make -C "$PWD" install fi
Since the above step installs several kernel modules into directory /lib/modules/$(uname -r), that step has to be repeated every time a new kernel or a kernel update has been installed. If you want to avoid this, install the scst-dkms package instead of the scst package. That will cause SCST to be rebuilt and installed every time a kernel version is booted for which the SCST kernel modules had not yet been built.
The easiest way to configure SCST is to create a configuration file /etc/scst.conf and by using scstadmin to load that configuration file. The /etc/init.d/scst script uses scstadmin to load the /etc/scst.conf file. The following information is present in /etc/scst.conf:
For more information about scst.conf, see also scstadmin/scstadmin.sysfs/man5/scst.conf.5.
Loading the SCST kernel modules and applying the /etc/scst.conf configuration file is possible as follows:
/etc/init.d/scst restart
After SCST has been loaded, configuration changes can be applied without unloading and reloading the SCST kernel modules:
scstadmin -config /etc/scst.conf
After the SCST configuration has been changed via scstadmin or by modifying the SCST sysfs attributes, the new configuration can be saved e.g. as follows:
scstadmin -write_config /etc/scst.conf.new
More information about the device handler and target driver sysfs attributes can be found in the scst/README document. More detailed instructions about iSCSI, QLogic FC, SRP and FCoE configuration can be found in the following documents: