qemu起arm64虚拟机

参考https://gist.github.com/oznu/ac9efae7c24fd1f37f1d933254587aa4

首先下载image, https://cloud-images.ubuntu.com/

本文以 ubuntu-16.04-server-cloudimg-arm64-uefi1.img为例。

wget ubuntu-16.04-server-cloudimg-arm64-uefi1.imge。这里把密码改为root,用户名是ubuntu。

sudo apt-get install cloud-image-utils

cat >user-data <

制作uefi flash。

wget https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd
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

启动qemu

qemu-system-aarch64 \
        -machine virt-3.1 \
        -smp 8 \
        -m 1G,slots=2,maxmem=3G \
        -enable-kvm \
        -cpu host \
        -nographic \
        -drive if=none,file=ubuntu-16.04-server-cloudimg-arm64-uefi1.img,id=hd0 \
        -monitor unix:qemu-monitor-socket,server,nowait \
        -device virtio-blk-device,drive=hd0 \
        -qmp unix:./qmp-sock,server,nowait \
        -qmp tcp:localhost:6666,server,nowait \
        -device pcie-pci-bridge,bus=pcie.0,id=pcie-bridge-0,msi=on,x-pcie-lnksta-dllla=on,addr=2,romfile= \
        -device pci-bridge,bus=pcie-bridge-0,id=pci.0,shpc=on,msi=on,chassis_nr=1,addr=2 \
        -pflash flash0.img \
        -pflash flash1.img \
        -netdev user,id=user0 -device virtio-net-device,netdev=user0 \


使用ubuntu:root登录

为了能够正常上网,需要在虚拟机里配一下dns。

如果启动的时候报出qemu-system-aarch64: Parameter 'type' expects a netdev backend type,这是qemu-binary或者相关配置的错误,需要重新编译,但是其中的配置我还不清楚。一般使用apt install的就可以。

如果没有进入系统,可能是uefi有问题,也可能是image被损坏。请参考开头的链接,重新下载image,使用ssh的方式登录,不要修改image的密码。

 

你可能感兴趣的:(虚拟化)