亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: Android智能手機(jī)交換用戶分區(qū)和存儲(chǔ)分區(qū)的方法(適用于用戶分區(qū)較小的手機(jī)) [打印本頁(yè)]

作者: junglegq    時(shí)間: 2014-02-12 16:34
標(biāo)題: Android智能手機(jī)交換用戶分區(qū)和存儲(chǔ)分區(qū)的方法(適用于用戶分區(qū)較小的手機(jī))
Android智能手機(jī)交換用戶分區(qū)和存儲(chǔ)分區(qū)的方法(適用于用戶分區(qū)較小的手機(jī))

本文檔只談思路,不含實(shí)際可操作軟件
操作需謹(jǐn)慎,后果自負(fù)

***** 手機(jī)必須先root *****


測(cè)試手機(jī):聯(lián)想s899t
RAM:1G
ROM: 4G

實(shí)際使用過程中發(fā)現(xiàn),默認(rèn)的用戶分區(qū)(/data)只有435MB,嚴(yán)重阻礙了應(yīng)用軟件的安裝(因?yàn)橛行┸浖仨氀b在用戶分區(qū))
而,默認(rèn)的存儲(chǔ)分區(qū)(/sdcard, or /mnt/sdcard)有>2GB空間可用,大部分閑置。思路是交換兩者以獲得足夠的用戶分區(qū),而較小的存儲(chǔ)分區(qū)完全不用擔(dān)心(可以外插sd卡)。


**********************************************
****************** 實(shí)戰(zhàn) **********************
**********************************************

有3個(gè)地方需要修改:
boot.img
        /init.rc
recovery.img
        /init.rc
system 分區(qū)內(nèi)
        /etc/vold.fstab
       
boot.img & recovery.img 可以從官方ROM中解壓縮提取出來,可以把二者視為兩個(gè)獨(dú)立的小系統(tǒng),互不關(guān)聯(lián)。一個(gè)好處是,一個(gè)系統(tǒng)損壞了,可以通過另一個(gè)系統(tǒng)修復(fù)。
正常情況下,boot.img & recovery.img 被直接復(fù)制到手機(jī)的ROM中的2個(gè)“軟件分區(qū)”(software partition).
        (software partition 和 hardware partition 區(qū)別可參考
                https://www.google.co.jp/url?sa= ... HwQySphjE54IXoDIr2g
        簡(jiǎn)言之,hw partition 是由eMMC 廠商寫在硬件寄存器上的。一般不改。sw partition 是OS能識(shí)別的分區(qū)。在一個(gè)hw partition 中,可以劃分多個(gè)sw partition.)


修改時(shí)候,需要涉及4個(gè)分區(qū),我的手機(jī)上默認(rèn)情況是:
p5                /data
p7                /boot
p8                /recovery
p11                /sdcard
具體識(shí)別方法先略過,看操作先:       

       
下一步,解開boot.img,修改/init.rc文件,重新打包boot.img,然后覆蓋原分區(qū)
1. 解包:可用軟件bootimg_tools.zip from http://forum.xda-developers.com/showthread.php?t=2319018       
2. 修改/init.rc
        搜索行:mount ext4 /dev/block/mmcblk0p5 /data nosuid nodev nodelalloc,noauto_da_alloc                #存儲(chǔ)boot.img的分區(qū)是mmcblk0p5 (不同機(jī)器p#不同,識(shí)別方法見后文)
        修改mmcblk0p5 到 mmcblk0p11 (后者是我的原/sdcard的分區(qū),識(shí)別方法見后文)
3. 重新打包,工具在bootimg_tools.zip
4. 覆蓋原分區(qū)
        先上傳boot.img 到 /sdcard 目錄
        adb shell su - "dd if=/sdcard/boot.img of=/dev/block/mmcblk0p7" (同樣,不同的機(jī)器mmcblk0p# 有不同的#,見后文識(shí)別這些分區(qū))

完全相同的上述4個(gè)步驟應(yīng)用于recovery.img,同樣燒錄到包含recovery的分區(qū)中。

最后步驟,修改當(dāng)前系統(tǒng)的/system 分區(qū)中/etc/vold.fstab,可以找個(gè)app:“root explorer” 修改前,先設(shè)置/system 為"mount rw",改好后設(shè)回”mount ro".
        原文件中,行
                dev_mount sdcard /mnt/sdcard/external_sd 5 /devices/sdi4/mmc_host/mmc0/mmc0:0001/block/mmcblk0
        修改為
                dev_mount sdcard /mnt/sdcard/external_sd 11 /devices/sdi4/mmc_host/mmc0/mmc0:0001/block/mmcblk0
               
好了,重啟系統(tǒng)到recovery 模式,格式化/data分區(qū),完成后正常重啟。

在新系統(tǒng)中,進(jìn)入“設(shè)置”-》“存儲(chǔ)”,格式化你的存儲(chǔ)分區(qū)。一切就安靜了。


               
*******************************************************
************************ 備注 *************************
*******************************************************

識(shí)別分區(qū)方法:(很重要)
/data
        執(zhí)行
                adb shell
                $su -
                #mount |grep -w '/data'
                /dev/block/mmcblk0p5 /data ext4 rw,...
        找到p5是我的/data分區(qū)

/sdcard
        用上述方法執(zhí)行
                #mount |grep -w '/mnt/sdcard'
                /dev/block/vold/179:11 /mnt/sdcard vfat rw,...
        不用介意179, 11就表示p11分區(qū)
       
/boot,/recovery
        因?yàn)橹淮鎎oot.img 和 recovery.img,所以相對(duì)較小,一般不超過16MB。
        但是,默認(rèn)這兩個(gè)分區(qū)用戶看不到,所以需要直接搜系統(tǒng)文件(小復(fù)雜)。
                進(jìn)/sys/block,有兩個(gè)目錄
                        mmcblk0                手機(jī)存儲(chǔ)
                        mmcblk1                外置sd卡
                進(jìn)mmcblk0,有一堆目錄,類似于
mmcblk0boot0
mmcblk0boot1
mmcblk0p1
mmcblk0p10
mmcblk0p11
mmcblk0p2
mmcblk0p3
mmcblk0p4
mmcblk0p5
mmcblk0p6
mmcblk0p7
mmcblk0p8
mmcblk0p9
                mmcblk0boot0,mmcblk0boot1不知道干啥用,估計(jì)和手機(jī)信號(hào)模塊什么的有關(guān),ignore
                mmcblk0p#就是我們要找的分區(qū)。檢查每個(gè)分區(qū)的大小,一個(gè)笨辦法是
                        #cat mmcblk0p7/size
                        32768
                數(shù)值以512B為單位,所以32768 大概是16MB。(這是我的/boot分區(qū),原因見下文)
                掃描過每個(gè)分區(qū)size后發(fā)現(xiàn)有2個(gè)分區(qū)是16MB,其他的低于4MB和大于16MB的都可忽略,這是因?yàn)?boot,/recovery 分區(qū)不需要大空間存儲(chǔ)。
                直接將兩個(gè)分區(qū)內(nèi)容復(fù)制下來
                        adb shell su - "dd if=/dev/block/mmcblk0p7 of=/sdcard/p7.img"
                        adb shell su - "dd if=/dev/block/mmcblk0p8 of=/sdcard/p8.img"
                p7.img p8.img 就是boot.img 和 recovery.img,然后按照上面的方法解包,兩者區(qū)別是,recovery 分區(qū)中有/res 目錄。所以在我的手機(jī)上p8.img是recovery.img,相應(yīng)的,mmcblk0p8是我的recovery分區(qū)。mmcblk0p7是boot分區(qū)
        注意,網(wǎng)上有些說明可以通過查看/proc/mtd找到boot recovery分區(qū),我的手機(jī)看不到。
作者: junglegq    時(shí)間: 2014-02-12 16:35
自己頂一把。這兩天玩的成果。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2