Ports/riscv64/QEMU: различия между версиями
Строка 36: | Строка 36: | ||
$ apt-get update | $ apt-get update | ||
$ apt-get install opensbi-firmware-generic | $ apt-get install opensbi-firmware-generic | ||
$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf | |||
</source> | </source> | ||
Версия от 15:32, 10 ноября 2021
Поддержка RISC-V в отличается в различных версиях qemu.
QEMU 5.0
Для запуска образов на QEMU необходимо выполнить следующие шаги:
Шаг 0. Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: qemu-system-riscv-core.
Шаг 1.a Прошивка OpenSBI для QEMU virt находится внутри qcow2/qcow2c. Скопируем её из образа:
root$ qemu-nbd -c /dev/nbd0 qemu-riscv64.qcow2c
root$ mount /dev/nbd0p1 /mnt
root$ cp -v /mnt/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf .
user$ FIRM=./fw_payload.elf
Шаг 1.b Альтернативный вариант: загрузить и установить последнюю версию пакета прошивки OpenSBI для QEMU virt. После этого прошивка OpenSBI будет находится в /usr/share/opensbi/qemu/virt/firmware/fw_payload.elf
Например:
user$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-qemu-0.6-alt1.noarch.rpm
root$ rpm -i opensbi-firmware-qemu-0.6-alt1.noarch.rpm
user$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf
Шаг 1.с В случае хостовой системы ALT можно добавить noarch репозиторий riscv64 и установить пакет opensbi-firmware-generic
:
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'
$ apt-get update
$ apt-get install opensbi-firmware-generic
$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf
Шаг 2. Запуск образа qcow2/qcow2c на QEMU можно осуществить следующей командой, указав в QCOW путь к образу:
$ QCOW=qemu-riscv64.qcow2c
$ qemu-system-riscv64 \
-nographic -machine virt -kernel "$FIRM" \
-m 2G -smp cpus=4 \
-drive file="$QCOW",id=hd0 -device virtio-blk-device,drive=hd0 \
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0
Шаг 3. Дальнейшая настройка графической системы выполняется при помощи VNC. При подключении по VNC установлен стандартный пароль alt, его будет предложено поменять при первоначальной настройке.