mips debian中的mips固件:chroot非法指令

mips debian中的mips固件:chroot非法指令,debian,mips,qemu,firmware,chroot,Debian,Mips,Qemu,Firmware,Chroot,我想在debian仿真环境中运行固件 当我输入chroot命令时,我得到错误非法指令 但我认为架构是一样的,我将向您展示如下。我可以直接运行bin/busybox,但不能将它作为bash启动到dir 详情如下: 我创建的固件的虚拟环境是debian stretch(9.11.0)mipsel 这会是因为子架构吗?例如,我的机器是malta,但固件实际上在龙芯运行。龙格森的程序能在马耳他运行吗?(实际上我不知道固件的环境,我只有ubifs/文件。)谢谢@markgz的回复,我已经解决了这个问题

我想在debian仿真环境中运行固件

当我输入chroot命令时,我得到错误非法指令

但我认为架构是一样的,我将向您展示如下。我可以直接运行bin/busybox,但不能将它作为bash启动到dir

详情如下:

我创建的固件的虚拟环境是debian stretch(9.11.0)mipsel


这会是因为子架构吗?例如,我的机器是malta,但固件实际上在龙芯运行。龙格森的程序能在马耳他运行吗?(实际上我不知道固件的环境,我只有ubifs/文件。)

谢谢@markgz的回复,我已经解决了这个问题

这是因为我有一个旧的cpu型号(24kc)


使用qemu系统mipsel启动debian系统时,可以选择cpu型号。在你选择了一个较新的cpu型号,如74Kc,它在我的情况下工作。也许这也可以帮助您。

在这个设置中,您是在chroot中使用QEMU的linux用户模拟(即主机是x86-64,chroot中的二进制文件是mips),还是使用QEMU的系统模拟来运行完整的mips内核,然后在模拟系统中使用chroot运行龙芯盒中的二进制文件?我怀疑非法指令是龙芯指令,但您的机器有一个较旧的CPU(24K?)。使用gdb查看内核转储应该会有所帮助。@PeterMaydell我正在使用QEMU的系统仿真来运行一个完整的MIPS(马耳他)内核,并在其中使用chroot来运行固件文件系统,但实际上我不知道它是否来自龙芯盒,我从file命令中得到的唯一信息是它来自MIPS体系结构。@markgz对不起,我现在才明白你的意思。你是说我的cpu型号比固件的cpu型号旧,所以有些指令我不能运行,对吗?我使用qemu仿真来运行固件,我使用的内核是vmlinux-4.9.0-11-4kc-malta,它实际上是MIPS 24Kc。那么,我在哪里可以得到一个更新的cpu模型内核呢?似乎只有24K?还有一个问题,既然cpu型号比较旧,为什么我可以直接运行它?非常感谢。@markgz谢谢你的帮助,我发现我可以在使用qemu系统mipsel启动系统时选择cpu。在我选择了一个新的cpu(74Kc)之后,它就可以工作了。