登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
27
Star
91
Fork
266
openEuler
/
yocto-meta-openeuler
代码
Issues
55
Pull Requests
6
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
分支
未关联
分支 (14)
标签 (6)
master
gitee_pages
openEuler-24.03-LTS
openEuler-25.03
openEuler-24.09
openEuler-22.03-LTS-SP1
openEuler-22.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-23.09
openEuler-22.03-LTS-SP2
openEuler-22.03-LTS
openEuler-23.03
openEuler-22.09
openEuler-21.09
toolchains-v0.1.8
toolchains-v0.1.7
24.03-lts
llvm-toolchain-v0.1.1
toolchains-v0.1.5
nativesdk-v0.1.2
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
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 帐号,请先登录后再操作。
立即登录
没有帐号,去注册