1.首先需要更改partition.xml文件,在userdata的前面增加一个temp的分区,这里要注意的是userdata的分区大小需要同步的减小,还有一点需要留意,temp分区的UUID需要改一下

\MSM8953.LA.2.0\common\config

...................<partition label="qpdata2" size_in_kb="10240" type="5AF80809-AABB-4943-9168-CDFC38742599" bootable="false" readonly="false" filename="" /><partition label="temp" size_in_kb="65536" type="546b0fd8-ff9f-46e1-8f7f-24b39c4da857" bootable="false" readonly="false" filename="temp.img" sparse="true"/><partition label="userdata" size_in_kb="2973696" type="1B81E7E6-F50D-419B-A739-2AEEF8DA3335" bootable="false" readonly="false" filename="userdata.img" sparse="true"/></physical_partition></configuration>

2.修改Android侧的userdata的分区大小,注意这里的大小是partition.xml中的值乘以1024,修改后需要重新编译userdata.img

\device\qcom\msm8953_64\BoardConfig.mk


3.我们还需要创建一个ext4格式的temp.img文件,我们希望这个文件在整包烧录的时候能够烧录到对应的temp分区中

root@Jon:/home/jon/code/M2/out/host/linux-x86/bin# ./make_ext4fs -s -l 64M -a temp ./temp.img ./logdump/
Creating filesystem with parameters:Size: 67108864Block size: 4096Blocks per group: 32768Inodes per group: 4096Inode size: 256Journal blocks: 1024Label: Blocks: 16384Block groups: 1Reserved block group size: 7
Created filesystem with 12/4096 inodes and 1294/16384 blocks

这里说明下三个选项的意思:
" -l " : 指明分区的img大小,我们这儿是64M
" -a " : 对应的是Android系统的挂载点
" -s " :这是按照生成ext4的sparse模式制作,这个参数是对应的第一步partition.xml中的sparse=“true” ,啥意思呢:sparse中文的意思是稀疏的意思,意味着生成的分区.img会将所有为0的地方压缩,从而节省空间。
我们不妨来对比下文件(生成的temp.img并非ext4格式):

root@Jon:/home/jon/code/M2/out/host/linux-x86/bin# file temp.img
temp.img: Android sparse image, version: 1.0, Total of 16384 4096-byte output blocks in 12 input chunks.

我们将其转为linux的ext4格式看看

root@Jon:/home/jon/code/M2/out/host/linux-x86/bin# ./simg2img temp.img temp_ext4.img
root@Jon:/home/jon/code/M2/out/host/linux-x86/bin# file temp_ext4.img
temp_ext4.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)

然后我们来对比下:

root@Jon:/home/jon/code/M2/out/host/linux-x86/bin# ls -l temp*
-rw-r--r-- 1 root root 67108864 12鏈25 16:29 temp_ext4.img
-rw-r--r-- 1 root root  5300396 12鏈25 16:19 temp.img

很明显,temp_ext4.img大小为64M,但是temp.img却只有5M,空间少了很多

4.修改Android侧的fstab.qcom,加入系统启动的默认挂载行为

\device\qcom\msm8953_64\fstab.qcom

/dev/block/bootdevice/by-name/temp                             /temp              ext4    defaults             defaults

5.在Android根节点下创建挂载点" /temp "

\system\core\rootdir\init.rc

6.将相关生成的文件和userdata.img放入common中,重新完成构建和拆包,烧入系统后开机,系统开机后我们可以执行mount指令,看下挂载情况如下:

7.当然我们还可以手动的挂载/卸载分区

msm8953_64:/ #
msm8953_64:/ # umount /temp
msm8953_64:/ # mount -t ext4 /dev/block/mmcblk0p51 /temp/

看看里面的内容如下:

msm8953_64:/ # cd temp/
msm8953_64:/temp # ls
logdump.txt lost+found
msm8953_64:/temp #

高通平台如何新增加一个分区,并mount到android系统中相关推荐

  1. 高通平台添加或者移植一个完整的camera

    OV8865 1.kernel部分: A.kernel_driver: 把驱动文件ov8865_qtech_f8865ac.c 放到kernel/drivers/media/platform/msm/ ...

  2. 高通平台开发系列讲解(USB篇)Linux Android USB软件架构

    文章目录 一.高通平台USB软件架构 二.USB 设备侧软件组成 2.1.OTG driver 2.2.Device controller driver 2.3.Gadget framework 2. ...

  3. 怎么在Android系统中增加系统属性?

    系统属性:就是在整个Android系统中都是可以调用的属性,比如我们某个功能,在fw层和c层都有改动,我们需要用一个变量去控制这个功能是否启用和关闭,这就需要用到全局的系统属性: /system/bu ...

  4. [Linux Device Driver] 高通平台分区学习

    1. 分区名字 && 作用 ssd ---ssd diag模块的分区,存储加密的RSA密钥. persist ---其中包含在设备出厂后不应该更改的数据,例如:芯片的校准数据(WIFI ...

  5. 如何在计算机上增加一个磁盘分区,win10系统额外新增加一个硬盘分区的详细办法...

    win10系统使用久了,好多网友反馈说关于对win10系统额外新增加一个硬盘分区设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统额外新增加一个硬盘分区进行设置,有什么好的办法去 ...

  6. 高通平台环境搭建,编译,系统引导流程分析 .

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  7. 高通平台避免误入FFBM模式和退出FFBM

    1.高通平台如何避免误入FFBM模式 修改init直接过滤掉该模式,无论misc分区被修改成什么样,都直接启动到Android系统,而不进入FFBM.修改的代码很少,如下. 修改代码后,执行命令mak ...

  8. 手机MODEM 开发(14)----高通平台手机开发之Modem

    高通平台手机开发之Modem 1.检查原理图,把每个频段的发送,接收通道都整理清楚形成表格. a) 一般每个频段有一个发送通路,两个接受通路(4G要求的),主天线通路和分集天线通路.rx0, rx1, ...

  9. 开机动画适配方案_高通平台刷机包定制方案适配-ROM定制开发入门到精通

    高通平台刷机包定制方案适配-ROM定制开发入门到精通 根据新老平台,高通平台线刷包至少要这样几个基本文件,但不一定全部都需要: 8x10_msimage.mbn----平台镜像,是个完整的磁盘,就是s ...

  10. android 高通平台有前途吗,华为鸿蒙计划要适配高通平台了,可以告别安卓搭载鸿蒙OS了?...

    鸿蒙走出这一步是可以想象到的,看来华为打造这个系统希望的结果是万物皆可盘呀,所以一开始就提出了开源,也就意味着这次是高通,下次就可以是联发科,甚至更多的手机品牌也完全就可以搭载!早期我们一直在说国产手 ...

最新文章

  1. VB 输入超出文件尾(错误62)(转)
  2. python读取字典元素笔记_Python中列表、字典、元组数据结构的简单学习笔记
  3. 灰色关联与TOPSIS法 —— matlab
  4. 字符串p型编码(信息学奥赛一本通-T1145)
  5. IEEE正推进制定量子计算标准
  6. node.js(四)Mongoose使用进阶
  7. java中将一个字符数组赋值给另一个,两者同时变化
  8. Atitit  图像处理底色变红的解决
  9. PS快捷键大全 打开置入 图层操作的快捷键 新建图层 填充上色 前景色背景色等的快捷键
  10. U盘插入电脑说要格式化,但电脑又说“磁盘被写保护,无法格式化”,如何解决
  11. Android 删除文件app,手机删除文件怎么恢复?手机恢复删除App
  12. RS232和TTL电平
  13. 通灵学院|游戏设计研习10:迭代流程★(2000字)
  14. 面试常问:TCP 三次握手与四次挥手详解
  15. nvm 管理 node 版本
  16. python利用datetime库实现通过身份证号码判断年龄、男女,并输出生日
  17. 美团2021笔试题(第十场)-公司食堂
  18. iOS调试技巧(转载)
  19. UDP组播开发测试实例
  20. java获取n个工作日后的日期, 排除周末和节假日(顺延)

热门文章

  1. Atitit.atiRI  与 远程调用的理论and 设计
  2. pl/sql远程连接oracle总结
  3. matlab写入二进制文件注意事项
  4. 用网页做触摸屏展示的设计要点
  5. 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
  6. MQTT协议(1)-简介
  7. mysql之 xtrabackup原理、备份日志分析、备份信息获取
  8. 《智能家居产品 从设计到运营》——2.2 智能设备的触角:传感器
  9. python装饰器 练习
  10. JAVA实现显示指定类型的文件的例子