项目简介
EulerInit是借助Python语言开发的便捷镜像转换工具,能将openEuler系统从ISO文件自动化制作成各种公有云的虚拟机镜像。其原理是利用Python shell调用QEMU,在本地启动文件服务器传输安装包到虚拟机,并使用kickstart文件进行自动化安装。
项目的主要特性和功能
- 多平台兼容:支持阿里云、华为云、腾讯云等主流公有云平台,在x86_64和aarch64架构上有不同的兼容表现。
- 自动化安装:运用kickstart文件实现自动化安装流程,提高镜像制作效率。
- 镜像生成:依据openEuler的ISO文件,生成适用于不同云平台的虚拟机镜像。
- 模板拓展:用户可自定义模板文件,以兼容更多公有云平台和满足不同的安装需求。
- 脚本拓展:支持用户使用自定义的转换脚本和模板文件,实现个性化安装。
安装使用步骤
安装依赖
- 安装Python。
- 安装
qemu-img
、qemu-system-x86_64
、qemu-system-aarch64
等虚拟化工具,并将其加入环境变量:- Windows系统:从此处下载QEMU的Windows版本,人工将qemu安装目录加入环境变量。
- Linux系统(以Ubuntu为例):利用
apt-get
或yum
安装qemu-system-x86
、qemu-system-arm
和qemu-utils
。
- 安装EulerInit依赖的Python软件包,由
requirments.txt
指定。若使用pip安装EulerInit,它们将自动一并安装(需要联网环境):requests>=2.24.0 pycdlib>=1.10.0 click>=7.1.2
安装EulerInit
- 若已获得wheel安装包,直接利用pip安装:
shell pip install EulerInit-0.1-py3-none-any.whl
- 若从源码安装,使用如下命令:
shell python setup.py bdist_wheel pip install dist/EulerInit-0.1-py3-none-any.whl
- 在Windows环境下,可直接运行源码中提供的安装脚本
install.bat
进行安装。
使用EulerInit
使用命令行工具进行镜像生成,例如:
shell
EulerInit -m ali path/to/x86_64/iso/file
其中,-m
指定目标云平台,path/to/x86_64/iso/file
为ISO文件路径。常见云平台的基本命令如下:
- 阿里云通用计算(x86_64):
EulerInit -m ali path/to/x86_64/iso/file
- 腾讯云通用计算(x86_64):
EulerInit -m tencent path/to/x86_64/iso/file
- 华为云通用计算(x86_64):
EulerInit -m huawei path/to/x86_64/iso/file
- 华为云鲲鹏计算(aarch64):
EulerInit -m huawei path/to/aarch64/iso/file
注意事项
- 需确保
qemu-img
等虚拟化工具已安装并加入环境变量。 - 生成的镜像默认使用
openEuler@123456
作为root用户密码,可根据需要修改。 - 在阿里云生成镜像时,由于阿里云本身兼容性问题,无法支持从控制台初始化密码或者修改密码,用户可考虑临时使用生成镜像时的密码,远程登录后在命令行利用
passwd
等命令修改密码,或通过阿里云的配置实例自定义数据功能,编写在启动时自动执行的shell脚本以修改密码。
参考内容
- kickstart文件规范参见Red Hat Document的kickstart部分
- cloud.cfg文件规范参见cloud-init Document
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】