MTK平台创建Vendor方法-v1.4

2023-05-16

需求分析:

实际项目中,我们往往需要在同一个git分支支持多个项目,为此我们需要为不同的项目创建各自的vendor,把项目的差异进行隔离的同时,也能最大化复用代码,保证项目的共性问题可以及时同步到其他的项目中。下面是详细的实现方法:

创建vendor

./vendor/mediatek/libs/spm8666p1_64_car

./vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6771/spm8666p1_64_car

./vendor/mediatek/proprietary/custom/spm8666p1_64_car

./vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/spm8666p1_64_car

./vendor/mediatek/proprietary/bootable/bootloader/lk/target/spm8666p1_64_car

./device/mediateksample/spm8666p1_64_car

1、preloader

e3fcf90344c46467d60f0ce53b5bf4f78b2e7ed0

1)ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom 下新建项目 spm8666+项目名+_64_car

2)修改文件名spm8666s203_64_car.mk -> spm8666+项目名+_64_car

2、lk

8ec65a2808f0201824ac0a4e836ff8a65bffa75c

对应目录:ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/bootable/bootloader/lk/

1)新建lk项目mk配置文件

project/spm8666s203_64_car.mk

2)新建项目文件夹,如下

lk/target/spm8666s203_64_car/

4、kernel

a0551d354948fec49b76cb8952c7086a765c8feb

1)新建dts

A       arch/arm64/boot/dts/mediatek/spm8666s203_64_car.dts

A       arch/arm64/boot/dts/mediatek/spm8666s203_64_car/cs199.dtsi

2)新建defconfig

A       arch/arm64/configs/spm8666s203_64_car_debug_defconfig

A       arch/arm64/configs/spm8666s203_64_car_defconfig

3)新建dws文件

A       drivers/misc/mediatek/dws/mt6771/spm8666s203_64_car.dws

备注:

系统如何制定用哪个dws文件?答案:spm8666s203_64_car.dts定义了

+#include <spm8666s203_64_car/cust.dtsi>

+#include "spm8666s203_64_car/cs199.dtsi"

粗体字部分必现跟项目名一致,编译阶段会自动解析并匹配spm8666s203_64_car.dws。

编译过程:spm8666s203_64_car.dws -> cust.dtsi -> merge其余dts文件,最终生成spm8666s203_64_car.dtbo

另外,defconfig的配置必现跟项目名一致。

CONFIG_BUILD_ARM64_DTB_OVERLAY_IMAGE_NAMES="mediatek/spm8666s203_64_car"

CONFIG_ARCH_MTK_PROJECT="spm8666s203_64_car"

5、device

a351fb2c5d3fbb69ee22e2d1a5ebaa8c20161169

1)device/mediateksample/目录新建项目:spm8666+项目名+_64_car

2)cd device/mediateksample/spm8666+项目名+_64_car,并修改各个文件的项目名为新项目名

3)修改文件名:full_spm8666s203_64_car.mk 为spm8666+项目名+_64_car

6、vendor

75b314654041b2d2316c4e6e73fca15838c4be85

1)ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/custom 下新建项目 spm8666+项目名+_64_car,并替换文件中的项目名

2)vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6771/ 下新建项目spm8666+项目名+_64_car

3)vendor/mediatek/libs/ 下新建项目spm8666+项目名+_64_car

替换文本内容工具

首先搜索关键字,找到需要替换的文件。然后VIM打开,在VIM中用下面的方法替换:

:%s/被替换字符/新字符/g

例如:

:%s/spm8666s203_64_car/spm8666s311_64_car/g

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MTK平台创建Vendor方法-v1.4 的相关文章

  • 产品管理精华:第十四,产品炼成?

    xfeff 最近一段时间在准备信息系统项目管理师 的考试 xff0c 在备考复习过程中 xff0c 通过系统学习和理解项目管理相关知识 xff0c 发现项目和产品管理联系很密切 项目过程是伴随着产品过程而生 我们先来了解一下项目的定义 xf
  • 产品管理精华:第十六,品味

    美感是第一道关卡 xff0c 丑陋的数学在世界上无法生存 G H 哈代 xff0c 一个数学家的道歉 品味 xff0c 如今很少听到这个词了 xff0c 可能被一些新的 xff0c 流行的叫法替代了 很长一段时间 xff0c 谈论品味这玩意
  • 《产品管理精华》目录

    产品管理精华 目录 本文是这个目录 xff0c 可以快速找到你需要的内容 xff1a 产品管理精华 xff1a 第一 xff0c 谁是优秀的产品经理 xff1f 产品管理精华 xff1a 第二 xff0c 工具 xff0c 适合自己的最好
  • 电商分销的社交化运营实践

    最近一段时间专注于研究社交化的电商分销运营体系 xff0c 如何最大化利用碎片化社会资源来整合营销渠道 目前最有代表性的电商分销就是全民分销概念 xff0c 它的最大特点在于通过社交网络 xff08 大部分是通过微信商城开店 43 三级返佣
  • 《产品管理精华》序

    今日事 xff0c 今日毕 xff01 xff0c 说起来容易 xff0c 做起来难 知道为什么要去做一件事 xff0c 这样做了哪些人都受到实惠 xff0c 领悟生活的趣味 xff0c 自己是否也得到了快乐和满足 xff0c 每一份付出都
  • 个人简介

    经验丰富的产品设计师 xff0c 专门从事与产品设计相关的研究 趋势分析 理念探索和产品研发 专注于政策脉搏和市场趋势的研究 xff0c 成功研发多个互联网相关领域产品 xff0c 对移动互联网产品架构 运营管理有较为深入的管控能力 欢迎大
  • Android P 增加系统属性必读

    如何增加属性 Android P 对属性配置有很严格的要求 xff0c 不建议增加system 分区内的属性 xff0c 建议增加的属性都在nonsystem分区 Non system 分区的限制 Android P 为稳定的exporte
  • 产品管理精华:第一,谁是优秀的产品经理?

    34 人因为梦想而伟大 34 英格丽 褒曼 每个人的心中都有一个梦想 xff0c 梦想是美好的 xff0c 但是实现梦想的道路是曲折的 xff0c 无数人在实现梦想的道路上遭遇了无数曲折 xff0c 尽管如此 xff0c 他们依旧大步向前
  • 产品管理精华:第三,需求调研,从用户出发

    因为需要 xff0c 让我更加完美 佚名 产品经理都会遇到 客户 用户 这两个概念念 xff0c 它们谁更重要也一直争论不休 用户 近乎苛刻的需求可以不断产品体验和质量 xff0c 同时产品投入市场之后都会遇到变现这个问题 xff0c 总需
  • IBM LinuxONE Community Cloud 免费试用申请教程

    在某乎上看到IBM上可以免费使用VPS的福利 xff0c 正好这一时间需要一台CC服务器 xff0c 所以记录一下 xff0c 分享给各位 因为oralce 亚马逊一年的白嫖都用过了 xff0c 阿里白嫖一个月也到期了 xff0c 所以只要
  • 使用IPV6+DDNS连接内网主机

    0 前言 IPV6已经普及多年 xff0c 但是作为互联网用户好像并没有在实用性上有更多感受 xff0c 或者说IPV6并没有让普通用户感觉到改变 我作为网络从业者其实也没有过多关注 在工作中普遍遇到的还是基于IPV4的网络 xff0c 比
  • HFish蜜罐的介绍和简单测试(二)

    目录 1 HFish使用说明 1 1 部署模型 1 2 添加 删除节点 默认节点 新增节点 删除节点 1 3 添加 删除蜜罐 直接修改蜜罐服务 创建模板 xff0c 应用到多节点 1 4 查看攻击 2 卸载 2 1 卸载Linux管理端 2
  • HFish蜜罐的介绍和简单测试(三)

    目录 0 HFish平台管理 0 1 报告管理 0 2 系统配置 1 蜜铒配置 1 1 什么是诱饵 1 2 蜜铒使用场景 1 3 蜜标使用场景 诱饵定制 分发接口 告警信息 在学习蜜罐时 xff0c HFish是个不错的选择 首先是免费使用
  • 网工神器:PNETLab模拟器踩坑过程

    目录 0 前言 1 PNETLab介绍 2 下载安装 2 1 下载 2 2 导入 2 3 启动 2 4 注册和登录 3 汉化 4 镜像 5 下载实验 6 控制台 5 1 HTML控制台 5 2 默认控制台 7 总结 0 前言 由于工作需要
  • 无线攻击笔记

    第11章 无线攻击 任务50 xff1a 无线渗透 exe 802 11只涵盖了下面黄字部分的2层 xff0c 802 2定义了LLC层 802 11 下面的协议组 xff0c F是正式标准 xff0c 大写 xff0c abcde小写是在
  • Jumpserver入门介绍

    大多数的安全设备都接触过 xff0c 只有堡垒机没有深入了解 xff0c 所以一直想了解一下堡垒机的安装和使用 市面上好多商业化的物理设备堡垒机 xff0c 目前没有接触 xff0c 幸好有有开源的堡垒机 Jumpserver 今天安装测试
  • Centos 7.6 源码编译安装 MariaDB 10.5.9

    文章目录 准备工作创建用户和组创建数据库相关目录删除数据库相关文件 安装相关包安装依赖库安装编译包 编译安装 96 MariaDB 96 配置 96 MariaDB 96 本文主要记录如何在 CentOS 7 6 中编译安装 MariaDB
  • 如何打开LK打印信息

    diff git a apps proc bootable bootloader lk include debug h b apps proc bootable bootloader lk include debug h index 59e
  • Activity的onConfigurationChanged函数调用时序

    Activity的onConfigurationChanged函数调用时序 时序图如下 xff1a 注1 xff1a 向当前系统中所有处于激活状态的进程发送 CONFIGURATION CHANGED 消息 当该消息被 Applicatio
  • Button点击事件的三种实现方式

    Button控件表示按钮 xff0c 它继承自TextView控件 xff0c 既可以显示文本 xff0c 又可以显示图片 xff0c 同时也允许用户通过点击来执行操作 xff0c 当Button控件被点击时 xff0c 被按下与弹起的背景

随机推荐