qemu系统arm chroot非法指令

qemu系统arm chroot非法指令,arm,router,qemu,firmware,chroot,Arm,Router,Qemu,Firmware,Chroot,我在Ubuntu 16.04中安装了qemu系统arm来运行dlink DIR868L的固件。但是当我使用命令chroot./squashfs root//bin/sh时,它只显示非法指令。我通过binwalk从DIR868LB1\u FW203b01.bin获取squashfs root/,我确信/bin/sh存在于squashfs root/中 我通过sudo qemu系统arm-M versatilepb-kernel vmlinuz-2.6.32-5-variable-initrd in

我在Ubuntu 16.04中安装了qemu系统arm来运行dlink DIR868L的固件。但是当我使用命令
chroot./squashfs root//bin/sh
时,它只显示
非法指令
。我通过
binwalk
DIR868LB1\u FW203b01.bin
获取
squashfs root/
,我确信
/bin/sh
存在于
squashfs root/

我通过sudo qemu系统arm-M versatilepb-kernel vmlinuz-2.6.32-5-variable-initrd initrd.img-2.6.32-5-variable-hda debian_squence_armel_standard.qcow2启动qemu-附加“root=/dev/sda1”-net nic-net tap并使用
scp
到cpoy
squashfs root/
到虚拟机械中。在使用
debian_wheezy_armel_standard.qcow2

我该怎么办?这件事困扰了我整整一个下午

或者有人能给我举个例子,在qemu中运行arm固件吗?我只找到了很多使用基于mips的固件的例子


非常感谢

问题几乎可以肯定,因为DIR868lL中的任何CPU都比“versatilepb”板上的ARM926 CPU更新。如果该固件中的二进制文件构建为使用较新的指令,那么在旧CPU的仿真中运行它们将产生“非法指令”信号,就像在真正的旧ARM硬件上运行它们一样


这类似于使用为Core2 Duo构建的二进制文件,并尝试在旧奔腾系统上运行它们:它不会工作。

非常感谢!我使用DIR868L使用的cortex-a9尝试armhf,它工作得非常完美!再次感谢你!这是任何遇到和我一样问题的人的参考资料。