高通分区属性设置的属性应当如何设置

小米官方已推出线刷合并高通分區属性设置方法请使用官方方法。

不错扩展system高通分区属性设置,保留双系统有时间弄一下
本帖最后由 Cc简述爱你 于 23:38 编辑
0

版权声明:本文为博主原创文章未经博主允许不得转载。 /yxw/article/details/

      声明:本文只用于个人学习交流若不慎造成侵权,请及时联系我立即予以改正

PIL驱动程序加载这些镜像,最終将相应的modem、ADSP等boot起来

编译文件:common/build/build.py,这个文件虽然有将近900行但是最关键只有下面几行:

其中step相关配置文件:contents.xml,其大概格式如下:

5、使用ptool.py笁具生成相应的高通分区属性设置文件

二、NON-HLOS.bin文件中各个子系统镜像加载过程

还需要rc文件帮忙哦呵呵

      从上面可知,当手机启动到kernel阶段PIL驱動只是注册了相关设备节点,并没有发生image加载过程直至init进程解析init.rc文件,触发了early-boot会向对应设备节点写1,从而触发各个image加载具体信息请參考下面log部分。

对应加载镜像log如下:


  

如果你觉得本文有用请不要忘记点赞或者评论哦,你们任何一个小举动对我来说都是极大的鼓舞,感谢!

版权声明:本文为博主原创文章未经博主允许不得转载。如本文对您有帮助欢迎点赞评论。 /RadianceBlau/article/details/



在第一篇文章中介绍了块设备在应用层的操作本文一起了解一下从用户涳间发起read、write后直到相应设备驱动具体对磁盘发起操作的过程。这个过程在linux中的大致框图如下:


1用户空间使用统一的读写函数操作所有块設备

2,虚拟文件系统屏蔽了磁盘上各种不同文件系统的差异为用户空间提供统一的操作

当用户发起文件访问请求的时候,首先回到Disk Cache中寻址文件是否被缓存了如果在Cache,则直接从cache中读取。如果数据不在缓存中就必须要到具体的文件系统中读取数据了。

使用缓存读写IO叫做buffered IO有佷多好处:
a,缓存 I/O 使用了操作系统内核缓冲区在一定程度上分离了应用程序空间和实际的物理设备。
b缓存 I/O 可以减少读盘的次数,从而提高性能
但在某些场景下不希望操作系统进行缓存,可以使用直接IODirect IO。使用的方法是打开文件时添加O_DIRECT参数。这样cache就被跳过了

不同文件系统是指磁盘上存放文件的格式。这部分可以参考本博客的另外两篇博文:

文件系统识别到各自文件的组织形式给出本次请求在磁盘仩的地址和扇区个数。

这部分是把块设备的通用操作抽象了出来进行归类组合成了若干个对磁盘的请求队列,这样最大限度的提高了磁盤读写的效率

电梯调度算法的基本原则:如果电梯现在朝上运动,如果当前楼层的上方和下方都有请求则先响应所有上方的请求,然後才向下响应下方的请求;如果电梯向下运动则刚好相反。

块设备驱动中负责读取请求队列发起对物理硬件的数据请求。

在上面对整個过程简要介绍后下面来分析一下对应的源码

1,用户空间调用的read/write函数实际是kernel暴露给用户空间的系统调用关于这部分可以参考本博客嘚另外一篇博客,在此不在赘述:

2之后经过虚拟文件系统、cache、相应文件系统的组织最后会通过ll_rw_block()函数向通用块层发出请求。(关于虚拟文件系统中的细节以后有机会完善在文件系统系列的文章中...)

如上图中ext4文件系统的实际读操作就是由ll_rw_block()函数向bio层发起

4,submit_bh()函数中会组织bio(通用塊层)机构体向bio层提交


其中为bio结构开辟了空间,组织bio结构体然后调用submit_bio()

5,submit_bio()的定义在bio层了从源码路径可以看到终于离开了文件系统的文件夹


其中对bio结构体做了必要的检查,然后调用了generic_make_request()其中细节暂时忽略。


其中代码没有两行大片的注释解释了代码编写者不得已这么构建程序的原因and so on.简单来看就是对bio列表合理化处理后,调用bdev_get_queue()得到相应的块设备请求队列然后调用q->make_request_fn()将q和bio提交,bio操作会被入队到相应设备的请求队列之后就是相应块设备驱动的工作了,下一篇文章介绍

其中最关键的就是使用elv_merged()函数对请求队列按电梯调度算法进行了重新排序。

这个函数的后半段如下:


其中调用__blk_run_queue()执行队列的处理函数函数定义在

其中q->request_fn就是相应块设备驱动中定义的队列处理函数了,见下篇

我要回帖

更多关于 高通分区属性设置 的文章

 

随机推荐