chroot에 binfmt가 있는 Qemu

chroot에 binfmt가 있는 Qemu

일부 펌웨어를 다운로드했고 그 안에서 몇 가지 명령을 실행하고 싶습니다. 펌웨어를 추출하고 qemu를 설치하고 binfmts를 구성했습니다. 문제는 binfmt가 chroot에서 작동하지 않는다는 것입니다.

Mipsel 파일은 qemu-mipsel-static에 의해 자동으로 실행됩니다:

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

qemu-mipsel-static 명령은 chroot에서 사용할 수 있습니다:

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

두 가지가 결합되면 더 이상 작동하지 않습니다.

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

"해당 파일이나 디렉터리가 없습니다"라고 뜹니다. 찾을 수 없는 파일과 같은 더 관련성 있는 정보를 얻을 수 있는 방법이 있습니까? 이것이 실제로 binfmt의 문제입니까?

내 binfmt 구성은 다음과 같습니다.

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

chroot에서 /usr/lib/binfmt-support/run-Detectors를 사용할 수 없는 것이 문제입니까?

답변1

chroot에서 /usr/lib/binfmt-support/run-Detectors를 사용할 수 없는 것이 문제입니까?

예, 통역사(및 필요한 모든 것)를 chroot에 넣어야 합니다. 내 시스템에는 /proc/sys/fs/binfmt_misc/qemu-mipsel다음이 포함되어 있습니다 .

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

run-detectorschroot에 필요한 모든 것을 추가하거나 binfmt-misc직접 사용하도록 재구성 해야 합니다 qemu-mips-static.

관련 정보