内部からのモバイルデバイス。 タブレットのメモリレイアウトを変更する

タブレットのメモリレイアウトを変更する



内容
1.はじめに。

2.メモリレイアウトの変更を計画します。

3.タブレットのファームウェアを変更します。

3.1。GPTファイルに変更を加えます。

3.2。MUでGPTファイルをフラッシュします。

4.完了した作業の結果を確認します。

5.結論。

6.情報源。



1.はじめに。



どういうわけか、 Intelチップで作られ Lenovo YB1-X90Lタブレットに出会いました。



図1 タブレットYB1-X90



原則として、開発者の手に渡ったモバイルデバイス(MU)の標準的な修正と言えます。





計画のすべての項目が正常に完了しました。 計画外のポイントの1つは、マークアップセクションの調査で、これをIntelタイプのGPTセクションと呼びました。



それにもかかわらず、 GPTスキームを使用して作成されたMUのレイアウトを変更するトピックは、特にIntelタイプの GPTセクションである場合、多くのサイトで非常に人気があります。 理論的な計算にも関わらず、この質問はまだ解決されていないことが判明しました...そこで、少し「苦しめられる」自由なMUを手に入れて、理論的知識のフィールドテストを実施することにしました。 。 要するに、私はメモリレイアウトを変更することにしました...



作業を開始する前に、既存のマークアップに従って可能なすべてのものを削除しました:files partitionsdev / block / by-name /およびGPTパーティションのイメージ。



私たちは何を持っています:





必要なもの:私の実験では、別の512MBのメモリパーティションが必要でした。



したがって、それを配置するには、これらのメガバイトをタブレットのメモリのどこかに見つける必要があります...



2.メモリレイアウトの変更を計画します。



パーティションファイルを詳しく見てみましょう。



major minor #blocks name 179 0 30535680 mmcblk0 179 1 102400 mmcblk0p1 179 2 102400 mmcblk0p2 179 3 30720 mmcblk0p3 179 4 30720 mmcblk0p4 179 5 1024 mmcblk0p5 179 6 16384 mmcblk0p6 179 7 1024 mmcblk0p7 179 8 1024 mmcblk0p8 179 9 8192 mmcblk0p9 179 10 10240 mmcblk0p10 179 11 1048576 mmcblk0p11 179 12 262144 mmcblk0p12 179 13 3932160 mmcblk0p13 179 14 24986624 mmcblk0p14 179 48 4096 mmcblk0rpmb 179 32 4096 mmcblk0boot1 179 16 4096 mmcblk0boot0 179 64 1927168 mmcblk1 179 65 1927160 mmcblk1p1
      
      





サイズによる「カット」の「候補」は、たとえば、 android_countrymmcblk0p11 )、 android_datammcblk0p14 )、およびandroid_systemmmcblk0p13 )の3つのセクションになります。 原則として、それらはそれらに注がれたイメージよりもはるかに大きいパーティションサイズを持っているため、新しいパーティションにメモリを自由に割り当てることができます。 ただし、パーティションのサイズをそれぞれ変更すると、パーティションの場所の移動にはこれらのパーティションからのデータの復元に手間がかかることを忘れないでください バックアップとその後の復元...したがって、データセクションから空き領域を「噛む」方が簡単です。 最後にあります。 これにより、影響を受けるメモリパーティションのサイズの再計算を避けることができ、1つのパーティションのみを復元する必要があります。



したがって、 android_systemセクションとandroid_dataセクションの間に新しいセクションを追加するだけです。 このセクションをwin_toolsと呼び、サイズを512MBに設定します。 新しいセクションのすべてのパラメーターは、表にまとめられています。



 .1.   ==================================================== | № |  |  |   | | / |  |  | | |====================================================| | 1 | 0x00 | Size | 0x200 | | 2 | 0x04 | Label | win_tools | | 3 | 0x4C | GuidType |   | | 4 | 0x5C | GuidPartition |   | ====================================================
      
      





3.タブレットのファームウェアを変更します。



幸運です GPTパーティションが標準の場合、プライマリとバックアップの両方のパーティションを変更する必要があります。 そして、 Intel-タイプのGPT-セクションを1つ変更するだけです。 はじめに...



3.1。GPTファイルに変更を加えます。



まず、タブレットファームウェアのGPTセクションのイメージを保存するGPTファイルに直接変更を加えます。 これを行うには、ストックファームウェアからgpt.binファイルを取得し、 以下を実行します。



  1. 16進エディターにロードします。



    図2。 IntelタイプGPTパーティションファイル


  2. android_systemセクションのエントリを見つけて、新しいセクションのテンプレートとして完全にコピーします。



    図3 システムセクションエントリ


  3. 次のセクションのレコードの先頭、つまり android_data 、テンプレートを挿入します:



    図4 新しいセクションのレコードを追加する


  4. 新しいレコードには、新しいセクションの説明が含まれ、表1から説明パラメーターの値を取得し、 サイズ0x00000F00であり0x00000200になります )、 ラベルandroid_systemでありwin_toolsになります )新しいセクションに入力します。 図では、すべての変更が赤でマークされています。



    図5 新しいセクションエントリのフィールドに入力する


  5. GPTセクションのヘッダーに移動し、[ 数値]フィールド(パーティションに関するエントリの数)を変更します(オフセット0x08ヘッダー)。 フィールドには番号0x000E (14セクション)がありましたが、番号0x000F (15セクションがあります)を書き留めます。下の図では、赤で強調表示されています。



    図6 GPTセクションヘッダーの新しいエントリ数


  6. 更新されたIntelタイプのGPTパーティションファイルを保存します。



これで、マークアップセクションが変更されました。今度は、タブレットに配置する必要があります。



3.2。MUでGPTファイルをフラッシュします。



なぜなら android_dataセクションの先頭を移動し、そこに保存されているデータを見つけるために、セクションをバックアップすることにしました。 その後、メモリレイアウトを安全に変更できます...



パーティションイメージのフラッシュ、ブートローダーロックの削除/インストールなど。 アクションは、 Intel PhoneFlashToolsのフラッシャーを使用して実行されます。 そして、そのバージョンがMUをサポートしているものを使用する必要があります。 テストタブレットは、バージョン5.3.2.0で「解剖」する必要があります。 操作が成功するための追加条件は、実行プロセスを制御するjsonファイルの存在です。 フラッシャーのバージョンを把握するのは簡単ですが、json_fileは自分で作成する必要がありました。 まだマークアップを変更しようとしていないようです。



注意! メモリレイアウトの変更に関する作業を実行する前に、常にすべてのメモリパーティションをバックアップしてください。



実際には、再パーティション化は物理的に1つのセクション(パーティションセクション)にのみ影響します。 すべてのデータ、システム、IMEIは同じ場所に保存されます。 マークアップセクションに保存されているこれらの場所へのポインタは、CHANGEのみです。 これは、MU(オペレーティングシステム)を使用して情報の保存場所に到達できないという事実につながります。



4.完了した作業の結果を確認します。



作業を完了した後、新しいマークアップに関するすべての情報を削除しました。 パーティションファイルと新しいGPTパーティションのイメージです。



パーティションの内容を見てみましょう:



 major minor #blocks name 7 0 65536 loop0 179 0 30535680 mmcblk0 179 1 102400 mmcblk0p1 179 2 102400 mmcblk0p2 179 3 30720 mmcblk0p3 179 4 30720 mmcblk0p4 179 5 1024 mmcblk0p5 179 6 16384 mmcblk0p6 179 7 1024 mmcblk0p7 179 8 1024 mmcblk0p8 179 9 8192 mmcblk0p9 179 10 10240 mmcblk0p10 179 11 1048576 mmcblk0p11 179 12 262144 mmcblk0p12 179 13 3932160 mmcblk0p13 179 14 524288 mmcblk0p14 179 15 24462336 mmcblk0p15 179 48 4096 mmcblk0rpmb 179 32 4096 mmcblk0boot1 179 16 4096 mmcblk0boot0 179 64 1927168 mmcblk1 179 65 1927160 mmcblk1p1
      
      





これで、マークアップで何が起こったのか、何が起こったのかを比較できます。



  =========================================================================== |  |  | |=====================================|=====================================| |major minor #blocks name |major minor #blocks name | |=====================================|=====================================| | 179 13 3932160 mmcblk0p13 | 179 13 3932160 mmcblk0p13 | | 179 14 24986624 mmcblk0p14 | 179 14 524288 mmcblk0p14 | | 179 48 4096 mmcblk0rpmb | 179 15 24462336 mmcblk0p15 | | | 179 48 4096 mmcblk0rpmb | ===========================================================================
      
      





サイズ24986624の mmcblk0p14セクションが1行下に移動してサイズ24462336に縮小され、 mmcblk0p15セクションになり、代わりにサイズ524288の新しいmmcblk0p14セクションが表示されていることが わかります。



さて、再パーティション化の前後でGPTパーティションイメージの内容を比較しましょう。 ストックGPTセクションのヘッダーは次のとおりです。



図7a。 GPTセクションのストック画像ヘッダー




システムの間隔に関するエントリは次のとおりです-同じイメージのデータパーティション:



図7b。 GPTセクションのストックイメージのセクションに関する記録




そして、再パーティション化後のGPTセクションヘッダーは次のとおりです。



図8a。 新しいGPTセクションのタイトル




再パーティション化後のGPTパーティションの同じシステムデータパーティションスパンに関するエントリは次のとおりです。



図8b。 新しいGPTパーティションイメージのパーティションエントリ




ちなみに、パーティションは実際には存在していると言われていますが、パーティションのリストはTotal Commanderを使用して/ dev / block / by-nameフォルダーから削除されました:





図9 。 MUのセクションの画像のリスト



5.結論。



この出版物を注意深く読んだ人は、メモリのマークアップを純粋に変更することはまったく難しくないことを理解しており、これらの目的に特化したエディターがいることを考えると...



MU内にこのマークアップを入力すると、さらに多くの問題が発生しますが、これは別の出版物では既に重要です...



6.情報源。



1.内側からのモバイルデバイス。 GPTとは何ですか?

2.ストックファームウェアYB1-X90L。

3. GPTパーティションを構築します。

4.「GPTとは」



All Articles