遇到的问题

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 刷新、

  1. 语言设置
  2. 时区设置
  3. 安装来源
  4. 软件选择
  5. 磁盘分区
  6. Kdump 配置
  7. 网络配置
  8. root 用户密码
  9. 创建用户
语言设置

这里我就默认是英文,就不操作了

时区设置

输入 2 之后回车

在这里插入图片描述

  1. 修改时区
  2. 配置 ntp 服务

输入 1 之后回车,修改时区

在这里插入图片描述

  1. 欧洲
  2. 亚洲
  3. 美洲
  4. 非洲
  5. 南极洲
  6. 太平洋
  7. 澳大利亚
  8. 大西洋
  9. 印度
  10. 北极
  11. 美国
  12. etc 时区

输入 2 回车,这里需要再敲一次回车,但是我们可以先看这里面有没有自己想要的时区,比如我选择 上海,那就是数字 64

在这里插入图片描述

因为分辨率的问题,还有其他城市没有展示出来,下面的这个界面,就可以输入 64 然后回车了

在这里插入图片描述

安装来源

输入 3 回车

在这里插入图片描述

  1. CD/DVD
  2. 本地 ISO 文件
  3. 网络

可以直接按 c 回车,默认是 本地 ISO 文件 的方式

软件选择

输入 4 回车

因为我下载的是 minimal 的镜像,所以没有其他选择,centos 完整镜像会有很多选项,这一块大家知道是啥内容就可以了,思路和上面的时区配置是一样的,只需要输入对应的数字再回车就好了

我这里就输入 c 继续了

在这里插入图片描述

磁盘分区

输入 5 回车

选择磁盘,我这里只有一块 100G 的,只需要输入 c 回车就好了

在这里插入图片描述

在这里插入图片描述

  1. 替换现有 Linux 系统
  2. 使用全部的空间
  3. 使用空余的空间

我这边就使用默认的,[x] 在 2 的位置,直接输入 c 回车就可以了

配置分区方案

在这里插入图片描述

  1. 标准分区
  2. Btrfs
  3. LVM 逻辑卷
  4. LVM 精简资源调配

没其他特殊情况,就用默认的 LVM 逻辑卷 模式,输入 c 直接回车,好像 text 模式就自动分区了…

Kdump 配置

输入 6 回车

在这里插入图片描述

  1. 开启 kdump[x] 表示开启,[ ] 表示关闭)
  2. kdump 大小 (默认 128 MB)

一般是不开启 kdump,输入 1 之后回车,然后再输入 c 继续

在这里插入图片描述

网络配置

输入 7 回车

在这里插入图片描述

  1. 配置主机名
  2. 配置 eth0 网卡

主机名看自己需求要不要配置,我这就输入 2 配置网卡了

在这里插入图片描述

  1. 配置静态 ipv4 的 ip 地址或者 dhcp 模式 (默认 dhcp)
  2. 配置 ipv4 的子网掩码
  3. 配置 ipv4 的网关
  4. 配置 ipv6 静态地址或者 dhcp 模式
  5. 配置 ipv6 的网关
  6. 配置 dns
  7. 重启后自动开启网卡
  8. 在安装程序中应用配置

依次输入 7 和 8 之后,输入两次 c 继续后面的设置

root 用户密码

输入 8 回车

密码不是明文显示的,输入密码之后回车就可以了,如果密码太简单,输入 yes 就可以了

在这里插入图片描述

创建用户

输入 9 回车

在这里插入图片描述

输入 1 回车,开始创建用户

在这里插入图片描述

  1. 创建用户[x] 表示创建,[ ] 表示不创建)
  2. 全名
  3. 用户名
  4. 配置密码
  5. 是否管理员
  6. 用户组

输入 2 创建全名后,用户名也会被复用,这里直接输入用户名就可以了,比如我这里创建的用户名是:chen2ha

在这里插入图片描述

输入 4 回车,配置用户密码,这时候会多一个选项 5 来配置密码

在这里插入图片描述

输入 5 配置密码,这个创建 root 用户密码是一样的操作,没有附加组的情况下,直接输入 c 继续就可以了

在这里插入图片描述

安装操作系统

所有配置都显示 [x] 之后,输入 b 回车,开始操作系统的安装,静静的等待安装完成

在这里插入图片描述

等待安装完成后,就进入虚拟机了

在这里插入图片描述

安装完成后,默认是 ssh 是禁止 root 用户登录的,可以使用下面的命令来验证

grep -i rootlogin /etc/ssh/sshd_config

需要打开 root 用户远程登录,就取消 PermitRootLogin yes 前面的注释,重启 sshd 服务就好了

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐