Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统 1

简介: Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统

遇到的问题

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 模式就自动分区了…

目录
相关文章
|
24天前
|
运维 自然语言处理 Linux
os-copilot安装和使用体验及遇到的问题总结
OS Copilot是阿里云推出的操作系统智能助手,基于大模型技术,支持自然语言问答、命令执行和系统运维调优等功能,帮助用户更高效地使用Linux系统。本文介绍了OS Copilot的产品优势、功能特点及使用方法,包括对话模式、-t/-f/管道等参数的使用,以及安装和配置步骤。通过OS Copilot,用户可以简化复杂命令的操作,提升工作效率。同时,文中也分享了个人开发者在实际使用中的体验和建议,指出了一些有待改进的地方。
|
26天前
|
存储 弹性计算 NoSQL
os-copilot安装与多项功能测评
本文介绍了os-copilot的安装及多项功能测评。首先,通过xShell连接服务器并使用`rpm -q os-copilot`检查是否已安装,若未安装则用`yum install`命令安装。接着,配置ACCESS_KEY信息以连接阿里云服务。深入测试部分展示了-t参数用于环境健康检查、-f参数处理复杂任务、|参数解释代码等功能,还演示了编写shell脚本创建和启动Redis的便捷性。这些功能对基础运维和开发人员有较大帮助。
115 12
|
16天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
159 84
|
11天前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
24天前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
91 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
11天前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
26 6
|
24天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
59 20
|
16天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
54 7
|
24天前
|
弹性计算 运维 数据可视化
OS Copilot安装与多项功能测评报告
OS Copilot安装与多项功能测评报告
89 15
|
17天前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
41 5