亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于高通平臺的Android系統(tǒng)分區(qū)管理

        2014-11-27 20:48:43蔡潔
        新媒體研究 2014年19期
        關鍵詞:高通分區(qū)

        摘 要 本文以存儲設備管理為出發(fā)點,從Android系統(tǒng)的分區(qū)管理展開討論,闡述操作系統(tǒng)的引導方式、分區(qū)表的原理、類型、作用,并以開發(fā)實例說明產(chǎn)品分區(qū)模式,如何對分區(qū)進行擴展,以便更為有效的利用內(nèi)部存儲空間,提高存儲設備的可用性和擴展性。

        關鍵詞 Android;分區(qū);高通

        中圖分類號:TP316 文獻標識碼:A 文章編號:1671-7597(2014)19-0044-03

        Android是一種基于Linux平臺的自由及開放源代碼的操作系統(tǒng),是目前世界上最流行的移動終端操作系統(tǒng)之一,廣泛用于手機、平板電腦等設備中。

        高通(Qualcomm)是一家美國的無線電通信技術(shù)研發(fā)公司,其一直致力于電信設備和消費電子設備的新技術(shù)研發(fā),尤其是近年來其推出的高度集成的“全合一”移動處理器系列平臺,覆蓋入門級智能手機乃至高端智能手機、平板電腦以及下一代智能終端。特別是,高通的芯片是首個能夠兼容Android系統(tǒng)的,所以國內(nèi)外眾多手機品牌均采用高通作為其智能手機的主要芯片提供商。可以說,高通在智能手機行業(yè)的地位就相當于PC領域的芯片巨頭因特爾。

        1 分區(qū)表綜述

        眾所周知,以Android平臺設計開發(fā)的智能手機和平板電腦都有內(nèi)部存儲器,一般為SDIO(Secure Digital Input and Output Card)接口的EMMC(Embedded Multi Media Card)存儲芯片,俗稱閃存。根據(jù)不同產(chǎn)品的配置和需求,容量從4G到128G不等。在使用時,閃存被分成多個區(qū)域,這個過程我們把它叫做“分區(qū)”。分區(qū)既可以讓系統(tǒng)和用戶分區(qū)相互隔離,也可以增強系統(tǒng)穩(wěn)定性,有效利用、管理存儲區(qū)域,就如同在圖書館的不同區(qū)域中查找不同類型的書籍。在研究分區(qū)管理之前,必須了解分區(qū)表的概念。

        分區(qū)表是將大表的數(shù)據(jù)分成稱為分區(qū)的許多小的子集。倘若磁盤丟失了分區(qū)表,數(shù)據(jù)就無法按順序讀取和寫入,導致無法操作。對于分區(qū)的格式,目前大容量存儲區(qū)有兩種分區(qū)方式,即:BIOS和硬盤MBR分區(qū)、EFI和硬盤GPT分區(qū)。下面就對這兩種分區(qū)表進行詳細的說明。

        1.1 MBR分區(qū)表

        MBR(Master Boot Record),主引導記錄,又叫做主引導扇區(qū),是計算機開機后BIOS訪問硬盤時所必須要讀取的首個扇區(qū),是一段512字節(jié)的引導代碼,位于磁盤的第一個扇區(qū),在硬盤上的位置為(柱面,磁頭,扇區(qū))=(0,0,1)。包含三個部分:主引導程序、磁盤分區(qū)表和引導記錄。

        因主引導記錄在這個扇區(qū)中占了大部分空間,所以習慣將該扇區(qū)稱為MBR扇區(qū)。主引導程序即主引導記錄占446字節(jié),它用于硬盤啟動時將系統(tǒng)控制權(quán)轉(zhuǎn)給用戶指定的并在分區(qū)表中登記的某個操作系統(tǒng)。磁盤分區(qū)表占64字節(jié),根據(jù)規(guī)定,每個分區(qū)表項占16個字節(jié),所以最多可以描述、存放4個分區(qū)信息,這就是為什么MBR模式只能支持4個主分區(qū)的原因。

        主分區(qū)數(shù)目不能超過4個的限制,很多時候,4個主分區(qū)并不能滿足需要。另外最關鍵的是MBR分區(qū)方案無法支持超過2TB容量的磁盤。因為這一方案用4個字節(jié)存儲分區(qū)的總扇區(qū)數(shù),最大能表示2的32次方的扇區(qū)個數(shù),按每扇區(qū)512字節(jié)計算,每個分區(qū)最大不能超過2TB。磁盤容量超過2TB以后,分區(qū)的起始位置也就無法表示了。在硬盤容量迅速遞增的今天,2TB的限制早已被突破。由此可見,MBR分區(qū)方案現(xiàn)在已經(jīng)無法再滿足需要了。因此在大容量硬盤和分區(qū)出現(xiàn)之后,MBR分區(qū)方式逐漸被GPT分區(qū)表取代。

        1.2 GPT分區(qū)表

        1.2.1 GPT說明

        GPT(GUID Partition Table),全球唯一標識分區(qū)表,是一種由基于可擴展固件接口(EFI)使用的磁盤分區(qū)架構(gòu)。它屬于可擴展固件接口(EFI)標準中的一部分,用來替代主引導記錄分區(qū)表。

        GPT使用邏輯區(qū)塊地址(LBA)作為尋址方式,在GPT硬盤中,分區(qū)表的位置信息存儲在GPT頭中,但為了兼容MBR,硬盤的第一個扇區(qū)LBA 0仍然用作MBR,依舊保留了MBR的結(jié)構(gòu)。GTP頭存儲于LBA 1,在GPT工作時,會優(yōu)先讀取GPT(LBA 1)內(nèi)容。接下來是分區(qū)表,從LBA 34開始是第一個數(shù)據(jù)分區(qū)的

        開始。

        1.2.2 GPT分區(qū)類型GUID

        GPT支持不同的操作系統(tǒng),如Windows、Mac OS、各主流的發(fā)行版Unix和Linux操作系統(tǒng)。GUID的作用是用不同的ID來標記不同的操作系統(tǒng)和分區(qū)類型,操作系統(tǒng)在啟動時,根據(jù)GUID即可判斷分區(qū)類型的合法性。

        操作

        系統(tǒng) 分區(qū)類型 GUID

        Linux 數(shù)據(jù)分區(qū) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

        RAID分區(qū) A19D880F-05FC-4D3B-A006-743F0F84911E

        交換分區(qū) 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F

        邏輯卷管理器(LVM)分區(qū) E6D6D379-F507-44C2-A23C-238F2A3DF928

        保留 8DA63339-0007-60C0-C436-083AC8230908

        1.2.3 GPT與MBR對比

        與MBR分區(qū)模式相比,GPT有以下優(yōu)點。

        1)GPT允許每個磁盤高達128個分區(qū),而MBR磁盤最多只有4個主分區(qū),或者3個主分區(qū)加一個擴展分區(qū)。

        2)GPT支持高達18千兆兆字節(jié)(EB)的卷大小,而MBR最大卷為2TB;(18EB= 19327352832GB)。

        3)允許將主磁盤分區(qū)表和備份磁盤分區(qū)表用于冗余。endprint

        4)支持唯一的磁盤和分區(qū)ID(GUID)。

        5)性能更加穩(wěn)定。

        2 高通MSM86XX平臺分區(qū)模式介紹

        近年來,Android作為一個新興的操作系統(tǒng),迅速的發(fā)展為一個生態(tài)圈,隨著系統(tǒng)的普及,越來越多的電子產(chǎn)品使用此操作系統(tǒng)。在逐漸被人們熟知的同時,也有更多的芯片公司、產(chǎn)品公司、設計公司和方案公司對其進行研究、開發(fā)和擴展。分區(qū)的管理是普通消費類電子產(chǎn)品最基本和最重要的一項功能,它既要保證設備穩(wěn)定工作,又要合理有效的使用存儲設備,確保數(shù)據(jù)文件的正確性。

        Android是以Linux內(nèi)核為基礎的一套軟件堆疊系統(tǒng),所以Android系統(tǒng)的分區(qū)格式也使用Linux的分區(qū)格式。由于GPT也支持Linux操作系統(tǒng),加上現(xiàn)在使用Linux和Android系統(tǒng)的嵌入式產(chǎn)品,都包含多個分區(qū),例如:啟動、內(nèi)核、緩沖、系統(tǒng)、用戶、恢復等分區(qū),需要十幾甚至二十多個分區(qū)。因為MBR只支持4個主分區(qū),所以已經(jīng)不能滿足以上需求,必須使用GPT分區(qū)模式。下面就以現(xiàn)在主流的電子產(chǎn)品解決方案——高通平臺,說明GPT分區(qū)在Android系統(tǒng)中的應用和開發(fā)過程。

        前面提到,手機、平板類電子產(chǎn)品都是用EMMC作為內(nèi)部存儲器,EMMC上的內(nèi)容由系統(tǒng)鏡像和用戶數(shù)據(jù)文件組成,用戶數(shù)據(jù)文件是用戶在使用過程中創(chuàng)建的個人文件,而系統(tǒng)鏡像是在產(chǎn)品出廠前,使用燒錄軟件下載到EMMC中,產(chǎn)品才能正常工作。每個平臺的生產(chǎn)廠商都會提供一套這樣的工具和配置文件,用于開發(fā)和生產(chǎn)階段下載系統(tǒng)鏡像,其作用類似于使用Win7系統(tǒng)安裝光盤,在PC上安裝操作系統(tǒng)。配置文件按照一定格式描述該產(chǎn)品的EMMC劃分為多少個分區(qū)、分區(qū)的順序、大小、格式等內(nèi)容。高通平臺也提供了平臺開發(fā)軟件包,稱之為QPST(Qualcomm Product Support Tool)。QPST就是通過配置文件的描述,來給內(nèi)部存儲器劃分分區(qū),并下載鏡像。分區(qū)格式描述文件是partition.xml,分區(qū)鏡像配置文件Boardconfig.mk。下面就詳細敘述這兩個文件的使用。

        2.1 分區(qū)格式描述文件partition.xml

        分區(qū)配置文件partition.xml用于指定分區(qū)名稱、分區(qū)大小和類型,例如boot、kernel、cache、system、userdata、recovery等,并用于生成GPT分區(qū)表,主要包含以下參數(shù)。

        參數(shù)名 參數(shù)說明

        WRITE_PROTECT_BOUNDARY_IN_KB 為防止分區(qū)的意外寫入,分區(qū)之間保留一段隔離區(qū)域,稱之為寫保護區(qū)域。寫保護區(qū)域的基準大小,在高通平臺中默認設置為64M

        GROW_LAST_PARTITION_TO_FILL_DISK 此字段的作用類似于在Windows系統(tǒng)下給硬件進行分區(qū)時,最后一個分區(qū)默認使用剩余全部空間,此值為真時,最后一個分區(qū)的大小會自動調(diào)整為EMMC剩余所有空間大小,充分利用空間。如果為假,最后一個分區(qū)將按設定的大小去分配,并預留一部分空間不使用

        partition label 分區(qū)名字

        type 分區(qū)類型

        size_in_kb 分區(qū)大小

        bootable 是否可以引導

        readonly 是否為只讀

        filename 分區(qū)對應的鏡像名字

        sparse 燒錄的鏡像是否是展開的

        例如,在partition.xml文件中關于system分區(qū)的配置信息如下所示。

        <!—NOTE: entries here are used by the parser when generating output

        <!—NOTE: each filename must be on its own line as in varable=value

        WRITE_PROTECT_BOUNDARY_IN_KB=65536 GROW_LAST_PARTITION_TO_FILL_DISK=true

        該文件是system分區(qū)的配置文件,主要作用包括:

        WRITE_PROTECT_BOUNDARY_IN_KB= 65536 寫保護區(qū)域的基準大小為64M,保證同一讀寫屬性的分區(qū)64M對齊

        GROW_LAST_PARTITION_TO_FILL_DISK=true 最后一個分區(qū)的大小會自動擴充到最大

        partition label=”system” 指定分區(qū)的名字為system

        size_in_kb=”819200” 指定分區(qū)大小為800M

        type=”EBD0A0A2-B9E5-4433-87C0-68B6B72699C7” 分區(qū)類型為數(shù)據(jù)分區(qū)

        bootable=”false” 設置該分區(qū)為不可引導

        分區(qū)

        readonly=”true” 讀寫屬性為只讀

        filename=”system.img” 分區(qū)對應的鏡像名字

        sparse=”true” 燒錄鏡像是展開的鏡像

        文件

        2.2 分區(qū)鏡像配置文件Boardconfig.mk

        分區(qū)鏡像配置文件Boardconfig.mk的作用一般包括兩個方面:指定對應分區(qū)鏡像文件格式化的大小和分區(qū)鏡像文件的文件系統(tǒng)類型。例如,在Boardconfig.mk文件中關于分區(qū)格式和分區(qū)大小的部分配置信息:

        TARGET_USERIMAGES_USE_EXT4 := true

        BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := true

        ……

        BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00A00000

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 838860800

        ……

        當編譯的時候makefile就會從Boardconfig.mk獲取system分區(qū)的大小和文件系統(tǒng)類型并用調(diào)用make_ext4fs把out/target/product/msm8610/system的文件制作成大小為800M ext4格式的system.img分區(qū)壓縮文件。需要說明的是:編譯生成的system.img里面包含了對應分區(qū)的文件系統(tǒng)類型,以及掛載分區(qū)的大小,所以改變分區(qū)時一定要更新對應分區(qū)鏡像文件。

        3 高通平臺項目分區(qū)整改案例

        高通MSM8X10平臺原生Android方案,使用4G內(nèi)置EMMC,劃分了25個分區(qū),系統(tǒng)鏡像大約使用約2G空間,針對不同的產(chǎn)品,分區(qū)個數(shù)和大小各有差異,下面就以開發(fā)實例說明如何調(diào)整分區(qū)大小,以及如何新增分區(qū)。

        3.1 調(diào)整system分區(qū)大小

        各分區(qū)均可根據(jù)需要進行調(diào)整,原生系統(tǒng)的system分區(qū)規(guī)劃了800M空間,但實際鏡像只有300多M,為有效利用存儲器,可以將此分區(qū)縮小為400M:

        1)修改文件partition.xml中的字段,size_in_kb=”409600”。

        2)修改文件Boardconfig.mk中的字段,BOARD_SYSTEMIMAGE_PARTITION_SIZE = 419430400。

        3)重新編譯生成system.img鏡像。

        3.2 增加vendor分區(qū)

        原生平臺僅提供基本和有限的功能,不適合產(chǎn)品化的要求,為擴展原生平臺的功能,需要增加一個300M空間的vendor分區(qū),可用于支持存放不同廠商的Logo、預裝應用、定制程序和配置文件,如前所述partition.xml用于定義和描述分區(qū)信息,供燒錄軟件QPST使用,增加分區(qū)需要做如下修改:

        1)文件里面需要新增一個分區(qū)信息,并配置對應的分區(qū)大小、類型和要燒寫鏡像的名字等等信息,內(nèi)容如下。

        2)device/qcom/msmxx/Boardconfig.mk里面的分區(qū)宏,使這個分區(qū)恰好小于等于modem側(cè)的partition.xml分區(qū)大小:

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 419430400

        3.3 增大userdata分區(qū)

        Android系統(tǒng)中,內(nèi)部存儲器的最后一個分區(qū)一般命名為userdata分區(qū),是用戶可以使用的分區(qū),其他分區(qū)是系統(tǒng)使用的,用戶不能操作。前兩個實例說明了如何實際鏡像大小調(diào)整分區(qū)、如何根據(jù)需求增加分區(qū)。最后說明如何去除由于對齊而造成的空間浪費,并盡可能的為用戶增大userdata分區(qū)。

        1) 更改分區(qū)文件。

        修改partition.xml文件里面做如下修改。

        WRITE_PROTECT_BOUNDARY_IN_KB = 0;

        system分區(qū)的大小為400M;

        userdata的分區(qū)為3G;

        2) device/qcom/msmxx/Boardconfig.mk修改分區(qū)鏡像文件格式化的大小。

        把system分區(qū)鏡像文件格式化的大小400M

        userdata分區(qū)鏡像文件格式化的大小3G

        BOARD_USERDATAIMAGE_PARTITION_SIZE := 3145728000

        Userdata增大后,系統(tǒng)會顯示用戶分區(qū)總空間為2.88GB

        3.4 減少分區(qū)空間浪費的措施

        1)計算每個鏡像的分區(qū)大小,留有足夠預留空間合理分配每個分區(qū)大小。

        2)在進行分區(qū)布局的時候,盡量讓讀寫屬性一致的放在一起,這樣就可以減少由于對齊造成的空間浪費。

        3)通過設置WRITE_PROTECT_BOUNDARY_IN_KB來改變寫保護區(qū)域的基準大小。

        4)GROW_LAST_PARTITION_TO_FILL_DISK:最好設置為真,這樣最后一個分區(qū)就會擴展到最大這樣保證不浪費EMMC存儲

        空間。

        3.5 注意事項

        1)EMMC軟件下載所依賴的分區(qū)信息和系統(tǒng)啟動時加載的GPT分區(qū)信息必須一致。

        2)在改變分區(qū)大小時,要防止自己的分區(qū)大小總和不能超過EMMC的總大小,否則越界的分區(qū)時將會出錯,系統(tǒng)穩(wěn)定性將得不到保證。

        參考文獻

        [1]百度百科.mbr[EB/OL].[2014-9-1].http://baike.baidu.com/subview/9485/9079238.htm#viewPageContent.

        [2]百度百科.gpt[EB/OL].[2014-9-1].http://baike.baidu.com/subview/10817/15336681.htm.

        [3]kieven2008.Android分區(qū)[EB/OL].[2014-9-1].http://blog.csdn.net/kieven2008/article/details/19327907.

        作者簡介

        蔡潔,碩士,講師,研究方向:計算機技術(shù)。

        分區(qū)鏡像配置文件Boardconfig.mk的作用一般包括兩個方面:指定對應分區(qū)鏡像文件格式化的大小和分區(qū)鏡像文件的文件系統(tǒng)類型。例如,在Boardconfig.mk文件中關于分區(qū)格式和分區(qū)大小的部分配置信息:

        TARGET_USERIMAGES_USE_EXT4 := true

        BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := true

        ……

        BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00A00000

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 838860800

        ……

        當編譯的時候makefile就會從Boardconfig.mk獲取system分區(qū)的大小和文件系統(tǒng)類型并用調(diào)用make_ext4fs把out/target/product/msm8610/system的文件制作成大小為800M ext4格式的system.img分區(qū)壓縮文件。需要說明的是:編譯生成的system.img里面包含了對應分區(qū)的文件系統(tǒng)類型,以及掛載分區(qū)的大小,所以改變分區(qū)時一定要更新對應分區(qū)鏡像文件。

        3 高通平臺項目分區(qū)整改案例

        高通MSM8X10平臺原生Android方案,使用4G內(nèi)置EMMC,劃分了25個分區(qū),系統(tǒng)鏡像大約使用約2G空間,針對不同的產(chǎn)品,分區(qū)個數(shù)和大小各有差異,下面就以開發(fā)實例說明如何調(diào)整分區(qū)大小,以及如何新增分區(qū)。

        3.1 調(diào)整system分區(qū)大小

        各分區(qū)均可根據(jù)需要進行調(diào)整,原生系統(tǒng)的system分區(qū)規(guī)劃了800M空間,但實際鏡像只有300多M,為有效利用存儲器,可以將此分區(qū)縮小為400M:

        1)修改文件partition.xml中的字段,size_in_kb=”409600”。

        2)修改文件Boardconfig.mk中的字段,BOARD_SYSTEMIMAGE_PARTITION_SIZE = 419430400。

        3)重新編譯生成system.img鏡像。

        3.2 增加vendor分區(qū)

        原生平臺僅提供基本和有限的功能,不適合產(chǎn)品化的要求,為擴展原生平臺的功能,需要增加一個300M空間的vendor分區(qū),可用于支持存放不同廠商的Logo、預裝應用、定制程序和配置文件,如前所述partition.xml用于定義和描述分區(qū)信息,供燒錄軟件QPST使用,增加分區(qū)需要做如下修改:

        1)文件里面需要新增一個分區(qū)信息,并配置對應的分區(qū)大小、類型和要燒寫鏡像的名字等等信息,內(nèi)容如下。

        2)device/qcom/msmxx/Boardconfig.mk里面的分區(qū)宏,使這個分區(qū)恰好小于等于modem側(cè)的partition.xml分區(qū)大小:

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 419430400

        3.3 增大userdata分區(qū)

        Android系統(tǒng)中,內(nèi)部存儲器的最后一個分區(qū)一般命名為userdata分區(qū),是用戶可以使用的分區(qū),其他分區(qū)是系統(tǒng)使用的,用戶不能操作。前兩個實例說明了如何實際鏡像大小調(diào)整分區(qū)、如何根據(jù)需求增加分區(qū)。最后說明如何去除由于對齊而造成的空間浪費,并盡可能的為用戶增大userdata分區(qū)。

        1) 更改分區(qū)文件。

        修改partition.xml文件里面做如下修改。

        WRITE_PROTECT_BOUNDARY_IN_KB = 0;

        system分區(qū)的大小為400M;

        userdata的分區(qū)為3G;

        2) device/qcom/msmxx/Boardconfig.mk修改分區(qū)鏡像文件格式化的大小。

        把system分區(qū)鏡像文件格式化的大小400M

        userdata分區(qū)鏡像文件格式化的大小3G

        BOARD_USERDATAIMAGE_PARTITION_SIZE := 3145728000

        Userdata增大后,系統(tǒng)會顯示用戶分區(qū)總空間為2.88GB

        3.4 減少分區(qū)空間浪費的措施

        1)計算每個鏡像的分區(qū)大小,留有足夠預留空間合理分配每個分區(qū)大小。

        2)在進行分區(qū)布局的時候,盡量讓讀寫屬性一致的放在一起,這樣就可以減少由于對齊造成的空間浪費。

        3)通過設置WRITE_PROTECT_BOUNDARY_IN_KB來改變寫保護區(qū)域的基準大小。

        4)GROW_LAST_PARTITION_TO_FILL_DISK:最好設置為真,這樣最后一個分區(qū)就會擴展到最大這樣保證不浪費EMMC存儲

        空間。

        3.5 注意事項

        1)EMMC軟件下載所依賴的分區(qū)信息和系統(tǒng)啟動時加載的GPT分區(qū)信息必須一致。

        2)在改變分區(qū)大小時,要防止自己的分區(qū)大小總和不能超過EMMC的總大小,否則越界的分區(qū)時將會出錯,系統(tǒng)穩(wěn)定性將得不到保證。

        參考文獻

        [1]百度百科.mbr[EB/OL].[2014-9-1].http://baike.baidu.com/subview/9485/9079238.htm#viewPageContent.

        [2]百度百科.gpt[EB/OL].[2014-9-1].http://baike.baidu.com/subview/10817/15336681.htm.

        [3]kieven2008.Android分區(qū)[EB/OL].[2014-9-1].http://blog.csdn.net/kieven2008/article/details/19327907.

        作者簡介

        蔡潔,碩士,講師,研究方向:計算機技術(shù)。

        分區(qū)鏡像配置文件Boardconfig.mk的作用一般包括兩個方面:指定對應分區(qū)鏡像文件格式化的大小和分區(qū)鏡像文件的文件系統(tǒng)類型。例如,在Boardconfig.mk文件中關于分區(qū)格式和分區(qū)大小的部分配置信息:

        TARGET_USERIMAGES_USE_EXT4 := true

        BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := true

        ……

        BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00A00000

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 838860800

        ……

        當編譯的時候makefile就會從Boardconfig.mk獲取system分區(qū)的大小和文件系統(tǒng)類型并用調(diào)用make_ext4fs把out/target/product/msm8610/system的文件制作成大小為800M ext4格式的system.img分區(qū)壓縮文件。需要說明的是:編譯生成的system.img里面包含了對應分區(qū)的文件系統(tǒng)類型,以及掛載分區(qū)的大小,所以改變分區(qū)時一定要更新對應分區(qū)鏡像文件。

        3 高通平臺項目分區(qū)整改案例

        高通MSM8X10平臺原生Android方案,使用4G內(nèi)置EMMC,劃分了25個分區(qū),系統(tǒng)鏡像大約使用約2G空間,針對不同的產(chǎn)品,分區(qū)個數(shù)和大小各有差異,下面就以開發(fā)實例說明如何調(diào)整分區(qū)大小,以及如何新增分區(qū)。

        3.1 調(diào)整system分區(qū)大小

        各分區(qū)均可根據(jù)需要進行調(diào)整,原生系統(tǒng)的system分區(qū)規(guī)劃了800M空間,但實際鏡像只有300多M,為有效利用存儲器,可以將此分區(qū)縮小為400M:

        1)修改文件partition.xml中的字段,size_in_kb=”409600”。

        2)修改文件Boardconfig.mk中的字段,BOARD_SYSTEMIMAGE_PARTITION_SIZE = 419430400。

        3)重新編譯生成system.img鏡像。

        3.2 增加vendor分區(qū)

        原生平臺僅提供基本和有限的功能,不適合產(chǎn)品化的要求,為擴展原生平臺的功能,需要增加一個300M空間的vendor分區(qū),可用于支持存放不同廠商的Logo、預裝應用、定制程序和配置文件,如前所述partition.xml用于定義和描述分區(qū)信息,供燒錄軟件QPST使用,增加分區(qū)需要做如下修改:

        1)文件里面需要新增一個分區(qū)信息,并配置對應的分區(qū)大小、類型和要燒寫鏡像的名字等等信息,內(nèi)容如下。

        2)device/qcom/msmxx/Boardconfig.mk里面的分區(qū)宏,使這個分區(qū)恰好小于等于modem側(cè)的partition.xml分區(qū)大?。?/p>

        BOARD_SYSTEMIMAGE_PARTITION_SIZE := 419430400

        3.3 增大userdata分區(qū)

        Android系統(tǒng)中,內(nèi)部存儲器的最后一個分區(qū)一般命名為userdata分區(qū),是用戶可以使用的分區(qū),其他分區(qū)是系統(tǒng)使用的,用戶不能操作。前兩個實例說明了如何實際鏡像大小調(diào)整分區(qū)、如何根據(jù)需求增加分區(qū)。最后說明如何去除由于對齊而造成的空間浪費,并盡可能的為用戶增大userdata分區(qū)。

        1) 更改分區(qū)文件。

        修改partition.xml文件里面做如下修改。

        WRITE_PROTECT_BOUNDARY_IN_KB = 0;

        system分區(qū)的大小為400M;

        userdata的分區(qū)為3G;

        2) device/qcom/msmxx/Boardconfig.mk修改分區(qū)鏡像文件格式化的大小。

        把system分區(qū)鏡像文件格式化的大小400M

        userdata分區(qū)鏡像文件格式化的大小3G

        BOARD_USERDATAIMAGE_PARTITION_SIZE := 3145728000

        Userdata增大后,系統(tǒng)會顯示用戶分區(qū)總空間為2.88GB

        3.4 減少分區(qū)空間浪費的措施

        1)計算每個鏡像的分區(qū)大小,留有足夠預留空間合理分配每個分區(qū)大小。

        2)在進行分區(qū)布局的時候,盡量讓讀寫屬性一致的放在一起,這樣就可以減少由于對齊造成的空間浪費。

        3)通過設置WRITE_PROTECT_BOUNDARY_IN_KB來改變寫保護區(qū)域的基準大小。

        4)GROW_LAST_PARTITION_TO_FILL_DISK:最好設置為真,這樣最后一個分區(qū)就會擴展到最大這樣保證不浪費EMMC存儲

        空間。

        3.5 注意事項

        1)EMMC軟件下載所依賴的分區(qū)信息和系統(tǒng)啟動時加載的GPT分區(qū)信息必須一致。

        2)在改變分區(qū)大小時,要防止自己的分區(qū)大小總和不能超過EMMC的總大小,否則越界的分區(qū)時將會出錯,系統(tǒng)穩(wěn)定性將得不到保證。

        參考文獻

        [1]百度百科.mbr[EB/OL].[2014-9-1].http://baike.baidu.com/subview/9485/9079238.htm#viewPageContent.

        [2]百度百科.gpt[EB/OL].[2014-9-1].http://baike.baidu.com/subview/10817/15336681.htm.

        [3]kieven2008.Android分區(qū)[EB/OL].[2014-9-1].http://blog.csdn.net/kieven2008/article/details/19327907.

        作者簡介

        蔡潔,碩士,講師,研究方向:計算機技術(shù)。

        猜你喜歡
        高通分區(qū)
        上海實施“分區(qū)封控”
        浪莎 分區(qū)而治
        歷史轉(zhuǎn)折后的高通前執(zhí)行董事長
        世紀人物(2018年7期)2018-07-09 18:45:30
        外資力薦高通并購賽靈思對抗英特爾
        電子世界(2015年22期)2015-12-29 02:49:41
        高通24億美元收購芯片制造商CSR
        IT時代周刊(2015年9期)2015-11-11 05:51:53
        高通市場份額跌至47%
        IT時代周刊(2015年8期)2015-11-11 05:50:48
        基于SAGA聚類分析的無功電壓控制分區(qū)
        電測與儀表(2015年8期)2015-04-09 11:50:16
        基于多種群遺傳改進FCM的無功/電壓控制分區(qū)
        電測與儀表(2015年7期)2015-04-09 11:40:16
        亚洲日本无码一区二区在线观看| 亚洲一区二区三区成人网站| 一本色道久久88加勒比一| 亚洲国产精品亚洲一区二区三区| 国产精品亚洲精品日韩已方| 又大又粗欧美黑人aaaaa片| 亚洲av永久无码精品网站在线观看 | 中文字幕久久久久久精| av中文字幕少妇人妻| 日韩精品中文字幕综合| 国产大片在线观看91| 久久亚洲乱码中文字幕熟女| 国产一区二区三区在线观看完整版 | 97精品熟女少妇一区二区三区| 国产乱人偷精品人妻a片| 亚洲成a人片在线观看天堂无码| 午夜毛片午夜女人喷潮视频| 无码AV午夜福利一区| 日产分东风日产还有什么日产| 凌辱人妻中文字幕一区| 色哟哟精品视频在线观看| 精品人妻人人做人人爽夜夜爽| 欧美日韩在线免费看| 国产一区二区三区爆白浆 | 亚洲性av少妇中文字幕| 亚洲天堂av在线网站| 永久亚洲成a人片777777| 天天天天躁天天爱天天碰| 男女边吃奶边做边爱视频| 欧美乱人伦中文字幕在线不卡| 久久爱91精品国产一区| 美女丝袜诱惑在线播放蜜桃| 国产自拍视频在线观看网站| 黄瓜视频在线观看| 国产最新网站| 加勒比一本大道大香蕉| 中文av字幕一区二区三区| 中文人妻av久久人妻水蜜桃| 精品水蜜桃久久久久久久 | 囯产精品无码va一区二区| 中文字幕精品一区二区日本|