qemu-system-arm chroot非法指令

时间:2018-04-23 13:37:20

标签: arm router qemu firmware chroot

我在Ubuntu 16.04中安装qemu-system-arm来运行dlink DIR868L的固件。但是当我使用命令chroot ./squashfs-root/ /bin/sh时,它只显示Illegal instruction。我从squashfs-root/ DIR868LB1_FW203b01.bin获得binwalk,我确信/bin/sh中存在squashfs-root/

我从qemu开始sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1" -net nic -net tap,并使用scpsquashfs-root/变为虚拟机。我在使用debian_wheezy_armel_standard.qcow2

时遇到了同样的问题

我该怎么办?整个下午都困扰着我。

或者,有人能举例说明在qemu中运行 arm 固件吗?我只找到许多使用基于mips的固件的例子。

非常感谢!

1 个答案:

答案 0 :(得分:0)

问题几乎可以肯定是因为DIR868lL中的CPU比ARM926 CPU更新,而且#34; versatilepb"董事会。如果构建来自该固件的二进制文件以使用较新的指令,则在较旧CPU的仿真中运行它们将导致非法指令'信号,就像你在真正的旧ARM硬件上运行它们一样。

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