Как запустить 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