遇到的问题
qemu-system-aarch64
启动的虚拟机,无法受到kvm
的管理,也无法在后台运行终端一旦断开了,虚拟机就被关掉了,想再次进入目前没找到方法,都会回到安装操作系统的步骤
可能是
centos
有某些特殊性吧,暂时没太多时间研究,后期有时间了再看看有没有解决的方案
安装 qemu-system-aarch64
qemu-5.2.0
和之后的版本都需要使用python 3.6
以上版本的环境才可以编译,不然会返回下面的报错
ERROR: Cannot use '/usr/bin/python', Python >= 3.6 is required. Use --python=/path/to/python to specify a supported Python.
安装依赖
yum install -y qemu-* pixman-devel gcc gcc-c++ make
不安装 pixman-devel
会有下面的报错
ERROR: pixman >= 0.21.8 not present. Please install the pixman devel package.
开始编译
wget --no-check-certificate https://download.qemu.org/qemu-4.2.0.tar.xz tar xf qemu-4.2.0.tar.xz cd qemu-4.2.0/ ./configure --target-list=aarch64-softmmu make make install
--target-list
指定需要装的架构,支持的架构非常多,默认这个 参数是 ALL
,太多了,没必要,这里就取自己需要的 aarch64-softmmu
创建 aarch64 操作系统
创建 kvm 存储路径
mkdir -p /data/kvm/iso cd /data/kvm/iso
准备 aarch64 的 iso 镜像
就还是拿 centos 举个栗子吧
使用的镜像版本高于当前宿主机的版本会有如下报错
(而且和当前版本持平也不行,必须低一个子版本......)
Failed to set MokListRT: Invalid Parameter Something has gone seriously wrong: import_mok_state() failed : Invalid Parameter
wget -c --no-check-certificate \ https://archive.kernel.org/centos-vault/altarch/7.6.1810/isos/aarch64/CentOS-7-aarch64-Minimal-1804.iso
下载 aarch64 的 UEFI 固件
wget http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd -O /data/kvm/QEMU_EFI.fd
创建虚拟磁盘
qemu-img create -f qcow2 /data/kvm/centos-aarch64.qcow2 100G
创建虚拟机
参数相关的,可以参考这篇博客:qemu-system-aarch64 使用和相关参数介绍
qemu-system-aarch64 \ -machine virt \ -cpu cortex-a57 \ -smp 1 \ -m 2048 \ -bios /data/kvm/QEMU_EFI.fd \ -device virtio-scsi-device \ -device scsi-cd,drive=cdrom \ -drive if=none,file=/data/kvm/iso/CentOS-7-aarch64-Minimal-1804.iso,id=cdrom,media=cdrom \ -device virtio-blk-device,drive=vd0 \ -drive if=none,file=/data/kvm/centos-aarch64.qcow2,id=vd0 \ -device virtio-net-device,netdev=eth0 \ -netdev user,id=eth0,hostfwd=tcp:172.72.0.106:10022-:22 \ -nographic
键盘方向键来选择安装
因为没有配置网络,这里是不支持 vnc ,因为没有开图形化,所以只能使用 text 的形式来选择
如果按了方向键出现乱码,可以按住 ctrl
键 + backspace
减来删除
已配置的项目,都会显示
[x]
输入数字
1~9
回车来配置不同的内容,输入q
退出,输入b
开始安装,输入r
刷新、
语言设置
时区设置
安装来源
软件选择
磁盘分区
Kdump 配置
网络配置
root 用户密码
创建用户
语言设置
这里我就默认是英文,就不操作了
时区设置
输入 2 之后回车
修改时区
配置 ntp 服务
输入 1 之后回车,修改时区
欧洲
亚洲
美洲
非洲
南极洲
太平洋
澳大利亚
大西洋
印度
北极
美国
etc 时区
输入 2 回车,这里需要再敲一次回车,但是我们可以先看这里面有没有自己想要的时区,比如我选择 上海
,那就是数字 64
因为分辨率的问题,还有其他城市没有展示出来,下面的这个界面,就可以输入 64 然后回车了
安装来源
输入 3 回车
CD/DVD
本地 ISO 文件
网络
可以直接按 c 回车,默认是
本地 ISO 文件
的方式
软件选择
输入 4 回车
因为我下载的是 minimal 的镜像,所以没有其他选择,centos 完整镜像会有很多选项,这一块大家知道是啥内容就可以了,思路和上面的时区配置是一样的,只需要输入对应的数字再回车就好了
我这里就输入 c 继续了
磁盘分区
输入 5 回车
选择磁盘,我这里只有一块 100G 的,只需要输入 c 回车就好了
替换现有 Linux 系统
使用全部的空间
使用空余的空间
我这边就使用默认的,
[x]
在 2 的位置,直接输入 c 回车就可以了配置分区方案
标准分区
Btrfs
LVM 逻辑卷
LVM 精简资源调配
没其他特殊情况,就用默认的
LVM 逻辑卷
模式,输入 c 直接回车,好像 text 模式就自动分区了…