Не удается загрузить Debian arm64 на Windows с использованием Qemu

Вопрос или проблема

Я использую машину с Windows и хочу эмулировать операционную систему Debian с архитектурой arm64. Я скачал ISO-образ для настройки новой виртуальной машины. Я использовал следующую команду:

qemu-system-arm.exe -cdrom debian-8.3.0-arm64-xfce-CD-1.iso -boot d -machine kzm

Я также пробовал другие машины, но результат остается тем же:

Warning: Orphaned drive without device: id=ide1-cd0,file=debian-8.3.0-arm64-xfce-CD-1.iso,if=ide,bus=1,unit=0
qemu: fatal: Trying to execute code outside RAM or ROM at 0x00004000

R00=00000000 R01=00000000 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=00004000
PSR=400001d3 -Z-- A svc32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
FPSCR: 00000000

Это приложение запросило завершение работы Runtime необычным образом.
Пожалуйста, свяжитесь с командой поддержки приложения для получения дополнительной информации.

Что означает это сообщение об ошибке и как мне правильно загрузить архитектуру arm на моем ПК с Windows?

Ну, прежде всего, qemu-system-arm и kzm оба 32-битные.
Вам нужен qemu-system-aarch64, и, вероятно, -m virt.
Поскольку это “универсальная” виртуальная платформа, необходимо отдельно указать объем оперативной памяти (-M 1024) и модель процессора (-cpu cortex-a57).

Во-вторых, если вы не загружаете ядро напрямую, вам понадобится какое-то прошивочное обеспечение. Если вам не важна постоянная конфигурация загрузки, вы можете просто загрузить это изображение и добавить -bios QEMU_EFI.fd в командной строке.

Если вы действительно хотите постоянную конфигурацию загрузки, загрузите другой образ, распакуйте его, создайте еще один пустой файл на 64 МБ (назовите его params.bin) и добавьте -pflash QEMU_EFI.img -pflash params.bin в командную строку (в таком порядке).

Вам, вероятно, придется как-то добавить образ диска, но эта часть не зависит от ARM или прошивки.

О, и использование -cdrom и -hdX с qemu-system-aarch64 не существовало для -m virt до QEMU 2.3-2.4 где-то.

Ответ или решение

Зачем стоит использовать QEMU для эмуляции Debian ARM64 на Windows

Если вы хотите запустить операционную систему Debian с архитектурой ARM64 на компьютере с Windows, то эмуляция с помощью QEMU является одним из лучших решений. Однако, работа с QEMU может быть непростой, особенно если вы столкнулись с подобными проблемами, как в вашем случае. Ниже вы найдете подробное руководство по устранению ошибок и правильной настройке системы.

Ошибки и их значения

При попытке загрузки системы с использованием вашей команды вы столкнулись с ошибками:

  1. "Warning: Orphaned drive without device…" – Это предупреждение говорит о том, что у вас есть виртуальный CD-привод (в вашем случае файла ISO), который не установлен корректно для вашего конфигурации.

  2. "qemu: fatal: Trying to execute code outside RAM or ROM at 0x00004000" – Эта фатальная ошибка указывает на то, что QEMU пытается выполнить код, который находится за пределами выделенной памяти. Это часто происходит из-за неверной конфигурации виртуальной машины (например, ошибочная указания платформы, объема ОЗУ и т.д.).

Исправление ошибок и рекомендации

1. Используйте правильный эмулятор и архитектуру

Ваши текущие команды используют qemu-system-arm.exe, который предназначен для 32-битных архитектур. Вам следует перейти на qemu-system-aarch64, который поддерживает 64-битные ARM-архитектуры. Пример команды:

qemu-system-aarch64.exe -m 1024 -machine virt -cpu cortex-a57 -cdrom debian-8.3.0-arm64-xfce-CD-1.iso -bios your_bios_file.fd

Здесь:

  • -m 1024 указывает размер оперативной памяти (1024 МБ).
  • -machine virt предоставляет вам универсальную платформу.
  • -cpu cortex-a57 выбирает архитектуру процессора.

2. Загрузите необходимый BIOS

Чтобы успешно загрузить систему, вам понадобится образ прошивки UEFI. Вы можете использовать следующий BIOS, который предоставляет Linaro:

  • Скопируйте их UEFI (например, QEMU_EFI.fd) и добавьте в команду -bios QEMU_EFI.fd.

Если вам нужна постоянная конфигурация загрузки, используйте -pflash вместе с параметрами:

-pflash QEMU_EFI.img -pflash params.bin

Создайте пустой файл params.bin для конфигураций.

3. Проверка совместимости ISO

Не забудьте убедиться, что ISO-образ Debian, который вы используете, действительно предназначен для архитектуры ARM64 и совместим с QEMU. В некоторых случаях вам может понадобиться загрузить другой образ системы или использовать специализированные версии.

Заключение

Следуя представленным рекомендациям, вы сможете избежать распространенных ошибок при эмуляции Debian ARM64 на Windows с помощью QEMU. Убедитесь, что вы используете правильные команды и настройки, чтобы успешно завершить процесс Boot. Если вы еще раз столкнетесь с проблемами, проверьте документацию QEMU для получения дополнительной информации по настройке вашей виртуальной машины.

Оцените материал
Добавить комментарий

Капча загружается...