web-dev-qa-db-ja.com

Qubes OSNetVMへのツリー外カーネルドライバーのインストール

Edimax USB Wi-Fiスティックを購入しました。これには、Linuxで実行するために、ツリー外(つまり、サードパーティ)のカーネルモジュールをコンパイルする必要があります。ただし、Qubes OSは通常のLinuxディストリビューションとは少し異なるため、これを行う方法を理解するのに苦労しています。 NetVMのUSBデバイスを使用するには、2つのUSBコントローラーの1つをNetVMに割り当てる必要があることをすでに知っています。これは、古いUSBWi-Fiデバイスで正常に機能します。 here から、ツリー外のモジュールにはカスタムカーネルを備えたスタンドアロンのNetVMが必要であることがわかったので、作成しました。 here

VMがカスタムカーネルを持つことができる場合–更新可能(StandaloneVMまたはTemplateVM)で、カーネルが(qvm-prefsによって)「none」に設定されている場合の特殊なケースがあります。 VMは「カーネル」からのカーネルを使用しますVMサブディレクトリおよびmodules.imgはR/Wデバイスとして接続されます。FIXME:「なし」は「カスタム」に名前が変更されました。

「VMは「カーネル」からのカーネルを使用しますVMサブディレクトリ」とはどういう意味ですか?どうすればよいですか?

1
Robin Green

これは、_/var/lib/qubes/servicevms_のVMディレクトリが新しいkernelsサブディレクトリを取得し、既存のQubesカーネルと関連モジュールのイメージファイルの1つが自動入力されることを意味します-そして決定的に、後者はVM内にwriteableとしてマウントされます。これがここで必要です。カーネルをカスタマイズするにはitselfvmlinuzを置き換えることができます。ファイル-しかし、それを行う必要がなかったので、私はしませんでした。したがって、カスタムカーネルモジュールのインストールのためにVMを準備するために特別なことをする必要はありませんでした-私はただ:

  1. 他のすべてのVMをシャットダウンし、既存のNetVMを最後にシャットダウンして、新しいVMがUSBコントローラーPCIデバイスを要求できるようにします。
  2. 新しいVMを起動しました
  3. 新しいVMでターミナルを開きました
  4. Sudo yum-deprecated install kernel-devel-$(uname -r) dkmsと入力しました
  5. 指示に従って、カーネルモジュールをそのREADMEファイルにインストールします。
  6. firewallVMを右クリックし、[設定]を選択して、新しいVMをNetVMとして設定します。
0
Robin Green