openEuler Embedded 构建 ARM64 QEMU 镜像

openEuler Embedded  构建 ARM64 QEMU 镜像 Winki 2023-11-22 18:21:37 405

openEuler Embedded采用yocto构建,但通过 oebuild 简化了构建流程。按照以下步骤可以快速构建出一个openEuler Embedded镜像,包括工具链。

当前仅支持在x86_64位的Linux环境 下使用 oebuild 进行构建,且需在 普通用户 下进行 oebuild 的安装运行。
openEuler Embedded 的 CI 会归档最新的构建镜像。若希望快速获取可用的镜像,请访问 dailybuild ,在 dailybuild/openEuler-Mainline/openeuler-xxxx-xx-xx/embedded_img 中可以下载镜像。

1. 安装必要的主机包

需要在构建主机上安装必要的主机包,包括oebuild及其运行依赖:

openEuler

# 安装必要的软件包
$ sudo yum install python3 python3-pip docker
$ pip install oebuild

# 配置docker环境
$ sudo usermod -a -G docker $(whoami)
$ sudo systemctl daemon-reload && sudo systemctl restart docker
$ sudo chmod o+rw /var/run/docker.sock

Ubuntu

# 安装必要的软件包
$ sudo apt-get install python3 python3-pip docker docker.io
$ pip install oebuild

# 配置docker环境
$ sudo usermod -a -G docker $(whoami)
$ sudo systemctl daemon-reload && sudo systemctl restart docker
$ sudo chmod o+rw /var/run/docker.sock

SUSELeap15.4

#安装必要的软件包
$ sudo zypper install python311 python311-pip docker
$ pip3 install oebuild

#配置docker环境
$ sudo usermod -a -G docker $(whoami)
$ sudo systemctl restart docker
$ sudo chmod o+rw /var/run/docker.sock
$ sudo systemctl enable docker

#配置最新版python
$ cd /usr/bin
$ sudo rm python python3
$ sudo ln -s python3.11 python
$ sudo ln -s python3.11 python3

2. 初始化oebuild构建环境

运行 oebuild 完成初始化工作,包括创建工作目录、拉取构建容器等,之后的构建都需要在<work_dir> 下进行:

# <work_dir> 为要创建的工作目录
$ oebuild init <work_dir>

# 切换到工作目录
$ cd <work_dir>

# 拉取构建容器、yocto-meta-openeuler 项目代码
$ oebuild update

3. 开始构建

继续执行以下命令进行 ARM64 QEMU 镜像的构建,build_arm64 为该镜像的构建目录:

# 所有的构建工作都需要在 oebuild 工作目录下进行
$ cd <work_dir>

# 为 openeuler-image-qemu-arm64 镜像创建配置文件 compile.yaml
$ oebuild generate -p qemu-aarch64 -d build_arm64

# 切换到包含 compile.yaml 的编译空间目录,如 build/build_arm64/
$ cd build/build_arm64/

# 根据提示进入 build_arm64 构建目录,并开始构建
$ oebuild bitbake openeuler-image

4. 运行镜像

完成构建后,在构建目录下的 output 目录下可以看到如下文件:

  • zImage: 内核镜像,基于openEuler社区Linux 5.10代码构建;
  • openeuler-image-qemu-xxx.cpio.gz: 标准根文件系统镜像, 进行了必要安全加固,增加了audit、cracklib、OpenSSH、Linux PAM、shadow、iSula容器等所支持的软件包;
  • openeuler-image-qemu-aarch64-xxx.iso: iso格式的镜像,可用于制作U盘启动盘;
  • vmlinux: 对应的vmlinux,可用于内核调试。

在主机上通过以下命令安装QEMU:

openEuler

$ sudo yum install qemu-system-aarch64

Ubuntu

$ sudo apt-get install qemu-system-arm

SUSELeap15.4

$ sudo zypper install qemu-arm

之后,通过以下命令启动镜像:

$ qemu-system-aarch64 -M virt-4.0 -m 1G -cpu cortex-a57 -nographic \
    -kernel zImage \
    -initrd openeuler-image-qemu-aarch64-*.rootfs.cpio.gz

QEMU运行成功并登录后,将会呈现openEuler Embedded的Shell。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Winki
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Winki
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区