ls -1 / dev / {ashmem, binder}는 / dev / ashmem에 대한 예상 결과를 산출하지만 / dev / binder에 대해서는 오류가 발생합니다.

Aug 18 2020

배경

다른 게시물에서 다음 과 같이보고했습니다.

UEFI 시스템에서 기본 커널 5.4.0-42-generic (Main에서 설치)으로 Ubuntu 20.04.1 을 실행 하고 있습니다. 보안 부팅이 활성화 된 상태에서 두 개의 커널 모듈 ( " ashmem "및 " binder ") 을로드하고 싶습니다 . 적어도 나에게는 "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 / binder'에 액세스 할 수 없음 : 해당 파일 또는 디렉토리 없음")가 발생하는 이유 와 우려해야할지 여전히 궁금 합니다.

질문

  1. "binder"모듈을로드 할 때 / dev / binder를 만들어야합니까? (오류가 저와 관련이 있습니까?)
  2. "binder"모듈을로드 할 때 / dev / binder를 만들어야하는 경우 / dev / binder를 강제로 만들려면 어떻게해야합니까?
  3. "binder"모듈을로드 할 때 / dev / binder를 생성해야하는 경우 (즉, 버그를 발견 한 경우) 런치 패드에서 오류를보고해야하는 위치는 무엇입니까?

다시 말하면 lsmod에 따르면 "ashmem"과 "binder"가 모두로드됩니다. 또한 Anbox 는 이제 Secure Boot가 활성화 된 상태에서 제대로 작동하는 것 같습니다. 나는 여기에 (a) 내 호기심을 충족시키고, (b) 다른 사람들을 위해 이것을 문서화하고, (c) 바인더와 관련하여 버그 보고서를 제출해야하는지 여부를 결정하기 위해 여기에 게시하고 있습니다.

답변

4 GizmoChicken Aug 18 2020 at 08:42

Anbox 의 설치 페이지를 더 자세히 살펴보면 다음과 같은 사실을 발견했습니다.

Ubuntu 19.10에서 바인더 드라이버는로드 될 때 / dev / binder를 생성하지 않습니다. 그것은 의도적 인 것입니다. 대신 PR anbox / anbox # 1309 이후 인 binderfs ( https://brauner.github.io/2019/01/09/android-binderfs.html 참조 )에 대한 지원을 제공합니다.

위 구체적으로 우분투 20.04의 상황을 언급하지 않지만, 난 추측 같은가 적용되는 제품보기. 이를 염두에두고 내 질문에 대한 제안 된 답변은 다음과 같습니다.

  1. 아니요, "binder"모듈을로드 할 때 / dev / binder를 만들면 안됩니다. (그리고 오류 메시지는 저와 관련이 없습니다.)
  2. / dev / binder를 강제로 생성 할 필요가 없습니다 (아마도 방법이 없을 것입니다).
  3. Launchpad (또는 다른 곳)에서이 오류를보고 할 필요가 없습니다.

대체 (더 나은) 답변을 제공하려는 사람이 있으면 언제든지 그렇게하세요. 이 질문을 며칠 동안 열어 두겠습니다. 며칠 내에 추가 답변 / 댓글이 없으면 답변 됨으로 표시하겠습니다. :)