登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情~
代码拉取完成,页面将自动刷新
仓库状态说明
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
28
Star
92
Fork
272
openEuler
/
yocto-meta-openeuler
关闭
代码
Issues
24
Pull Requests
9
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
雪球计划-里程
已完成
#I90DOU
自定义
alichinese
成员
创建于
2024-02-01 11:02
### 背景 旨在对南向BSP的覆盖活动,目的是扩大openEuler对南向bsp的支持范围,“雪球计划”,寓意openEuler将一步步强大,最终成为国内乃至国际顶流嵌入式操作系统 南向BSP的支持主要以SoC单位,例如NXP的I.MX系列, TI的AMX系列等等,每个系列会选择一款代表性的开发板进行验证。 后续基于同系列SoC的开发板都可以基于样板BSP进行支持。 ### 已有的Yocto BSP参考 * ST的BSP: https://github.com/STMicroelectronics/meta-st-stm32mp * NXP的BSP: https://github.com/nxp-imx/meta-imx * Ti的BSP: https://git.yoctoproject.org/meta-ti/ ### 南向硬件参考 感谢如下公司、组织在硬件上提供的支持和赞助: #### ARM开发板 * 基于ARM架构的SoC和开发板可以基于 * [深圳米尔科技](https://www.myir-tech.com/product/index.asp?anclassid=100)的产品进行选择 ### 移植进度标准 | 资料学习(10%) | 移植流程(80%) | 代码提交(90%) | 文档完善(100%) | | ------------------------------------------------------------ | ------------------------ | ------------------------------------------------ | ------------------------------------------------------------ | | 了解机器(学习硬件特性和功能、源码获取、构建烧录与功能测试的方法) | 内核移植(替换欧拉内核) | 上游代码提交(上游相关吃那个的创建等,找李新宇) | 文档提交(包括构建的镜像截图,烧录截图,运行时截图,启动后的屏显log) | | 机器验证(板载镜像构建、烧录、启动成功并进行简单功能测试) | meta层的适配 | 欧拉源码提交(yocto-meta-openeuler仓的提交) | | | | 开发板整体镜像制作 | | | ### 登记表 | SOC型号 | soc厂商 | bsp型号 | 赞助商 | gitee id | 进度 | 备注 | | ------------ | ------- | -------------------------- | -------- | ------------------ | ---- | -------------------------------------------------- | | T113-S3 | 全志 | MYD-YT113S3-4E128D-110-I-G | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | T113-i | 全志 | MYD-YT113i-4E256D-110-I | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | T527 | 全志 | MYD-LT527M-16E2D-180-E | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | RZ/G2L | 瑞萨 | MYD-YG2L23-8E1D-120-C-REMI | 米尔科技 | alichinese | 15% | 2024/03/09:内核移植阶段<br>2024/02/20:开发板寄出 | | i.MX 6ULL | NXP | MYD-Y6ULY2-V2-4E512D-50-I | 米尔科技 | darrenpig | 0% | 2024/02/20:开发板寄出 | | i.MX 8M Plus | NXP | MYD-JX8MPQ-8E2D-160-I | 米尔科技 | puai | 10% | 2024/03/09:机器验证阶段<br>2024/02/20:开发板寄出 | | STM32MP135 | ST | MYD-YF135-4E512D-100-I | 米尔科技 | bigclouds99 | 0% | 2024/02/20:开发板寄出 | | AM62x | TI | MYD-YM6254-8E2D-140-I | 米尔科技 | emancipator | 10% | 2024/03/09:机器验证阶段<br>2024/02/20:开发板寄出 | ### BSP开发步骤参考如下: 1. 开发板资料学习,了解机器特性,以及使用,测试,烧录方法, 验收标准:开发板特性、开发烧录、测试文档 2. 使用开发板资料的SDK进行构建,做烧录测试,了解其目录结构,所使用的工具,代码、固件存放位置等,厂商linux kernel如果能选择,尽量使 用内核为5.x版本作为参照对象, 验收标准:开发板特性对应的代码目录结构解析 3. 内核移植:下载openeuler-kernel源码,从社区节点embedded-openeuler中进行提取版本号,并下载 例如从master开发,查看https://gitee.com/openeuler/yocto-meta-openeuler/blob/master/.oebuild/manifest.yaml中kernel的tag并下载 代码如下: kernel-5.10: remote_url: https://gitee.com/openeuler/kernel.git version: 673b97e8053120a4b56fe5b5d5748dcef68a3f50 a. 下载源码到本地: git clone https://gitee.com/openeuler/kernel.git openeuler-kernel -b openEuler-22.03-LTS-SP2 cd openeuler-kernel git checkout 673b97e8053120a4b56fe5b5d5748dcef68a3f50 下一步就是驱动移植及验证 b. 从设备树查看外设驱动是否存在设备树中对应节点有compitible属性,在driver里面查找对应的驱动,如果则尝试编译其deconfig,如果没有的话就从厂商提供 的SDK中移植到openeuler-kernel,并完成驱动debug 验收标准:移植完成的内核推送到对应的PR上,并完善文档,外设支持的内容。以及通过的验证方法。 4. 内核移植验证完成后制作yocto-meta-openeuler的BSP层 a. 引入上游的BSP层以及软件层 i. 初始化环境: 1) oebuild init <init_dir> -u <your_own_repo_url> 2) oebuild update 如果上游有BSP层: ii. 复制一份.oebuild/platform/里面的板平台为这次需要的machine,并修改内容为上游层的repo_url以及layer。 iii. 制作完以上文件即可使用oebuild generate -p <machine>,并按指示进入容器 iv. 制作openeuler的适配的附加层: 1) 参考bsp/meta-openeuler-bsp/raspberrypi,在同级目录下新建一个目录vender名字的目录 2) 在上述目录下增加三个基础核心配方集 a) recipes-bsp:存放基础的配方以及固件如uboot/grub/bootfiles等 b) recipes-core:主要存放images/packagegroups/systemd等系统核心部分 c) recipes-kernel:主要存放linux等欧拉内核相关配方 3) 在bsp/meta-openeuler-bsp/conf/layer.conf中参考raspberrypi与rockchip内容,增加自己的附加层 v. 在bsp下制作BSP层,也可以直接复制meta-hisilicon,并修改成自己要样子。也可以参考yocto文档从bitbake构建bsp层 https://docs.yoctoproject.org/bsp-guide/bsp.html#creating-a-new-bsp-layer-using-the-bitbake-layers-script vi. 参考上游通soc的机器配置,加入附加的机器配置 4) 建立该机器配方: a) 如果上游有BSP层:参考上游同soc架构的<machine>.conf,在include内新建一个名为openeuler- <machine>.conf并做通用的欧拉相关的定制修改。制作自己的<machine>.conf,引用通用的openeuler- <machine>.conf,并定义自己所需要的配置 b) 如果上游没有BSP层:参考其他机器的machine.conf,制作一份<machine>.conf 5) <machine>.conf一般有 a) KBUILD_DEFCONFIG内核的defconfig,也可以不定义,定义了就会用内核仓库内的xxxx_defconfig b) SERIAL_CONSOLES定义串行口,波特率等 c) KERNEL_DTB_NAME定义设备树名 vii. 修改内核相关的配方,参考bsp/meta-openeuler-bsp/rockchip/recipes-kernel/linux/ 做实现 viii. kernel仓库在.oebuild/manifest里加上相应仓库地址(测试时可用自己的私仓,在推送PR的时候尽量使用公仓) ix. 验证并DEBUG内核linux-openeuler,烧录并验证 6) bitbake linux-openeuler x. 制作文件系统 参考bsp/meta-openeuler-bsp/rockchip/recipes-core/images,在自己层的recipes-core/images下创建<machine>.inc,定义 分区 yocto 的第 1 页 7) 参考bsp/meta-openeuler-bsp/rockchip/recipes-core/images,在自己层的recipes-core/images下创建<machine>.inc,定义 IMAGE_FSTYPES等(如果machine.conf里面有了也可以不用定义),如果需要把输出挪到output下也可以参考实现 8) 验证并DEBUG文件系统bitbake openeuler-image,烧录并验证 xi. 过程中遇到问题可用btibake -e <recipes>查看执行环境,对照tmp/work/<arch>/<recipes>/<version>/temp内的log对应 相关BUG进行过程验证。 b. 推动相关固件/优化代码欧拉建仓 i. 验证文件系统以及驱动固件及其功能后,可推动欧拉建立相关仓库进行存储 验收标准:移植完成的ycoto代码推送到对应的PR上,并完善文档,功能支持的内容。以及通过的验证方法。
### 背景 旨在对南向BSP的覆盖活动,目的是扩大openEuler对南向bsp的支持范围,“雪球计划”,寓意openEuler将一步步强大,最终成为国内乃至国际顶流嵌入式操作系统 南向BSP的支持主要以SoC单位,例如NXP的I.MX系列, TI的AMX系列等等,每个系列会选择一款代表性的开发板进行验证。 后续基于同系列SoC的开发板都可以基于样板BSP进行支持。 ### 已有的Yocto BSP参考 * ST的BSP: https://github.com/STMicroelectronics/meta-st-stm32mp * NXP的BSP: https://github.com/nxp-imx/meta-imx * Ti的BSP: https://git.yoctoproject.org/meta-ti/ ### 南向硬件参考 感谢如下公司、组织在硬件上提供的支持和赞助: #### ARM开发板 * 基于ARM架构的SoC和开发板可以基于 * [深圳米尔科技](https://www.myir-tech.com/product/index.asp?anclassid=100)的产品进行选择 ### 移植进度标准 | 资料学习(10%) | 移植流程(80%) | 代码提交(90%) | 文档完善(100%) | | ------------------------------------------------------------ | ------------------------ | ------------------------------------------------ | ------------------------------------------------------------ | | 了解机器(学习硬件特性和功能、源码获取、构建烧录与功能测试的方法) | 内核移植(替换欧拉内核) | 上游代码提交(上游相关吃那个的创建等,找李新宇) | 文档提交(包括构建的镜像截图,烧录截图,运行时截图,启动后的屏显log) | | 机器验证(板载镜像构建、烧录、启动成功并进行简单功能测试) | meta层的适配 | 欧拉源码提交(yocto-meta-openeuler仓的提交) | | | | 开发板整体镜像制作 | | | ### 登记表 | SOC型号 | soc厂商 | bsp型号 | 赞助商 | gitee id | 进度 | 备注 | | ------------ | ------- | -------------------------- | -------- | ------------------ | ---- | -------------------------------------------------- | | T113-S3 | 全志 | MYD-YT113S3-4E128D-110-I-G | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | T113-i | 全志 | MYD-YT113i-4E256D-110-I | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | T527 | 全志 | MYD-LT527M-16E2D-180-E | 米尔科技 | wangwei@cdjrlc.com | 0% | 2024/02/20:开发板寄出 | | RZ/G2L | 瑞萨 | MYD-YG2L23-8E1D-120-C-REMI | 米尔科技 | alichinese | 15% | 2024/03/09:内核移植阶段<br>2024/02/20:开发板寄出 | | i.MX 6ULL | NXP | MYD-Y6ULY2-V2-4E512D-50-I | 米尔科技 | darrenpig | 0% | 2024/02/20:开发板寄出 | | i.MX 8M Plus | NXP | MYD-JX8MPQ-8E2D-160-I | 米尔科技 | puai | 10% | 2024/03/09:机器验证阶段<br>2024/02/20:开发板寄出 | | STM32MP135 | ST | MYD-YF135-4E512D-100-I | 米尔科技 | bigclouds99 | 0% | 2024/02/20:开发板寄出 | | AM62x | TI | MYD-YM6254-8E2D-140-I | 米尔科技 | emancipator | 10% | 2024/03/09:机器验证阶段<br>2024/02/20:开发板寄出 | ### BSP开发步骤参考如下: 1. 开发板资料学习,了解机器特性,以及使用,测试,烧录方法, 验收标准:开发板特性、开发烧录、测试文档 2. 使用开发板资料的SDK进行构建,做烧录测试,了解其目录结构,所使用的工具,代码、固件存放位置等,厂商linux kernel如果能选择,尽量使 用内核为5.x版本作为参照对象, 验收标准:开发板特性对应的代码目录结构解析 3. 内核移植:下载openeuler-kernel源码,从社区节点embedded-openeuler中进行提取版本号,并下载 例如从master开发,查看https://gitee.com/openeuler/yocto-meta-openeuler/blob/master/.oebuild/manifest.yaml中kernel的tag并下载 代码如下: kernel-5.10: remote_url: https://gitee.com/openeuler/kernel.git version: 673b97e8053120a4b56fe5b5d5748dcef68a3f50 a. 下载源码到本地: git clone https://gitee.com/openeuler/kernel.git openeuler-kernel -b openEuler-22.03-LTS-SP2 cd openeuler-kernel git checkout 673b97e8053120a4b56fe5b5d5748dcef68a3f50 下一步就是驱动移植及验证 b. 从设备树查看外设驱动是否存在设备树中对应节点有compitible属性,在driver里面查找对应的驱动,如果则尝试编译其deconfig,如果没有的话就从厂商提供 的SDK中移植到openeuler-kernel,并完成驱动debug 验收标准:移植完成的内核推送到对应的PR上,并完善文档,外设支持的内容。以及通过的验证方法。 4. 内核移植验证完成后制作yocto-meta-openeuler的BSP层 a. 引入上游的BSP层以及软件层 i. 初始化环境: 1) oebuild init <init_dir> -u <your_own_repo_url> 2) oebuild update 如果上游有BSP层: ii. 复制一份.oebuild/platform/里面的板平台为这次需要的machine,并修改内容为上游层的repo_url以及layer。 iii. 制作完以上文件即可使用oebuild generate -p <machine>,并按指示进入容器 iv. 制作openeuler的适配的附加层: 1) 参考bsp/meta-openeuler-bsp/raspberrypi,在同级目录下新建一个目录vender名字的目录 2) 在上述目录下增加三个基础核心配方集 a) recipes-bsp:存放基础的配方以及固件如uboot/grub/bootfiles等 b) recipes-core:主要存放images/packagegroups/systemd等系统核心部分 c) recipes-kernel:主要存放linux等欧拉内核相关配方 3) 在bsp/meta-openeuler-bsp/conf/layer.conf中参考raspberrypi与rockchip内容,增加自己的附加层 v. 在bsp下制作BSP层,也可以直接复制meta-hisilicon,并修改成自己要样子。也可以参考yocto文档从bitbake构建bsp层 https://docs.yoctoproject.org/bsp-guide/bsp.html#creating-a-new-bsp-layer-using-the-bitbake-layers-script vi. 参考上游通soc的机器配置,加入附加的机器配置 4) 建立该机器配方: a) 如果上游有BSP层:参考上游同soc架构的<machine>.conf,在include内新建一个名为openeuler- <machine>.conf并做通用的欧拉相关的定制修改。制作自己的<machine>.conf,引用通用的openeuler- <machine>.conf,并定义自己所需要的配置 b) 如果上游没有BSP层:参考其他机器的machine.conf,制作一份<machine>.conf 5) <machine>.conf一般有 a) KBUILD_DEFCONFIG内核的defconfig,也可以不定义,定义了就会用内核仓库内的xxxx_defconfig b) SERIAL_CONSOLES定义串行口,波特率等 c) KERNEL_DTB_NAME定义设备树名 vii. 修改内核相关的配方,参考bsp/meta-openeuler-bsp/rockchip/recipes-kernel/linux/ 做实现 viii. kernel仓库在.oebuild/manifest里加上相应仓库地址(测试时可用自己的私仓,在推送PR的时候尽量使用公仓) ix. 验证并DEBUG内核linux-openeuler,烧录并验证 6) bitbake linux-openeuler x. 制作文件系统 参考bsp/meta-openeuler-bsp/rockchip/recipes-core/images,在自己层的recipes-core/images下创建<machine>.inc,定义 分区 yocto 的第 1 页 7) 参考bsp/meta-openeuler-bsp/rockchip/recipes-core/images,在自己层的recipes-core/images下创建<machine>.inc,定义 IMAGE_FSTYPES等(如果machine.conf里面有了也可以不用定义),如果需要把输出挪到output下也可以参考实现 8) 验证并DEBUG文件系统bitbake openeuler-image,烧录并验证 xi. 过程中遇到问题可用btibake -e <recipes>查看执行环境,对照tmp/work/<arch>/<recipes>/<version>/temp内的log对应 相关BUG进行过程验证。 b. 推动相关固件/优化代码欧拉建仓 i. 验证文件系统以及驱动固件及其功能后,可推动欧拉建立相关仓库进行存储 验收标准:移植完成的ycoto代码推送到对应的PR上,并完善文档,功能支持的内容。以及通过的验证方法。
评论 (
4
)
登录
后才可以发表评论
状态
已完成
待办的
进行中
已完成
已拒绝
负责人
未设置
标签
sig/sig-Yocto
未设置
项目
未立项任务
未立项任务
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(5)
1
https://gitee.com/openeuler/yocto-meta-openeuler.git
git@gitee.com:openeuler/yocto-meta-openeuler.git
openeuler
yocto-meta-openeuler
yocto-meta-openeuler
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册