Sign in
Sign up
Explore
Enterprise
Education
Search
Help
Terms of use
About Us
Explore
Enterprise
Education
Gitee Premium
Gitee AI
AI teammates
Sign in
Sign up
Fetch the repository succeeded.
description of repo status
Donate
Please sign in before you donate.
Cancel
Sign in
Scan WeChat QR to Pay
Cancel
Complete
Prompt
Switch to Alipay.
OK
Cancel
Watch
Unwatch
Watching
Releases Only
Ignoring
28
Star
92
Fork
272
openEuler
/
yocto-meta-openeuler
Closed
Code
Issues
24
Pull Requests
9
Wiki
Insights
Pipelines
Service
JavaDoc
PHPDoc
Quality Analysis
Jenkins for Gitee
Tencent CloudBase
Tencent Cloud Serverless
悬镜安全
Aliyun SAE
Codeblitz
SBOM
DevLens
Don’t show this again
Update failed. Please try again later!
Remove this flag
Content Risk Flag
This task is identified by
as the content contains sensitive information such as code security bugs, privacy leaks, etc., so it is only accessible to contributors of this repository.
雪球计划-里程
Done
#I90DOU
自定义
alichinese
member
Opened this issue
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上,并完善文档,功能支持的内容。以及通过的验证方法。
Comments (
4
)
Sign in
to comment
Status
Done
Backlog
Doing
Done
Declined
Assignees
Not set
Labels
sig/sig-Yocto
Not set
Projects
Unprojected
Unprojected
Milestones
No related milestones
No related milestones
Pull Requests
None yet
None yet
Successfully merging a pull request will close this issue.
Branches
No related branch
Branches (
-
)
Tags (
-
)
Planed to start   -   Planed to end
-
Top level
Not Top
Top Level: High
Top Level: Medium
Top Level: Low
Priority
Not specified
Serious
Main
Secondary
Unimportant
Duration
(hours)
参与者(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
Going to Help Center
Search
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
Comment
Repository Report
Back to the top
Login prompt
This operation requires login to the code cloud account. Please log in before operating.
Go to login
No account. Register