qemu建立aarch64虛擬機器過程記錄
qemu裝的是5.0版本,系統是紅旗7.3(centos 7.3)
準備幾個檔案,一個是對應的系統映象檔案,一個是EFI檔案。
EFI檔案主要是用來做引導的,具體參考這個
新建一個虛擬機器的硬碟
qemu-img create centos-aarch64.img
啟動
qemu-system-aarch64 -m 5G -cpu cortex-a72 -smp 4 -M virt -bios /home/QEMU_EFI.fd -nographic -drive if=none,file=/home/CentOS-7-aarch64-Everything-1804.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=centos-aarch64.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
隨後進入安裝介面,走安裝流程即可。
安裝完成後,會自動進入登入,輸入賬戶名密碼即可。
啟動後,並沒有網路
可以poweroff關機。
再次啟動虛擬機器,執行的命令如下:
qemu-system-aarch64 -m 5G -cpu cortex-a72 -smp 4 -boot order=cd -M virt -bios /home/wang/qemu_test/QEMU_EFI.fd -nographic -drive if=none,file=centos-arm64.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
等半天發現進入這個頁面
再等一下,到這裡
一度以為這個就是安裝的有問題,其實並不是…
參考這篇文章操作 https://blog.csdn.net/WMX843230304WMX/article/details/102628133
shell那輸入 exit 並回車
選擇 Boot Maintenance Manager 回車,進入
選擇Boot From File
選擇第一個,回車
選擇EFI,回車
選擇centos回車
選擇 grubaa64.efi 或者 shimaa64-centos.efi 都可以進入系統
這裡兩個只是引導方式不一樣,shimaa64-centos.efi走的是bios模式,grubaa64.efi走的是uefi模式
參考 https://www.cnblogs.com/dream397/p/12613326.html 和 https://www.zhihu.com/question/21672895
選擇後,進入這個介面,直接選擇進入系統即可
吐槽
這個過程實在太曲折,中間還嘗試了使用virt-install建立虛擬機器,失敗;
後面又想嘗試用vir-manager去啟動虛擬機器,失敗;
升級了libvirtd,再重新試,依然沒有成功…
準備放棄的時候,看到了 https://blog.csdn.net/WMX843230304WMX/article/details/102628133 ,嘗試一下居然成功了……
前後耗時兩週多,才最終進入到這個系統(安裝只花了一週左右)。
注意
目前似乎並沒有啟動kvm加速,虛擬機器最終也只能跑滿一個CPU,如圖
後續需要在虛擬機器上跑 docker,打包映象,這種情況似乎資源完全不夠用。
vcpu和物理機CPU繫結
可以參考 https://www.cnblogs.com/hukey/p/6401195.html 和
https://cloud.tencent.com/developer/article/1039241
其實沒多大影響,主要的使用場景是有多個虛擬機器的時候,可以把虛擬機器1繫結到其中一個CPU,虛擬機器2繫結到另外一個CPU。