Qemu com binfmt no chroot

0

Eu fiz o download de alguns firmwares e quero executar alguns comandos nele. Eu extraí o firmware, instalei o qemu e configurei binfmts. O problema é que o binfmt não funciona no chroot.

Os arquivos Mipsel são executados automaticamente pelo qemu-mipsel-static:

firmware$ bin/ls
/lib/ld-uClibc.so.0: No such file or directory

O comando qemu-mipsel-static está disponível no chroot:

firmware$ sudo chroot . /usr/bin/qemu-mipsel-static /bin/ls
webroot     tmp         sbin        media       home        dev

Ao combinar os dois, não funciona mais:

firmware$ sudo chroot . /bin/ls
chroot: failed to run command ‘/bin/ls’: No such file or directory

Diz "Nenhum arquivo ou diretório". Existe alguma maneira de obter mais informações sobre isso, por exemplo, que arquivo não pode ser encontrado? Isso é realmente um problema com o binfmt?

Minha configuração do binfmt é assim:

$ cat /proc/sys/fs/binfmt_misc/qemu-mipsel 
enabled
interpreter /usr/lib/binfmt-support/run-detectors
flags: 
offset 0
magic 7f454c4601010100000000000000000002000800
mask ffffffffffffff00fffffffffffffffffeffffff

É um problema que / usr / lib / binfmt-support / run-detectors não esteja disponível no chroot?

    
por Sjoerd 02.09.2016 / 12:26

1 resposta

1

Is it a problem that /usr/lib/binfmt-support/run-detectors is not available in the chroot?

Sim, você precisa ter o intérprete (e tudo que ele precisa) dentro do chroot. No meu sistema, /proc/sys/fs/binfmt_misc/qemu-mipsel contém

enabled
interpreter /usr/bin/qemu-mipsel-static
flags: OC
offset 0
magic 7f454c4601010100000000000000000002000800
mask ffffffffffffff00fefffffffffffffffeffffff

Você deve tentar adicionar run-detectors e tudo o que precisa em seu chroot ou reconfigurar binfmt-misc para usar qemu-mips-static diretamente.

    
por 02.09.2016 / 13:07