Dalam jawaban ini: Apakah ada gambar Ubuntu QEMU prebuilt (32bit) online? Saya telah menjelaskan pengaturan kerja berikut untuk Ubuntu 18.04 guest / host:
- cloud image arm64: pengaturan tercepat untuk memulai
- debootstrap arm64: cukup cepat, tetapi memungkinkan untuk lebih banyak penyesuaian gambar
Pengaturan tersebut memberikan gambar disk prebuilt, dan tidak melalui installer. Mereka adalah pilihan terbaik yang pernah saya lihat sejauh ini.
Selanjutnya, saya juga berhasil menjalankan image server arm64 di QEMU. Namun, ini berjalan melalui penginstal, yang merupakan batas tidak praktis untuk dilakukan, kecuali Anda tidak berada pada host ARM dengan KVM. Ini sangat menyakitkan karena lusinan interaksi diperlukan untuk menyelesaikan instalasi.
Berikut ini skrip server, yang diuji pada host Ubuntu 18.10:
#!/usr/bin/env bash
set -eux
# Tested on Ubuntu 18.10.
# - /superuser/942657/how-to-test-arm-ubuntu-under-qemu-the-easiest-way
# - /ubuntu/797599/how-to-run-ubuntu-16-04-arm-in-qemu
# Parameters.
id=ubuntu-18.04.1-server-arm64
#id=debian-9.6.0-arm64-xfce-CD-1
img="${id}.img.qcow2"
img_snapshot="${id}.img.snapshot.qcow2"
iso="${id}.iso"
flash0="${id}-flash0.img"
flash1="${id}-flash1.img"
# Images.
if [ ! -f "$iso" ]; then
wget "http://cdimage.ubuntu.com/releases/18.04/release/${iso}"
fi
if [ ! -f "$img" ]; then
qemu-img create -f qcow2 "$img" 1T
fi
if [ ! -f "$img_snapshot" ]; then
qemu-img \
create \
-b "$img" \
-f qcow2 \
"$img_snapshot" \
;
fi
if [ ! -f "$flash0" ]; then
dd if=/dev/zero of="$flash0" bs=1M count=64
dd if=/usr/share/qemu-efi/QEMU_EFI.fd of="$flash0" conv=notrunc
fi
if [ ! -f "$flash1" ]; then
dd if=/dev/zero of="$flash1" bs=1M count=64
fi
# Run.
#
# cdrom must be scsi or else the installation fails midway with:
#
# > Detect and mount CD-ROM
# >
# > Your installation CD-ROM couldn't be mounted. This probably means
# > that the CD-ROM was not in the drive. If so you can insert it and try
# > again.
# >
# > Retry mounting the CD-ROM?
# > Your installation CD-ROM couldn't be mounted.
#
# This is because the drivers for the default virtio are not installed in the ISO,
# because in the past it was not reliable on qemu-system-aarch64.
#
# See also:
# https://bazaar.launchpad.net/~ubuntu-testcase/ubuntu-manual-tests/trunk/view/head:/testcases/image/1688_ARM64_Headless_KVM_Guest
qemu-system-aarch64 \
-cpu cortex-a57 \
-device rtl8139,netdev=net0 \
-device virtio-scsi-device \
-device scsi-cd,drive=cdrom \
-device virtio-blk-device,drive=hd0 \
-drive "file=${iso},id=cdrom,if=none,media=cdrom" \
-drive "if=none,file=${img_snapshot},id=hd0" \
-m 2G \
-machine virt \
-netdev user,id=net0 \
-nographic \
-pflash "$flash0" \
-pflash "$flash1" \
-smp 2 \
;
GitHub hulu .
Lihat juga ini untuk emulasi Raspberry Pi: /programming/28880833/how-to-emulate-the-raspberry-pi-2-on-qemu/45814913#45814913
desktop amd64 ditampilkan di: Bagaimana menjalankan Desktop Ubuntu 16.04 di QEMU?