Sponsored links

Motorola スマートフォン Stock Rom の作成方法

Lenovo公式ツール「Rescue and Smart Assistant (LMSA)」を使用したMotorola社製スマートフォンの Stock ROM [Stock Firmware] を作る手順を記載します。

同ツールを使用すれば、手元にある全ての「Motorola」製スマートフォンの Stock ROM ファイルを、簡単にダウンロードすることができます。

Stock Rom ファイルは、「LineageOS」などのカスタムROMを導入したデバイスをメーカー純正のROMに戻す際に必要なファイル群です。今後、お手元にある「motorola デバイス」にカスタムROMを導入される方は、以下手順を参考にストックROMを準備しておきましょう。

※所有してない「Motorola」製スマートフォンのStock ROM は作成できません
※「Rescue and Smart Assistant (LMSA)」は、自動で最新のROM を入手するため、過去に提供されたRomファイルを入手することはできません。

Stock Rom ファイルの用途

Stock Rom ファイルの主な用途としては、LineageOSなどのカスタムROMを導入した端末(デバイス)をものと状態(メーカー出荷時の状態)、つまりメーカー純正のROMに戻すときに使用されます。

それ以外の用途としては、Stock Rom 内のファイル群を解析するために使用することもあります。
興味のある方は、以下のドキュメントを参照ください。

今後カスタムROMを導入する予定のない方は「Stock ROM」ファイルを使用することがないので、下記作業は不要となります。

Sponsored links

Rescue and Smart Assistant (LMSA)

Rescue and Smart Assistant (LMSA)は、Stock Rom ファイルをダウンロードするだけでなく、ダウンロードした Stock ROM をフラッシュする(焼く)機能やスマートフォンに保存されたデータの管理などにも使用されます。
Lenovo公式サイトで、「LMSA」の説明を以下のように記載しています。

Rescue and Smart Assistant (LMSA)は、PCにインストールして利用する公式ツールです。スマートデバイス (すべてのLenovo Android スマートフォン、 MOTO phone、Lenovo タブレットを含む )のデータ管理やスマートデバイスソフトウェアのフラッシュなど多くの Lenovo サポート機能に役立ちます。

Rescue and Smart Assistant (LMSA) 概要
Lenovo メンテナンス・ステーションに適用されるソフトウェアのツールです。Romの更新やデバイスの救済、またオンラインヘルプのための機能です。

因みに、LMSAとは、LENOVO MOTO SMART ASSISTANTの略語です。

Rescue and Smart Assistant (LMSA)でサポートされるデバイス

LMSAでサポートされるLenovo Android スマートフォン、 MOTO phone、Lenovo タブレットは以下となります。

  • Lenovo Phone/Lenovo Tablet
    • Aシリーズ(日本未発売)
    • Kシリーズ(日本未発売)
    • Legion Series
    • Pシリーズ(日本未発売)
    • Sシリーズ(日本未発売)
    • VIBEシリーズ(日本未発売)
    • Z Series
    • ZUKシリーズ(日本未発売)
  • Motorola Phone
    • すべての motorola スマートフォン

必要なもの

  • Windows PC[ Windows 10 (64ビット)もしくは、Windows 7 (64ビット)]
  • Lenovoサポートサイトより「rescue_and_smart_assistant_v5.5.0.9_signed_setup.exe 」をダウンロード※v5.5.0.9 が2021/04/04現在の最新バージョンです。一番新しいバージョンをダウンロードしてください
  • USBケーブル(PCとスマートフォンとをつなぐために必要)
  • Motorola スマートフォン
  • Lenovo ID を登録しておく

手順

必要なものが準備できたら、以下作成手順で Stock Rom を作成します。

Sponsored links

Rescue and Smart Assistant (LMSA)をインストール

先ほど、Lenovoサポートページからダウンロードしてきた「rescue_and_smart_assistant_v5.5.0.9_signed_setup.exe」を実行して、Rescue and Smart Assistant (LMSA)をPCにインストールします。

  1. escue_and_smart_assistant_v5.5.0.9_signed_setup.exe をダブルクリックして実行します。
  2. 言語をプルダウンメニューから選択します。
  3. セットアップウィザードが起動します。次へを押下します。
  4. ライセンス契約書に同意するにチェックを入れて、次へを押下します。
  5. インストール先フォルダの設定。お好みで適宜変更しましょう。インストールを押下しますとPCにインストールされます。
  6. 問題なくインストールが完了したら、次へを押下します。
  7. プログラムを起動するにチェックを入れて、完了ボタンを押下してインストール作業は終了です。

LMSAでStock Rom をダウンロードする

PCに「Rescue and Smart Assistant (LMSA)」がインストール出来たら早速「Motorola デバイス」と「PC」とをUSBケーブルで接続してStock Rom ファイルを「Rescue and Smart Assistant (LMSA)」でダウンロードします。

  1. まず最初に「Motorola デバイス」と「PC」とをUSBケーブルで接続します。
  2. 「I agree with Lenovo Privacy Policy」にチェックをして、「接続する」を押下する
  3. スキップしてマイデバイスに移動をクリック。
  4. 「サインインまたはサインアップ」をクリックして、先ほど登録した Lenovo ID でサインインします。登録してなければこちらで登録しましょう。
  5. 電子メールアドレスを入力して、サインインに必要な情報を記載してサインインします。
  6. 「新しいデバイスが見つかりました」
    USB経由で接続する前に、USBデバッグを有効にします。と記載ありますので、「Android 7以降」「Android 8.0および9.0」「Android 10 and 11」のいずれかを押下して、PCと接続したデバイスの開発者向けオプションを有効にして「USBデバッグ」をオンにする方法を確認しましょう。英語表記なので分かりにくいかもしれません。Android 10 and 11 のUSBデバッグをオンにする方法は次の手順に記載しておきます。
  7. Sponsored links

    スマートフォン側の設定操作

    スマートフォン側の設定である「開発者向けオプション」を有効にして、また「USBデバッグ」を有効にする操作を実施します。以下は、Android 10 / Android 11 のUSBデバッグをオンにする作業です。

    1. 設定 > 電話情報 > ビルド番号「7回連続してタップします。」 > 「開発者向けオプションが有効になりました」と表示されます。
    2. 設定 > システム > 詳細設定 > 開発者向けオプション をタップします。
    3. USBデバッグ をオンにします。USBデバッグを許可しますか?と表示されるので「OK」を押下します。
      「このパソコンからのUSBデバッグを常に許可する」にチェックをして、許可を押下します。
    4. 必要な権限と表記されたポップアップが表示されるので「許可」をタップすると、「RSAに接続されている」とスマートフォンの通知欄に表示されたら、PCとの接続は完了です。
      PCと
  8. USBデバッグ接続が完了したら、LMSAで Stock Rom ファイルをダウンロードします。ホームタブの「救助」ボタンを押下します。
  9. ターゲットファームウェアの右側にある「ダウンロード」ボタンを押下します。
  10. Stock ROMファイルのダウンロードが始まります。
  11. Stock ROMファイルのダウンロードが完了したら、「見る」ボタンを押下します。
  12. ProgramData/LMSA/Download フォルダが開きます。「RomFiles」というフォルダがあるのでそこをクリックします。
  13. Rom ファイルが保存されたフォルダが出来上がっていますので、そのフォルダをクリックします。
  14. 「boot.img」「system.img_sparsechunk.0~5」「vendor.img_sparsechunk.0~1」等のROMファイルが保存されています。フォルダごと、別フォルダに保存するなりzipファイルにまとめて保存するなりしておきましょう。フォルダ内に保存されているファイル群は以下となります。
    ※今回作成した「Moto g7 Plus」のROM File には「 recovery.img 」が無いようです。boot.img に含まれているようです。 「boot.img」を unpack してみたところ、「ramdisk/」にrecovery 関連のファイルが格納されておりました。
    • boot.img
    • bootloader.img
    • BTFM.bin
    • dspso.bin
    • dtbo.img
    • flashfile.xml
    • fsg.mbn
    • gpt.bin
    • LAKE_RETEU_QPWS30.61-21-18-7_subsidy-DEFAULT_regulatory-DEFAULT_CFC.info.txt
    • logo.bin
    • NON-HLOS.bin
    • oem.img
    • oem_other.img
    • regulatory_info_default.png
    • servicefile.xml
    • slcf_rev_d_default_v1.0.nvm
    • system.img_sparsechunk.0
    • system.img_sparsechunk.1
    • system.img_sparsechunk.2
    • system.img_sparsechunk.3
    • system.img_sparsechunk.4
    • system.img_sparsechunk.5
    • system_other.img
    • vendor.img_sparsechunk.0
    • vendor.img_sparsechunk.1

flashfile.xml

ダウンロードされたファイルの「flashfile.xml」に、何のファイルをどのパーティッションにフラッシュするのかが記述されていますので、その記述内容をもとに各ROM files を各パーティッションにフラッシュします。
今回ダウウンロードした、「Moto g7 plus」のビルド番号:QPWS30.61-21-18-7の場合は、以下内容が「flashfile.xml」に記述されています。
例)filename=”NON-HLOS.bin” operation=”flash” partition=”modem”
NON-HLOS.bin は 「modem」パーティッションにフラッシュします。つまり、ROM Filse の「NON-HLOS.bin」をFlash する際にコマンドプロンプトで実行するコマンドは、「fastboot flash modem NON-HLOS.bin 」となる。

<?xml version="1.0" ?>
<flashing>
  <header>
    <phone_model model="lake_reteu"/>
    <software_version version="lake_reteu-user 10 QPWS30.61-21-18-7 fac4a release-keysM636_21.71.02.66R"/>
    <subsidy_lock_config MD5="d41d8cd98f00b204e9800998ecf8427e" name="slcf_rev_d_default_v1.0.nvm"/>
    <regulatory_config SHA1="da39a3ee5e6b4b0d3255bfef95601890afd80709" name="regulatory_info_default.png"/>
    <sparsing enabled="true" max-sparse-size="536870912"/>
    <interfaces>
      <interface name="AP"/>
    </interfaces>
  </header>
  <steps interface="AP">
    <step operation="getvar" var="max-sparse-size"/>
    <step operation="oem" var="fb_mode_set"/>
    <step MD5="735daa69c4b084b8c6d2fa79be341eec" filename="gpt.bin" operation="flash" partition="partition"/>
    <step MD5="517aba4104eee515e26d1affe179ea2c" filename="bootloader.img" operation="flash" partition="bootloader"/>
    <step MD5="25a3c2d81425c9912c5d3ffb300d5adc" filename="NON-HLOS.bin" operation="flash" partition="modem"/>
    <step MD5="f71ddd902f5e00104d4a2ff991023ca5" filename="fsg.mbn" operation="flash" partition="fsg"/>
    <step operation="erase" partition="modemst1"/>
    <step operation="erase" partition="modemst2"/>
    <step MD5="25bfe859744b00f92f12e29fb63d9c3c" filename="BTFM.bin" operation="flash" partition="bluetooth"/>
    <step MD5="6e958346ad45b90549554969c9c391a1" filename="dspso.bin" operation="flash" partition="dsp"/>
    <step MD5="2feb891385173e032a4386f608dcec65" filename="logo.bin" operation="flash" partition="logo"/>
    <step MD5="9f305e22e105c6bfaef533f08f299752" filename="boot.img" operation="flash" partition="boot"/>
    <step MD5="97009d156816b37cfe5ebb7d63e34b05" filename="dtbo.img" operation="flash" partition="dtbo"/>
    <step MD5="1b1415471d717b4d9c8c6037275623f0" filename="system.img_sparsechunk.0" operation="flash" partition="system"/>
    <step MD5="5b3785a725f7495389cda7f33c64cf55" filename="system.img_sparsechunk.1" operation="flash" partition="system"/>
    <step MD5="75f676a23af2e42388d4f9f7bf720b63" filename="system.img_sparsechunk.2" operation="flash" partition="system"/>
    <step MD5="63f14e45e0a52c10a415095cdbd04963" filename="system.img_sparsechunk.3" operation="flash" partition="system"/>
    <step MD5="d4bda0df7bdfb30ac15b700a770c645a" filename="system.img_sparsechunk.4" operation="flash" partition="system"/>
    <step MD5="b3a54937c84fb5f3e7f71fc019c11c78" filename="system.img_sparsechunk.5" operation="flash" partition="system"/>
    <step MD5="6a9667d46826671fe73fc49e75bf3ae4" filename="system_other.img" operation="flash" partition="system_b"/>
    <step MD5="edfb836d360a33181dde48f483863faf" filename="vendor.img_sparsechunk.0" operation="flash" partition="vendor"/>
    <step MD5="fa4234b15d0c9593dfd7e4c98a3d3f73" filename="vendor.img_sparsechunk.1" operation="flash" partition="vendor"/>
    <step MD5="0968b2eed7ac93092625665f6c1da89e" filename="oem.img" operation="flash" partition="oem"/>
    <step MD5="eaf87cc711ce5073b089443104611c14" filename="oem_other.img" operation="flash" partition="oem_b"/>
    <step operation="erase" partition="carrier"/>
    <step operation="erase" partition="userdata"/>
    <step operation="erase" partition="ddr"/>
    <step operation="oem" var="fb_mode_clear"/>
  </steps>
</flashing>


以上、お疲れ様でした。

(Visited 554 times, 2 visits today)
Pocket
LINEで送る
LinkedIn にシェア

Sponsored links

Leave a Comment