记录:virt-manager配置Ubuntu arm虚拟机

virt-manager(Virtual Machine Manager)是一个图形用户界面应用程序,通过libvirt管理虚拟机(即作为libvirt的图形前端)

因为要在Linux arm环境做测试,记录下virt-manager配置arm虚拟机的过程

先在VMWare中安装一个Ubuntu 18 x86_64虚拟机

VMWare设置虚拟化:

启动x86_64 Ubuntu虚拟机,部分操作可能需要超级管理权限,设置下root密码:

sudo passwd root

 检测下当前环境是否支持虚拟化:

# 参考:https://linux.cn/article-9516-1.html
# 检查是否支持虚拟化
# 1.使用 egrep 命令查明你的CPU是否支持,输出要大于0
egrep -c 'vmx|svm' /proc/cpuinfo
# 2.使用 cpu-checker 工具检测
sudo apt install cpu-checker
kvm-ok

没问题后开始安装virt-manager相关的环境:

# 参考:https://blog.csdn.net/networken/article/details/136747410
sudo apt update -y
# qemu+kvm
sudo apt install -y qemu-kvm 
# libvirt
sudo apt install -y virt-manager libvirt-daemon-system libvirt-clients virtinst 
# bridge tool
sudo apt install -y bridge-utils

qemu-kvm - 为 KVM 管理程序提供硬件模拟的软件程序

virt-manager - 图形化的虚拟机管理工具,用于管理KVM、QEMU等虚拟机

libvirt-daemon-system - 将 libvirt 守护程序作为系统服务运行的配置文件

libvirt-clients - 用来管理虚拟化平台的软件

virtinst - 用来创建虚拟机的命令行工具

bridge-utils - 用来配置网络桥接的命令行工具

安装时如果遇到lvm2报错,执行:

# 参考:https://blog.csdn.net/watt1208/article/details/138967796
# 可能需要进入su执行
systemctl unmask lvm2-lvmetad.socket
systemctl restart lvm2-lvmetad.socket
systemctl unmask lvm2-lvmpolld.socket
systemctl restart lvm2-lvmpolld.socket
dpkg --configure lvm2

 默认只有管理权限才能访问kvm,普通用户添加访问权限:

sudo adduser <username> libvirt
sudo adduser <username> kvm

virt-manager装好后,去下载我们的Linux arm镜像,我用的Ubuntu-18.04.6-server-arm64.iso:

https://cdimage.ubuntu.com/ubuntu/releases/

解锁virt-manager的架构设置选项:

# 参考:https://www.cnblogs.com/ishmaelwanglin/p/17821825.html
sudo apt install -y qemu-system-arm  ovmf qemu-efi

终端命令或程序列表里打开virt-manager:

virt-manager

新建虚拟机:

参考:https://blog.csdn.net/luyixiaoqingge/article/details/136364652

点左上角开始安装后,一路默认安装

Disk设置选Yes:

因为配置较差,安装了几十分钟

这里选的SSH,又安装了几十分钟

装好后,关闭虚拟机,设置共享文件夹挂载路径:

重新开机后,设置 root 密码,在 root 权限下操作:

apt update -y
# 挂载前先安装 nfs-common 或者 nfs-utils
apt install -y nfs-common 
# 然后将之前设置的 shared 标记挂载到虚拟机指定目录
# 参考:https://blog.csdn.net/ww7109/article/details/133129777
mount -t 9p -o trans=virtio shared /demo

遇到文件或者文件夹权限问题(Permission denied),无脑chmod 777 加权限,外部内部都加上

有时挂载遇到报错(一般启动有ERROR信息就会遇到),重启下虚拟机

虚拟机是64位的,安装运行32位需要的库:

# 启用 32 位架构支持
dpkg --add-architecture armhf
apt update -y
# 安装此架构 C/C++ 标准库
apt install -y libc6:armhf libstdc++6:armhf
# 装完标准库后可能还不能运行带 so 动态库的程序,安装 multilib
# multilib 支持系统上同时编译和运行 32 位和 64 位程序
apt install -y gcc-multilib g++-multilib

用 ldd 查看 32 位程序提示 not a dynamic executable:

先找到 ldd 和 ld-linux 位置:

修改ldd的RTLDLISTL路径,或者复制一份ldd命名为ldd32,编辑ldd32文件把32位的ld-linux路径替换上去:

# cp /usr/bin/ldd /usr/bin/ldd32
# 原值 RTLDLIST=/lib/ld-linux-aarch64.so.1
RTLDLIST=/lib/ld-linux.so.3
# 或者修改原来的ldd,加引号,空格隔开
RTLDLIST="/lib/ld-linux-aarch64.so.1 /lib/ld-linux.so.3"

可以用vi编辑ldd文件,输入i进入编辑模式,编辑完ESC退出编辑,再输入:wq或者:wq!保存退出

执行ldd32:

挂载USB设备直接在virt-manager里设置,这里以一个USB硬盘为例:

会在设备列表里多一个设备信息:

在虚拟机里执行lsusb查看设备:

### 如何在ARM架构上设置和使用Ubuntu虚拟机 #### 下载适用于ARMUbuntu镜像 为了在ARM设备上运行Ubuntu虚拟机,首先需要获取专为ARM架构设计的Ubuntu镜像文件。这可以通过访问官方提供的Ubuntu ARM镜像下载页面来实现[^1]。 #### 安装虚拟化软件 对于ARM平台而言,并不是所有的虚拟化工具都支持该架构。QEMU是一个广泛兼容的选择,它能够很好地适配多种硬件环境,包括基于ARM的处理器。安装过程通常涉及通过包管理器(如APT)来进行: ```bash sudo apt update && sudo apt install qemu-y ``` #### 创建新的虚拟机实例 启动`virt-manager`图形界面程序后,点击“创建新虚拟机”。选择本地ISO映像作为安装源,并指定之前下载好的ARM版本Ubuntu ISO路径。配置好内存大小、CPU核心数以及其他必要的参数之后继续下一步操作。 #### 完成操作系统安装 按照屏幕提示完成标准的Linux发行版安装流程即可。值得注意的是,在某些情况下可能需要手动调整引导加载程序的位置以适应特定的目标机器特性。 #### 设置静态IP地址 一旦Ubuntu成功部署完毕,如果希望为其分配固定的网络位置,则应遵循现代方法而非传统的修改`/etc/network/interfaces`的方式。具体来说,应当编辑Netplan配置文件,一般位于`/etc/netplan/`目录下,例如名为`01-netcfg.yaml`: ```yaml network: version: 2 ethernets: ens33: # 这里替换为你实际使用的网卡名称 dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: search: [mydomain, otherdomain] addresses: [8.8.8.8, 8.8.4.4] ``` 保存更改后的配置文件并通过执行命令应用这些改动: ```bash sudo netplan apply ``` 以上步骤涵盖了从准备到激活整个过程中所需的关键环节[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚建波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值