Как запустить subiquity в qemu на ARM64?

Я хотел бы запустить установщик Ubuntu в qemu. Я использовал ядро ​​из соответствующих образов компакт-дисков Ubuntu и проверил мою командную строку, используя архитектуру AMD64:

$ qemu-system-x86_64 --version
QEMU emulator version 2.5.0 ..
$ isoinfo -R -x "/install/vmlinuz" -i bionic-server-amd64.iso >linux
$ qemu-system-x86_64 -nodefaults -nographic -kernel linux \
   -serial stdio -append "console=ttyS0" \
   -machine pc -cpu qemu64 -m 1G
[    0.0000000] Linux version 4.15.0-44-generic ..

Тем не менее, когда я пытаюсь сделать то же самое для архитектуры ARM64 (не для моей основной арки):

$ qemu-system-aarch64 --version
QEMU emulator version 2.5.0 ..
$ isoinfo -R -x "/install/vmlinuz" -i bionic-server-arm64.iso >linux
$ qemu-system-aarch64 -nodefaults -nographic -kernel linux \
   -serial stdio -append "console=ttyAMA0" \
   -machine virt -cpu cortex-a53 -m 1G

Я получаю нулевой выход при использовании процессора на 100%. Как я могу определить, что пошло не так?

Выполнение с -d unimp -D debug.log показывает:

read access to unsupported AArch64 system register op0:3 op1:0 crn:0 crm:7 op2:2

1 ответ

Решение

Просто обновите свою систему.

И ядра AMD64, и ARM64 запускаются точно так, как пытались использовать QEMU emulator version 3.1.0

Обратите внимание, что командная строка не совсем то же самое, console=ttyS0 переводит на console=ttyAMA0 на ARM. Чтобы по-настоящему начать subiquity, добавьте -initrd initrd -cdrom bionic-server-arm64.iso

  • извлечь с помощью isoinfo -R -x "/install/initrd.gz" -i bionic-server-arm64.iso >initrd (проверьте результаты - isoinfo не выйдет из строя подробно)
  • загрузка из ISO будет медленной, добавление virtio и больше ядер может привести к значительному ускорению
  • при добавлении файла preseed обратите внимание на местоположение монтирования cdrom, например file=/cdrom/preseed/example.seed
Другие вопросы по тегам