-
Notifications
You must be signed in to change notification settings - Fork 96
Installation from Sources
Manual installation from sources should only be used for testing purposes and can be used to install the latest build (as opposed to the latest release). The script build.sh
can be used to build the three components that the iSCSI initiator comprises. These are the initiator kernel extension (iSCSIInitiator.kext
), the macOS Launch Daemon (iscsid
) and the command-line tool (iscsictl
). The script will build all three components with debug symbols and will enable message logging for the kernel extension (see [Message logs](Message logs) for more information).
Manual builds of the kernel extension will not be signed and as a result macOS won't load them. Kext signing must therefore be disabled before attempting to install and load the kernel extension.
Additionally, as of El Capitan, new security measures have been implemented that prevent the installation of files in certain protected system folders (unless the files are placed there by an appropriate installer).
The following actions are therefore required prior to installation:
- Prior to El Capitan (that is, macOS versions 10.10 and below) this is achieved by running
sudo nvram boot-args=kext-dev-mode=1
- In El Capitan, this is achieved by running
csrutil enable
at the Recover OS terminal window (see the System Integrity Protection Guide for more details).
In both cases, a reboot is required.
The scripts install.sh
and uninstall.sh
will install the three components along with several supporting files into their appropriate locations. The supporting files include man pages for iscsictl
and iscsid
(installed into section 8 of the BSD manual), and a property list file that is used by launchd to manage the iSCSI daemon.
Running uninstall.sh
will unload the daemon and kernel extension if they are loaded. This will necessarily drop any active sessions to iSCSI targets (and remove mounted volumes on targets). To avoid data loss, logout of targets before running this script.
Run the uninstall.sh
to remove older versions before installing each time. This ensures that the property list is removed should its format change during development. Optionally, clean.sh
to reset the initiator's configuration to defaults.
© 2015-2018 Nareg Sinenian, All rights reserved.
Introduction
Installation
Getting Started
- Initiator configuration
- Target discovery
- Login and disk access
- Target configuration
- Authentication
- Removing targets
- Managing User Rights
Man pages
Troubleshooting