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

2つを組み合わせると、もう機能しません。

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

おすすめ記事