1、device里面,如果存在类似于cm.dependencies这样的文件,里面是编译需要的依赖文件,编译前需要将这些文件下载到对应位置

2、如果device里面存在后缀为.sh的文件,一般是用来提取vendor的脚本,如果没有找到可用的vendor可以使用这个脚本提取,需要连接手机且adb可以正常使用,也就是需要开启开发者选项中的ADB调试功能

3、device需要的配置,可以参考高通的开源仓库,例如CPU为MSM8939,对应可以参考的device为platform/vendor/qcom/msm8916_64

4、device里面,关于设备的硬件架构,主要在BoardConfig.mk文件里描述,

TARGET_KERNEL_SOURCE 描述内核源代码的路径

TARGET_KERNEL_CONFIG 描述的是内核的配置文件

根据内核配置文件我们可以找到内核相应的dtb编译配置文档,例如内核架构为msm8916,那么内核配置文档里面就有CONFIG_ARCH_MSM8916配置选项,找到kernel/arch/arm(64)/boot/dts/qcom文件夹下面的Makefile文件,

里面就包含有编译内核需要包含的dts文件

以下内核配置需要解压内核boot.img获取,工具链接在文章底部,使用方法有描述

解压之后生成的img_info文件有相互对应的选项

BOARD_KERNEL_BASE := 0x80000000
BOARD_KERNEL_CMDLINE := console=null androidboot.console=ttyHSL0 boot_cpus=0,1,2,3,4,5 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 sched_enable_hmp=1  androidboot.selinux=permissive
BOARD_KERNEL_PAGESIZE := 2048
BOARD_KERNEL_TAGS_OFFSET := 0x00000100
BOARD_RAMDISK_OFFSET     := 0x02000000


# Partitions
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64) BOARD_KERNEL_PAGESIZE根据上面解压内核文件所得
BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
BOARD_PERSISTIMAGE_PARTITION_SIZE := 8388608
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
BOARD_USERDATAIMAGE_PARTITION_SIZE := 13258652672

上述表示的位系统几个主要分区的大小,获取方法如下

1、adb连接手机,并且能通过adb登录shell,即adb shell命令

2、cat proc/partitions; blocks那一列对应的就是分区的大小

3、cd /dev/block/bootdevice/by-name

ls -l

boot对应的分区位置为mmcblk0p19,大小32768,cache分区对应的位置为mmcblk0p24,大小262144,以此类推

通过上面几步我们就可以得到对应分区的大小,将对应分区的大小×2^10,所得数值就是上面# Partitions对应的数值

参考链接:https://source.codeaurora.org/quic/la

内核解压工具 https://github.com/xiaolu/mkbootimg_tools

第四篇--关于device相关推荐

  1. VULKAN学习笔记-inter教学四篇

    VULKAN学习笔记-inter教学四篇 --交换链相关函数:实例层 vkCreateWin32SurfaceKHR vkDestroySurfaceKHR vkGetPhysicalDeviceSu ...

  2. UWB定位: 第四篇 . Apple Iphone11 U1芯片 Apple UWB专利

    UWB定位系列专题: UWB定位: 第一篇 . 简介 UWB定位: 第二篇 . 原理 UWB定位: 第三篇 . 市场分析 UWB定位: 第四篇 . Apple Iphone11 U1芯片 & ...

  3. open62541 (R 1.1.2)中文文档 (译文)第四篇 (11 - 13)

    open62541(R 1.1.2) 文档 *注:原文PDF文档 是从官网下载的 Linux64bit的发布版本中自带的文档,原PDF中的源代码用PDF浏览器查看,有残缺.需要结合源文件中的示例代码进 ...

  4. NeurIPS提前看 | 四篇论文,一窥元学习的最新研究进展

    2019 年,NeurIPS 接受与元学习相关的研究论文约有 20 余篇.元学习(Meta-Learning)是近几年的研究热点,其目的是基于少量无标签数据实现快速有效的学习.本文对本次接收的元学习论 ...

  5. spring之旅第四篇-注解配置详解

    spring之旅第四篇-注解配置详解 一.引言 最近因为找工作,导致很长时间没有更新,找工作的时候你会明白浪费的时间后面都是要还的,现在的每一点努力,将来也会给你回报的,但行好事,莫问前程!努力总不会 ...

  6. 深入理解javascript作用域系列第四篇——块作用域

    前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀.简洁的 ...

  7. android 测试工具,Android开源项目第四篇:开发及测试工具篇

    本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...

  8. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html

  9. 最简单人工智能python_Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现...

    简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能 ...

  10. 【论文相关】盘点AAAI2020中的四篇推荐系统好文

    AAAI中推荐系统的文章并不多,目之所及处仅有四篇.内容上覆盖了评论推荐.多目标推荐以及图神经网络等话题. 本文基于AAAI中的这四篇推荐系统论文,展开瞅一瞅它们都讲了些什么. 第一篇文章:可解释评论 ...

最新文章

  1. mysql 小型机_小型机宕机问题 - Oracle数据库管理 - ITPUB论坛-中国专业的IT技术社区...
  2. 小程序前端性能测试_如何提高前端应用程序的性能
  3. Android发送邮件
  4. hbuilderx制作简单网页_网页制作的基本步骤是怎样的?制作简单网页的具体操作有哪些呢?...
  5. Java web对试卷进行单选多选答题进行打分_2020年大学慕课Java程序设计作业答案...
  6. 1.1 Machine learning: what and why?
  7. java圆形泳池问题_Java实现 LeetCode 778 水位上升的泳池中游泳(二分+DFS)
  8. 数据预处理-数据变换-连续属性离散化实现:pandas(0.23)+sklearn(0.19.1)+matplotlib(2.2.2)
  9. 两个链表第一个公共节点
  10. 鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优
  11. [Android]ListView的Adapter.getView()方法中延迟加载图片的优化
  12. red hat linux怎么运行,Red Hat Linux中自动运行程序
  13. 强烈推荐!入门大数据分析必看的知识点总结,适合零基础学习
  14. webdriver中的截图截图方法
  15. 蓝桥杯-决赛B组第七届java
  16. JavaScript函数式编程入门-计算器应用
  17. 小萝莉五子棋(高能绕行)
  18. EMC选定计划首现国内厂商(迪思杰)
  19. 转载《你首先是一个人,然后你才是程序员》——左潇龙
  20. python初级教程 doc_Python 入门教程 中文WORD版

热门文章

  1. CentOS 7.4安装配置Oracle 12cR2 12.2.0.1.0
  2. 怎样开启无线热点服务器,在Ubuntu系统的电脑上开启无线热点全攻略
  3. 计算机solidwork实训报告,solid works学习心得范文
  4. OceanBase 安装-采用OCP安装
  5. OceanBase分区表使用
  6. 大学综评自招面试 计算机专业,自主招生中的综合评价面试技巧
  7. 泊松分布与指数分布的理解
  8. 僵尸网络“Mykings”
  9. 安防网络摄像机推送到RTMP流媒体服务器方案
  10. 解决阿里云不能使用yum问题