初めての ROM 弄り

  • はじめに
    • ROM クッキングとは全く持って無縁の存在でしたが、この度、K1 さんが丁寧な調理方法を披露して下さったことにより、素人の私でも何とか ROM を弄ることが出来ました。勿論、Xda- にて材料を提供して下さった方のお陰でもあります。この場をお借りして勝手にお礼を言わせて頂きます。本当にありがとうございました。
  • 準備するもの
    1. Touch-IT X1-P.UC( 20757 )・・・ 素になる itje 氏謹製カスタム ROM
    2. Xperia_Kitchen.rar
    3. TOOLSET.rar
    4. BASIC_RK.rar
    5. htcrt.exe( Xperia_Kitchen < Tools )
    6. Stirling.exe( Xperia_Kitchen < Tools )
    7. PagePoolChanger.exe
  • 下拵え〜その1〜
    • ダウンロードした素 ROM を解凍して、中にある「 ruu_signed.nbh 」を抜き出しXperiaKitchen <「 BaseROM 」に入れる。
    • XperiaKitchen の中の「 XperiaKitchen.CMD 」を実行。cmd.exe で先ず「 e 」で Enter。次に「 a 」で Enter。BaseROM に「 OS.NB 」が出来上がる。
  • 下拵え〜その2〜
    • Cドライブ直下に、「 work 」という名前で作業フォルダを作成し、先程の OS.NB を入れる。
    • 3.を解凍し TOOLSET < imgfs tools <「 Dump_800.bat 」に OS.nb をドラッグ&ドロップ。
    • Dump が始まり、work フォルダ内に「 IMGFS 」と「 OS.NB.payload 」ができる。
    • TOOLSET < dump xip <「 dumpxip.bat 」に OS.NB.payload をドラッグ&ドロップ。
    • Dump が始まり、「 work 」に「 XIP 」と「 romhdr.bin 」ができる。
      • k1 氏の場合と違って、ここで出来た XIP には .dsm 他10個のファイルが足りない。
    • TOOLSET <「 packagebuilder.exe 」に IMGFS をドラッグ&ドロップしてパッケージ化を行なう。
    • IMGFS の中に「 OEM 」と「 SYS 」ができる。
      • IMGFS の中に 2047 個あったファイルが、OEM、SYS、info.txt の3つになる。
    • XperiaKitchen < Temp < dump_xip にある、5個の.dsm と3個の.rgu 、1個の .hv、1個の .p7b 計10個のファイルを「 XIP 」にコピペ( 上書き保存 )。
      • XperiaKitchen の「 dump_xip 」を XIP にリネームして、work の XIP と入替えたが、それでこの作業をした XIP では OS-new.nb の生成が途中で止まってしまう。(cmd.exeが2画面構成になる手前でエラーとなってしまう)
    • XIP を開いて、.dsm ファイルを1個ずつ TOOLSET <「 packagebuilder.exe 」にドラッグ&ドロップ。35個あったファイルが、結果5個になる。
      • wince.nls の置き換えはせず。
    • 4.を解凍し BASIC_RK < ROM の中に、上記で処理をした「 OS.NB.payload 」「 romhdr.bin 」「 XIP 」を入れる。
    • BASIC_RK に「 OEM 」と「 SYS 」を入れる。
    • これで準備OK!

★★★ 追記 ★★★
k1 さんから“ フォルダオプションにて「 保護されたオペレーティングシステムファイルを表示しない 」のチェックを外していますよね ? ” とコメントを頂きまして、「 外しておりませんでした。」と言いますか知りませんでした。それを外すと、上記で見当たらなかった10個のファイルや、下記の「 X1-P.UC調理覚書と設定 」で自分の場合で無かったファイルが現れるようになりました。
そして改めて k1 さんの設定に沿って ROM を弄り直しました。結果としては Strage と Programs の Memory はほぼ同じ。ただ、鈍感な私でも体感的にサクサク度がかなりアップしたように思いました。
そう言えば、XperiaKitchen に dump_xip や他のファイルも出来ておりませんでした。これが正しい方法なんですね。ご指導、ありがとうございました!

  • 調理
    • ここまでもそうですが、ここからの詳細は特に K1 氏の「 X1-P.UC調理覚書と設定 」を参照。
    • OEM 」内での削除( K1 氏の内容と違うところ )
      • config_AP.txt 無いのアプリ関連全て削除&テキスト内修正。
      • ExtendedPkg では、Sony Ericsson.mp3 と Xperia.mp3 以外の音データを削除。
      • PACKAGE_Kovsky_AdobePDF( _0409 )を削除。
      • 削除したファイルに対しての .xml や .txt の記述の削除を忘れない事。(「 OperatorPkg 」内の Touch-it.provxml を削除した後、config_operator.txt の記述の削除も。)
      • OEM_Lang_0409 の中に、mxipupdate_RemoteDesktopMobile.provxml は無かった。
    • 「 SYS 」内での削除( K1 氏の内容と違うところ )
      • 「 Base_DPI_192 の Sync系画像 」、「 Base_Lang_0409 の soltr.htm 、winlive.htm 、mxipupdate_base_mypictures.provxml 」は見当たらず。
      • Disable the security warning when installing non-certified application は残留。
      • PhoneRedist_Lang_0409 の音データはそのまま。
      • ここでは MeiryoKe を入れず。
    • 「 仕上げ 」
      • BASIC_RK <「 build_rom.bat 」を実行して OS-new.nb が生成。
      • htcrt.exe を立ち上げて、「 ROM builder 」タブの Device で Xperia を選択。
      • Firmware contents の OS で「 ・・・ 」を押して生成した OS-new.nb を選択。
      • 「 Build ! 」を押して適当な名前に .nbh をつけて保存。BASIC_RK に .nbh ファイルが出来上がり、完成!
  • ちょっと一工夫
    • DynamicPagePool 化
      • バイナリティエディタ「 Stirling.exe 」に、完成した .nbh ファイルをドラッグ&ドロップをして開く。
      • メニューの「 検索・移動 」から「 指定アドレスへ移動 」を選択し、“ 0037C690 ”と入れる。( 今回の NBH の場合は。との事 )
      • 「 03 15 A0 03 06 16 A0 13 00 10 83 E5 」の“ 83 ”を“ 93 ”に変更して、上書き保存。( 元ファイルは、付けた名前.nbh.bak となるようです )
    • PagePool Changer.exe を開いて「 Select... 」から先程の .nbh ファイルを選択する。
    • 「 Whole Part 」を“ 0 ”に変更し、「 Change to 」を実行して完成!( 再度、完成した .nbh を Select して“ 0 ”になっていれば一応成功 )
  • ROM 焼き
    • 弄って出来上がった ROM を、「 KOVSIMG.nbh 」とリネームして、microSD に入れる。
    • ブートローダーモードにして、Power を押すと ROM 焼きが始まる。
    • K1 氏によれば、SIM を挿入した状態で実施をすると、セットアップ中に CommManager でフライトモードにされてしまうようです。