Прошивка mips в mips debian: chroot Неверная инструкция

Я хочу запустить прошивку в среде эмуляции Debian.

Когда я ввожу команду chroot, я получаю сообщение об ошибке «Недопустимая инструкция».

Но я думаю, что архитектура такая же, как я покажу вам следующим образом. И я могу запустить bin/busybox напрямую, но я не могу перейти в каталог с ним как с bash.

вот подробности:

текущую информацию

Виртуальная среда для созданной мной прошивки — debian stretch(9.11.0) mipsel.

Будет ли это из-за подархитектуры? Например, моя машина malta, но прошивка на самом деле работает в loongson. Может ли программа работать в loongson на Мальте? (На самом деле я не знаю окружения прошивки, у меня есть только ubifs/файлы.)


person 50u1w4y    schedule 14.01.2020    source источник
comment
В этой настройке вы используете эмуляцию linux-пользователя QEMU в chroot (т. е. хост x86-64, а двоичные файлы внутри chroot — это mips), или вы используете эмуляцию системы QEMU для запуска полного ядра MIPS, а затем внутри эта эмулированная система использует chroot для запуска двоичных файлов из коробки loongson?   -  person Peter Maydell    schedule 14.01.2020
comment
Я подозреваю, что недопустимая инструкция была инструкцией loongson, но ваш компьютер на Мальте имеет более старый процессор (24K?). Просмотр дампа ядра с помощью gdb должен помочь.   -  person markgz    schedule 15.01.2020
comment
@PeterMaydell Я использую эмуляцию системы QEMU для запуска полного ядра MIPS (malta), а внутри него использую chroot для запуска файловой системы прошивки, но на самом деле я не знаю, происходит ли это из коробки loongson или нет, единственное сообщение Я получаю из команды файла, что это из архитектуры MIPS.   -  person 50u1w4y    schedule 15.01.2020
comment
@markgz Извините, я до сих пор понимаю, что вы имеете в виду. Вы имеете в виду, что моя модель процессора старше, чем модель процессора прошивки, поэтому есть некоторые инструкции, которые я не могу выполнить, верно? Я использую эмуляцию qemu для запуска прошивки, а ядро, которое я использую, — vmlinux-4.9.0-11-4kc-malta, на самом деле это MIPS 24Kc. Итак, где я могу получить ядро ​​​​более новой модели процессора? Кажется, что только у 24K? И еще вопрос, так как модель процессора более старая, почему я могу запустить его напрямую? Большое спасибо.   -  person 50u1w4y    schedule 15.01.2020
comment
@markgz Спасибо за вашу помощь, я обнаружил, что могу выбрать процессор при запуске системы с помощью qemu-system-mipsel. После того, как я выбираю более новый процессор (74Kc), он работает.   -  person 50u1w4y    schedule 15.01.2020


Ответы (1)


Спасибо за ответ @markgz, я решил эту проблему.

Это потому, что у меня старая модель процессора (24kc).

Вы можете выбрать модель процессора при запуске системы Debian с помощью qemu-system-mipsel. После того, как вы выберете более новую модель процессора, например 74Kc, она работает в моей ситуации. Может быть, это может помочь и вам.

person 50u1w4y    schedule 15.01.2020