Найти в Дзене

Запуск Ubuntu ARM aarch64 с QEMU на OSX.

Это шаги, которые я использовал для запуска Ubuntu ARM aarch64 с QEMU на OSX.
Получите образ Ubuntu и QEMU EFI:
Создайте тома EFI:
dd if=/dev/zero of=flash0.img bs=1m count=64

Это шаги, которые я использовал для запуска Ubuntu ARM aarch64 с QEMU на OSX.

Получите образ Ubuntu и QEMU EFI:

Создайте тома EFI:

dd if=/dev/zero of=flash0.img bs=1m count=64

dd if=QEMU_EFI.fd of=flash0.img conv=notrunc

dd if=/dev/zero of=flash1.img bs=1m count=64

Создайте файл cloud.txt, заменив имя пользователя, показанное здесь как oznu, и значение ssh-rsa на подходящие для вас значения:

users:

- name: oznu

ssh-authorized-keys:

- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...

sudo: ['ALL=(ALL) NOPASSWD:ALL']

groups: sudo

shell: /bin/bash

Создайте образ диска с облачной конфигурацией:

cloud-localds --disk-format qcow2 cloud.img cloud.txt

cloud-localds является частью пакета cloud-utils, которого нет в OSX. Я использовал образ докера Ubuntu для запуска команды.

docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) ubuntu

apt-get update && apt-get -y install cloud-utils

cloud-localds --disk-format qcow2 cloud.img cloud.txt

Сделайте резервную копию вашего изображения:

cp ubuntu-16.04-server-cloudimg-arm64-uefi1.img ubuntu-16.04-server-cloudimg-arm64-uefi1.img.original

Запустите QEMU Guest:

qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic \

-pflash flash0.img \

-pflash flash1.img \

-drive if=none,file=ubuntu-16.04-server-cloudimg-arm64-uefi1.img,id=hd0 \

-device virtio-blk-device,drive=hd0 \

-drive if=none,id=cloud,file=cloud.img \

-device virtio-blk-device,drive=cloud \

-netdev user,id=user0 -device virtio-net-device,netdev=user0 \

-redir tcp:2222::22

-2