树莓派4b安装使用kvm
基础环境
树莓派4b,ubuntu 22.04
安装kvm
# kvm相关
apt install qemu-system-arm libvirt-daemon-system virtinst bridge-utils seabios
# cloudinit工具
apt install cloud-image-utils
cloud-init
准备cloud-init配置cloud-init.cfg
#cloud-config
system_info:
default_user:
name: ubuntu
home: /home/ubuntu
password: ${PASSWORD}
chpasswd: { expire: False }
hostname: ubuntu-vm
# 配置 sshd 允许使用密码登录
ssh_pwauth: True
生成cloud-init的iso
cloud-localds cloud-init.iso cloud-init.cfg
镜像
下载ubuntu cloud image的arm64版本,转换为qcow2
qemu-img convert -f qcow2 -O qcow2 ubuntu-22.04-server-cloudimg-arm64.img root-disk.qcow2
VM
引用磁盘、cloud-init iso、创建vm。
virt-install \
--name ubuntu-vm \
--memory 2048 \
--disk /media/root-disk.qcow2,device=disk,bus=virtio \
--disk /media/cloud-init.iso,device=cdrom \
--os-variant ubuntu22.04 \
--virt-type kvm \
--graphics none \
--network network=default,model=virtio \
--import
配置vnc
如果需要增加vnc,virsh edit <vmName>
修改xml
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<video>
<model type='virtio' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
</video>
配置了vnc后,qemu会在宿主机上监听vnc端口,不需要考虑端口映射
参考
ARM环境KVM快速起步 — Cloud Atlas 0.1 文档 (cloud-atlas.readthedocs.io)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。