littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Python的openEuler镜像转换工具

项目简介

EulerInit是借助Python语言开发的便捷镜像转换工具,能将openEuler系统从ISO文件自动化制作成各种公有云的虚拟机镜像。其原理是利用Python shell调用QEMU,在本地启动文件服务器传输安装包到虚拟机,并使用kickstart文件进行自动化安装。

项目的主要特性和功能

  1. 多平台兼容:支持阿里云、华为云、腾讯云等主流公有云平台,在x86_64和aarch64架构上有不同的兼容表现。
  2. 自动化安装:运用kickstart文件实现自动化安装流程,提高镜像制作效率。
  3. 镜像生成:依据openEuler的ISO文件,生成适用于不同云平台的虚拟机镜像。
  4. 模板拓展:用户可自定义模板文件,以兼容更多公有云平台和满足不同的安装需求。
  5. 脚本拓展:支持用户使用自定义的转换脚本和模板文件,实现个性化安装。

安装使用步骤

安装依赖

  1. 安装Python。
  2. 安装qemu-imgqemu-system-x86_64qemu-system-aarch64等虚拟化工具,并将其加入环境变量:
    • Windows系统:从此处下载QEMU的Windows版本,人工将qemu安装目录加入环境变量。
    • Linux系统(以Ubuntu为例):利用apt-getyum安装qemu-system-x86qemu-system-armqemu-utils
  3. 安装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

注意事项

  1. 需确保qemu-img等虚拟化工具已安装并加入环境变量。
  2. 生成的镜像默认使用openEuler@123456作为root用户密码,可根据需要修改。
  3. 在阿里云生成镜像时,由于阿里云本身兼容性问题,无法支持从控制台初始化密码或者修改密码,用户可考虑临时使用生成镜像时的密码,远程登录后在命令行利用passwd等命令修改密码,或通过阿里云的配置实例自定义数据功能,编写在启动时自动执行的shell脚本以修改密码。

参考内容

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】