ドライバインストール
インストール手順に関しては、すでに良い記事があるのでそちらを参考に。
ドライバがロードできない問題
インストール時にInfo.plistを編集するので、コードサインエラーが発生する
$ kextutil -tn /Library/Extensions/ProlificUsbSerial.kext
Skipping staging and system policy checks because not running as root, expect staging errors.
Untrusted kexts are not allowed
Kext rejected due to invalid signature: <OSKext 0x7fec95f0a330 [0x7fff8e5aecf0]> { URL = "file:///Library/Extensions/ProlificUsbSerial.kext/", ID = "com.prolific.driver.PL2303" }
Code Signing Failure: code signature is invalid
Warnings:
Dependency lacks appropriate value for OSBundleRequired and may not be available during early boot:
com.apple.iokit.IOSerialFamily - Safe Boot
Diagnostics for /Library/Extensions/ProlificUsbSerial.kext:
Warnings:
Dependency lacks appropriate value for OSBundleRequired and may not be available during early boot:
com.apple.iokit.IOSerialFamily - Safe Boot
Appleのサイトを確認するとドライバ(KEXT's)の場合はInfo.plistも追跡対象と記載があるのでこれが原因で間違いなさそう
Approved KEXTs are tracked in a system-wide policy database through the team identifier in the KEXT's code signature and the bundle identifier from the KEXT's Info.plist, so updating a KEXT that has already been approved will not trigger a new approval request.
参照元:https://developer.apple.com/library/archive/technotes/tn2459/_index.html
SIPを無効にする
リカバリモードでcsrutil disableを実行し、System Integrity Protection(SIP)を無効化すれば問題なくロードできるようになる
ロードは以下のコマンド
sudo kextload /Library/Extensions/ProlificUsbSerial.kext
下のサイトがよくまとまっています。
https://leico.github.io/TechnicalNote/Mac/csrutil
Macで保護されるディレクトリ
システム整合性保護では、システムの以下の部分が保護されます。
/システム
/usr
/bin
/sbin
/var
OS X にあらかじめインストールされている App
他社製の App とインストーラが引き続き書き込めるパスと App は、以下の通りです。
/アプリケーション
/ライブラリ
/usr/local