ls -1 / dev / {ashmem, binder} produz o resultado esperado para / dev / ashmem, mas um erro para / dev / binder

Aug 18 2020

fundo

Em outra postagem , relatei que:

Estou executando o Ubuntu 20.04.1 com kernel padrão 5.4.0-42-generic (instalado do Principal) em um sistema UEFI. Quero carregar dois módulos do kernel (" ashmem " e " binder ") com a inicialização segura habilitada. Pelo menos para mim, "binder" carrega bem com a inicialização segura habilitada, mas "ashmem" não carrega com a inicialização segura habilitada. Ambos os módulos são carregados com a inicialização segura desativada.

Ao acima, acrescentarei que habilitei a inicialização segura (e inscrevi o MOK) durante a instalação limpa inicial do Ubuntu 20.04. Mesmo assim, seguindo a excelente sugestão de Rinzwind , executei o seguinte após a instalação inicial:

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

E depois de executar o acima, eu executei novamente:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux

SUCESSO! Ambos “ashmem” e “fichário” carregados! Obrigado Rinzwind !!

Além do mais, o Anbox começa para mim agora com a inicialização segura ativada, que era meu objetivo final. :)

Mensagem de erro

Embora “ashmem” e “fichário” agora carreguem, e embora Anbox agora inicie (e pareça funcionar corretamente) para mim agora com a inicialização segura ativada, eu ainda executei o seguinte:

ls -1 /dev/{ashmem,binder}

E eu obtive o seguinte:

ls: cannot access '/dev/binder': No such file or directory
/dev/ashmem

Agora, ainda estou curioso por que estou recebendo o erro acima ("não é possível acessar '/ dev / binder': arquivo ou diretório inexistente") com relação ao módulo "binder" e se devo me preocupar.

Questões

  1. Deve / dev / binder ser criado ao carregar o módulo “binder”? (E o erro deve me preocupar?)
  2. Se / dev / binder deve ser criado ao carregar o módulo “binder”, como posso forçar a criação de / dev / binder?
  3. E se / dev / binder deve ser criado ao carregar o módulo “binder” (isto é, se eu descobri um bug), onde no Launchpad devo relatar o erro?

Para reiterar, de acordo com lsmod, tanto “ashmem” quanto “fichário” carregam. Além disso, o Anbox parece estar funcionando corretamente para mim agora com a inicialização segura ativada. Estou postando aqui para (a) satisfazer minha própria curiosidade, (b) documentar isso para outros e (c) determinar se um relatório de bug deve ser arquivado em relação ao fichário (e onde arquivá-lo, se garantido).

Respostas

4 GizmoChicken Aug 18 2020 at 08:42

Revendo a página de instalação do Anbox mais de perto, percebi o seguinte:

No Ubuntu 19.10, o driver do binder não cria / dev / binder quando carregado. Isso é intencional. Em vez disso, ele fornece suporte para binderfs ( consulte https://brauner.github.io/2019/01/09/android-binderfs.html ), que é desde PR anbox / anbox # 1309

Embora o acima não se refira especificamente à situação do Ubuntu 20.04, estou supondo que o mesmo se aplica a ele. Com isso em mente, aqui estão as respostas propostas às minhas próprias perguntas:

  1. Não, / dev / binder não deve ser criado ao carregar o módulo “binder”. (E a mensagem de erro não deve me preocupar.)
  2. Não há necessidade (e provavelmente nenhuma maneira) de forçar a criação de / dev / binder.
  3. Não há necessidade de relatar este erro no Launchpad (ou em outro lugar).

Se alguém quiser fornecer uma resposta alternativa (melhor), sinta-se à vontade para fazê-lo. Deixarei esta pergunta em aberto por alguns dias, mas marcarei como RESPONDIDA se não vir nenhuma resposta / comentário adicional nos próximos dias. :)