OSの再起動の間にkext設定を保存したいのですが。kextをすぐにロードした後、設定が必要なため、デーモンの起動を管理するのが待ちきれません。kextからkextplistファイルを読み書きする方法ですか、それとも他の方法ですか?
1 に答える
基本的に、いいえ-設定をユーザースペースに保存し、launchdサービスを使用してkextに設定することになっています。kextが設定を受け取るまでは、いくつかの適切なデフォルトを使用する必要があります。
kextの起動に設定を実際に含める1つの方法は、kextのinfo.plistのIOKitPersonalityにカスタム属性を追加することです。明らかに、これは設定を変更するにはkext自体を変更する必要があることを意味しますが、Appleの公開ダーウィンメーリングリストで実際にこれを行っているという報告を聞いています(ただし、Appleの従業員はそれを批判しました)。kextキャッシュはこれを好まないことに注意してください:ユーザースペースプログラムがinfo.plistの設定を変更する場合、kextキャッシュが変更を取得するためにバンドルのバージョン番号を増やす必要があります。そうでない場合、キャッシュ/事前リンクされたkext変更は表示されません。kextバンドルバージョンのルールの制約内でこれを行う必要がありますまたは、バージョンの増加として検出されないか、さらに悪いことに、kextキャッシュはkextを完全に拒否します。また、kextsを更新した後は、/ System / Library /Extensions/にタッチすることを忘れないでください。
更新: kextの署名要件により、kextのinfo.plistの変更は10.9および10.10では機能しなくなります。
kextがストレージフィルタースキームである特定のケースでは、プロバイダーパーティションの特別な「スーパーブロック」に設定を保存できます。たとえば、AppleRAID(オープンソース)はこれを行います。ただし、これは他の種類のkextでは実用的ではありません。