Ports/armh/QEMU: различия между версиями
(→U-Boot) |
Нет описания правки |
||
Строка 35: | Строка 35: | ||
Порт 5901 - опции -vnc :1 | Порт 5901 - опции -vnc :1 | ||
и т.д. | и т.д. | ||
{{Category navigation|title=Ports/ARM|category=Ports|category=ARM|sortkey=*}} |
Текущая версия от 10:49, 8 сентября 2023
На этой странице описано, как запустить виртуальную машину armh под QEMU.
Шаг 0. Для запуска порта ALT на armh необходимо установить QEMU с поддержкой armh. Например, в случае хостовой системы на ALT x86_64: qemu-system-arm-core. Также могут потребоваться пакеты: qemu-ui-sdl, qemu-device-display-virtio-vga, qemu-device-display-virtio-vga-gl, qemu-device-display-virtio-gpu, qemu-device-display-virtio-gpu-gl. Для поддержки kvm при запуске на armh c поддержкой armh нужно установить также qemu-kvm.
На данный момент можно запускать qemu с U-Boot в качестве BIOS.
Сборки должны содержать /boot/extlinux/extlinux.conf. При запуске загрузчик U-Boot ищет один из нескольких доступных механизмов загрузки ОС. Загрузка из файла extlinux.conf, содержащегося в папке /boot/extlinux раздела ext4 является одним из таких механизмов.
U-Boot
Шаг 1. Необходимо получить u-boot-qemu для архитектуры armh. Распаковать из полученного rpm файл u-boot.bin. Для распаковки подойдёт архиватор Engrampa графической среды Mate.
Шаг 2. После этого, скачав один из образов rootfs (см. выше) можно запускать QEMU, заменив <IMAGE> на путь к образу rootfs:
Для запуска qemu-образа aarm укажите вместо <armh/u-boot.bin> путь к u-boot для aarmh:
$ qemu-system-arm \
-machine virt -m 2048 -smp 4 \
-bios <armh/u-boot.bin> \
-drive if=none,id=sda,format=raw,file=<IMAGE> \
-device virtio-blk-device,drive=sda \
-device virtio-keyboard -device virtio-tablet \
-net nic -net user,hostfwd=tcp::2270-:22 \
-device virtio-gpu-gl,xres=1366,yres=768 -nographic -display sdl,gl=on
Весь текстовый вывод будет отображаться в терминале. Графика на экране sdl. Для запуска в kvm (аппаратная виртуализация) на armh, замените 'qemu-system-arm -machine virt' на kvm.
Для запуска по протоколу vnc замените '-device virtio-vga-gl -display sdl,gl=on' на '-device virtio-vga -vnc :0'. И подключайтесь командой:
remote-viewer vnc://localhost:5900
Порт 5900 соответствует опции -vnc :0 Порт 5901 - опции -vnc :1 и т.д.