ls -1 / dev / {ashmem、binder}は、/ dev / ashmemに対して期待される結果を生成しますが、/ dev / binderに対してエラーが発生します
バックグラウンド
別の投稿で、私はそれを報告しました:
UEFIシステムでデフォルトのカーネル5.4.0-42-generic(Mainからインストール)を使用してUbuntu20.04.1を実行しています。セキュアブートを有効にして2つのカーネルモジュール(「ashmem」と「binder」)をロードしたい。少なくとも私にとっては、「バインダー」はセキュアブートを有効にすると正常にロードされますが、「ashmem」はセキュアブートを有効にするとロードされません。両方のモジュールは、セキュアブートを無効にしてロードします。
上記に、Ubuntu 20.04の最初のクリーンインストール中にセキュアブートを有効にした(およびMOKを登録した)ことを追加します。それでも、Rinzwindから提供された優れた提案に従って、最初のインストール後に次のことを実行しました。
sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/`uname -r`/kernel/drivers/staging/android/ashmem_linux.ko
そして、上記を実行した後、私は再実行しました:
sudo modprobe ashmem_linux
sudo modprobe binder_linux
lsmod | grep -e ashmem_linux -e binder_linux
成功!「ashmem」と「binder」の両方がロードされました!ありがとうRinzwind !!
さらに、Anboxは、私の最終目標であるセキュアブートを有効にして開始します。:)
エラーメッセージ
「ashmem」と「binder」の両方が読み込まれ、セキュアブートが有効になっているため、Anboxが起動します(正常に動作しているようです)が、次のコマンドを実行しました。
ls -1 /dev/{ashmem,binder}
そして、私は以下を取得しました:
ls: cannot access '/dev/binder': No such file or directory
/dev/ashmem
さて、「バインダー」モジュールに関して、なぜ上記のエラー(「/ dev /バインダーにアクセスできません」:そのようなファイルまたはディレクトリはありません」)が発生する理由と、心配する必要があるかどうかについては、まだ興味があります。
質問
- 「バインダー」モジュールのロード時に/ dev /バインダーを作成する必要がありますか?(そして、エラーは私に関係するべきですか?)
- 「バインダー」モジュールのロード時に/ dev /バインダーを作成する必要がある場合、/ dev /バインダーを強制的に作成するにはどうすればよいですか。
- また、「バインダー」モジュールのロード時に/ dev /バインダーを作成する必要がある場合(つまり、バグを発見した場合)、Launchpadのどこでエラーを報告する必要がありますか?
繰り返しになりますが、lsmodによると、「ashmem」と「binder」の両方がロードされます。また、セキュアブートを有効にすると、Anboxは正常に機能しているようです。私はここに投稿して、(a)自分の好奇心を満たし、(b)他の人のためにこれを文書化し、(c)バインダーに関してバグレポートを提出する必要があるかどうか(および必要に応じてどこに提出するか)を決定します。
回答
Anboxのインストールページを詳しく調べてみると、次のことに気づきました。
Ubuntu 19.10では、バインダードライバーはロード時に/ dev / binderを作成しません。それは意図的なものです。代わりに、バインダーフのサポートを提供します(https://brauner.github.io/2019/01/09/android-binderfs.htmlを参照)。これは、PR anbox / anbox#1309以降です。
上記は、特にUbuntuの20.04のための状況を指すものではありませんが、私はよ推測同じがそれに適用されること。それを念頭に置いて、ここに私自身の質問に対する提案された答えがあります:
- いいえ、「バインダー」モジュールのロード時に/ dev / binderを作成しないでください。(そして、エラーメッセージは私には関係ありません。)
- / dev / binderを強制的に作成する必要はありません(おそらく方法もありません)。
- Launchpad(または他の場所)でこのエラーを報告する必要はありません。
誰かが別の(より良い)答えを提供したい場合は、遠慮なくそうしてください。この質問は数日間開いたままにしておきますが、数日以内に追加の回答/コメントが表示されない場合は、回答済みとしてマークします。:)