【鸿蒙】标准系统移植指南

标准系统移植指南

本文描述了移植一块开发板的通用步骤,和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续发布开发板移植的实例供开发者参考。

定义开发板

本文以移植名为 MyProduct 的开发板为例讲解移植过程,假定 MyProduct 是 MyProductVendor 公司的开发板,使用 MySoCVendor 公司生产的 MySOC 芯片作为处理器。

定义产品

在 //vendor/MyProductVendor/{product_name} 名称的目录下创建一个 config.json 文件,该文件用于描述产品所使用的 SOC 以及所需的子系统。配置如下:
//vendor/MyProductVendor/MyProduct/config.json

{
   
    "product_name": "MyProduct",
    "version": "3.0",
    "type": "standard",
    "target_cpu": "arm",
    "ohos_version": "OpenHarmony 1.0",
    "device_company": "MyProductVendor",
    "board": "MySOC",
    "enable_ramdisk": true,
    "subsystems": [
      {
   
        "subsystem": "ace",
        "components": [
          {
    "component": "ace_engine_lite", "features":[] }
        ]
      },
	...
    ]
}


主要的配置内容
在这里插入图片描述
已定义的子系统可以在“//build/subsystem_config.json”中找到。当然你也可以定制子系统。
这里建议先拷贝 Hi3516DV300 开发板的配置文件,删除掉 hisilicon_products 这个子系统。这个子系统为 Hi3516DV300 SOC 编译内核,显然不适合 MySOC。

移植验证

至此,你可以使用如下命令,启动你产品的构建了:

./build.sh --product-name MyProduct 

构建完成后,可以在 //out/{device_name}/packages/phone/images 目录下看到构建出来的 OpenHarmony 镜像文件。

内核移植

这一步需要移植 Linux 内核,让 Linux 内核可以成功运行起来。

为 SOC 添加内核构建的子系统

修改文件 //build/subsystem_config.json 增加一个子系统。配置如下:

 "MySOCVendor_products": {
   
    "project": "hmf/MySOCVendor_products",
    "path": "device/MySOCVendor/MySOC/build",
    "name": "MySOCVendor_products",
    "dir": "device/MySOCVendor"
  },

接着需要修改定义产品的配置文件 //vendor/MyProductVendor/MyProduct/config.json,将刚刚定义的子系统加入到产品中。

编译内核

源码中提供了 Linux 4.19 的内核,归档在 //kernel/linux-4.19。本节以该内核版本为例,讲解如何编译内核。
在子系统的定义中,描述了子系统构建的路径 path,即 //device/MySOCVendor/MySOC/build。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。
建议的目录结构:

├── build
│ ├── kernel
│ │     ├── linux
│ │           ├──standard_patch_
  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Linux系统移植ARM架构上,需要执行以下步骤: 1. 确定ARM处理器型号:首先要确定目标ARM处理器的具体型号,因为不同的处理器可能需要不同的内核和驱动支持。 2. 获取Linux内核源代码:从Linux官方网站或其他可靠的源获取适用于目标ARM处理器的Linux内核源代码。 3. 配置内核:根据目标ARM处理器的需求,对内核进行适当配置。这包括选择适当的内核选项、驱动程序和文件系统。 4. 交叉编译工具链:获取适用于ARM架构的交叉编译工具链,并进行安装和配置。这个工具链将用于在x86或其他架构主机上生成ARM平台所需的二进制文件。 5. 编译内核:使用交叉编译工具链编译内核源代码。这将生成适用于ARM平台的内核映像文件。 6. 制作根文件系统:创建适用于ARM平台的根文件系统。可以使用BusyBox等工具来构建一个精简的根文件系统,或者使用已有的根文件系统。 7. 引导加载程序:获取适用于目标ARM处理器的引导加载程序(bootloader),并将其配置为引导Linux内核。 8. 烧录映像文件:将编译好的内核映像文件和根文件系统映像文件烧录到目标ARM设备的存储介质上。 以上是Linux系统移植ARM架构上的基本步骤,具体的操作步骤可能因为不同的ARM平台和Linux发行版而有所差异。在进行移植过程中,可能需要编写或调整设备驱动程序以确保系统的完整功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值