更新2023年2月28日:Appleは、システム拡張機能内からソケットを開くメカニズムを提供していません(知っている場合は、私に知らせてください)。カーネル拡張から離れたこのイニシエーターの移植は、システム拡張機能の「iouserscsiparlelerinterfacecontroller」によって促進されますが、ソケットのオープニング /管理は通信に必要です。そうする手段がなければ、プロジェクトの再編成が必要です(帯域幅はありません)。このようなアーキテクチャは、パフォーマンスのペナリティをもたらす可能性があります。 kpi_socketインターフェイスの交換用Appleが(ユーザーランド /システム拡張機能)をどのように置き換えるかは明らかではありません。
2021年3月27日更新:DriverKit 20.4(ベータ)がリリースされるまで、さらなる開発が保留され、 IOUserSCSIParallelInterfaceControllerのサポートがあります。このソフトウェアは、最終的にカーネルエクステンションから離れます。
ISCSIイニシエーターは、MACOSのソフトウェアイニシエーターです。 MACOを実行しているマシンがISCSIターゲットに接続できるようになります。ユーザーがボリュームを作成およびマウントできる論理ユニットを自動的に検出およびマウントします。 ISCSI標準の詳細については、IETF RFC3720を参照してください。
カーネル拡張機能のビルドは署名されず、その結果、MacOSはそれらをロードしません。したがって、KEXTの署名は、カーネル拡張機能をインストールしてロードしようとする前に無効にする必要があります。さらに、El Capitanの時点で、特定の保護されたシステムフォルダーにファイルのインストールを妨げる新しいセキュリティ対策が実装されています(適切なインストーラーによってファイルが配置されない限り)。このため、イニシエーターを設置する前に、関連バージョンのmacOSに適用可能な指示に従うことが重要です。
端末プロンプトで次のコマンドを実行します。
sudo nvram boot-args=kext-dev-mode=1
カーネルは、再起動後に署名されていないカーネル拡張機能をロードします。
Recover OS端子ウィンドウで次のコマンドを実行します。
csrutil disable
システム整合性保護ガイドの指示に従って、回復OS端子ウィンドウにアクセスします。このプロセス中に2つの再起動が必要になる場合があります。
目的のリリースイメージファイル(.DMG)、Mount and Run Installer.pkgをダウンロードして、イニシエーターをインストールします。同様に、 Uninstall.pkgを実行して、システムからイニシエーターを削除します。イニシエーターソフトウェアを更新または削除するときに、ISCSIターゲットが接続されていないことを確認するか、インストール中にエラーが発生する可能性があります。
既存のインストールがある場合は、インストーラーを起動する前にすべてのターゲットをログアウトします。インストーラーは、存在して新しいファイルをインストールする場合、ISCSIイニシエーターカーネル拡張機能をアンロードしようとします。 ISCSI構成は変更されません(既存の設定が保持されます)。