OSイメージファイルのカスタマイズ

OSイメージからダンプしたファイルは隠し属性がついているファイルがあるため、 フォルダオプション設定にて下記のように設定すること
 ・「すべてのファイルとフォルダを表示する」を選択
 ・「保護されたオペレーティングシステムファイルを表示しない」のチェックを外す

イメージファイルからファイルのダンプ

  • OSイメージからimgfs部分を抽出する
  • OSイメージファイルを「C:\ROMTools\ImgfsTools」にコピーする
    • 本手順でのファイル名「X01T-17754-JP.nb
> cd C:\ROMTools\ImgfsTools
>
> ImgfsFromNb X01T-17754-JP.nb imgfs.bin
ImgfsFromNb 2.1rc2

Sector size is 0x200 bytes
ImgFs partition starts at 0x00360000 and ends at 0x04d00000
Dumping IMGFS at offset 0x00360000 (size 0x049a0000)

Done! ※imgfs.binファイルが作成される

> ImgfsToDump.exe imgfs.bin

[snip]

  dwFileAttributes:         00000047
  fileTime:                 53754080 01C8228F
  dwReserved:               00000000
  dwDiskOffset:             0402F840
  cbOnDiskSize:             00000040
   wCompressedBlockSize:   0010
   wDecompressedBlockSize: 0010
   dwDiskOffset:           0402F880

 ※dumpフォルダが作成される

>

ファイルの追加・削除

  • 「dump」フォルダから不要なファイルを削除する
    • 拡張子が「dsm」のファイルについては削除しないこと!!
  • 追加したいファイルがあれば「dump」フォルダにコピーする
    • ここでコピーしたファイルは \Windows に配置される

レジストリ編集(default.hv, user.hv)

  • dumpフォルダ内の以下ファイルを「rgucomp」コマンドと同一フォルダにコピーする
    • 本手順では、ツールフォルダ(C:\ROMTools\ImgfsTools)にコピーしている
    • コピーファイル
      • default.hv ・・・ HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT
      • user.hv ・・・ HKEY_CURRENT_USER
  • default.hv, user.hv はバイナリ形式のため直接編集することが出来ない。
  • 以下コマンドにてテキスト形式に変換する
    • rgucomp_cn.exe は2バイト文字対応版
> cd C:\ROMTools\ImgfsTools
>
> set _FLATRELEASEDIR=.
> rgucomp_cn.exe -o default.hv -nologo > default.rgu
> rgucomp_cn.exe -o user.hv -nologo > user.rgu
>
  • テキスト形式に変換したファイルをUTF-16形式に対応したエディタ1)で編集する
    • 編集ファイル
      • default.rgu ・・・ HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT
      • user.rgu ・・・ HKEY_CURRENT_USER
    • 編集時の注意事項
      • 先頭行に「REGEDIT4」を追加する
      • 追加した「REGEDIT4」と最初のレジストリとの間に行間を入れない
      • ヘッダーの下のエントリーは英数モードで頭にスペース二つ分の空白を置く
      • 値に「\」が含まれている場合は、\マークを二つ記述する
      • 最後の行の下に空白一行を必ず置く
    • 以下サンプル記述
REGEDIT4
[HKEY_LOCAL_MACHINE\nls]
  "DefaultLCID"=dword:00000411
  "DefaultACP"=dword:000003a4
  "DefaultOCP"=dword:000003a4
  "SystemLCID"=dword:00000411
  "LegacyLocaleMode"=dword:00000001
 
 
[HKEY_LOCAL_MACHINE\Software\Microsoft\FontLink\SystemLink]
  "MS Pゴシック"="\\windows\\tahoma.ttf,Tahoma"
  "MS ゴシック"="\\windows\\tahoma.ttf,Tahoma"
  "MS PGothic"="\\windows\\tahoma.ttf,Tahoma"
  "MS Gothic"="\\windows\\tahoma.ttf,Tahoma"
  "MS UI Gothic"="\\windows\\tahoma.ttf,Tahoma"
  "Courier New"="\\windows\\msgothic.ac3,MS UI Gothic"
  "Tahoma"="\\windows\\msgothic.ac3,MS UI Gothic"
  • 編集完了後、ファイル名「boot.rgu」で保存する
    • UTF-16(BOM有り) で保存すること!!
  • 以下コマンドにてテキスト形式からバイナリ形式に変換する
> rgucomp_cn.exe -b
Microsoft (R) RGUComp Version 1.0.000
Registry file processor and hive builder.
Copyright (C) 2004 Microsoft Corporation All Rights Reserved.
built: Nov 19 2004 15:17:13
importing registry file ".\boot.rgu"...
(RGUComp) done!
  • 作成された boot.hv の名前変更して dump フォルダにコピーする
    • default.rgu を編集した場合 ・・・ default.hv にリネーム
    • user.rgu を編集した場合 ・・・ user.hv にリネーム
※注意事項
  • default.rgu」の以下レジストリ値については編集が必須となりますので注意して下さい。
    • 値に「\」が含まれているので「\\」としないとダメ
    • この値を変更していないと「rgucomp_cn.exe -b」実行時にエラーが発生する
●変更前
"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\CHEETAHGSP1"=dword:1
 
●変更後
"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\CHEETAHGSP1"=dword:1

initflashfiles.datの編集

  • 初回起動時に initflashfiles.dat に記述されたフォルダ・ファイル操作が行われる
  • 通常は修正する必要なしと思われる
    • 編集する前に読み取り専用属性を外すこと
    • 編集は UTF-16(BOM無し) で行うこと
    • 不要な部分を削除したり、追加したい処理を追記する
    • 日本語は特殊な記述が必要

OSイメージの作成

  • カスタマイズした「dump」フォルダを元にOSイメージファイルを作成する
  • 以下手順で作成したOSイメージファイルをX01Tに書き込むことになる
> cd C:\ROMTools\ImgfsTools
>
> ImgfsFromDump imgfs.bin imgfs-new.bin

[snip]

Processing "_single_8.png" as file
Processing "_single_8_2.png" as file
Processing "_start_8.png" as file
Processing "_suite_8.png" as file
Processing "_suite_8_2.png" as file
Processing "_url.png" as file
Total Sectors: 0x2013c

 ※作成された「imgfs-new.bin」が「imgfs.bin」より大きくならないようにすること!!

>
> ImgfsToNb imgfs-new.bin X01T-17754-JP.nb X01T-17754-JP-New.nb -conservative
ImgfsToNb 2.1rc2
Using conservative mode

Sector size is 0x200 bytes

Writing imgfs to offset byte 0x360000, sector 0x1b00
Padding ImgFs from 0x4027800 bytes (0x2013c sectors)
                to 0x4030000 bytes (0x20180 sectors)
Conservative mode. Not changing imgfsEnd


Partition entry before:
 File System:    0x25
 Start Sector:   0x00001b00
 Total Sectors:  0x00024d00
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x36
 Last Head:      0x7f
 Last Sector:    0x01
 Last Track:     0xcf
Partition entry after:
 File System:    0x25
 Start Sector:   0x00001b00
 Total Sectors:  0x00024d00
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x36
 Last Head:      0x7f
 Last Sector:    0x01
 Last Track:     0xcf
ImgFs Flash Region log blocks was 0x49a, now is 0x49a
No Storage Flash Region found!

Done!

 ※「X01T-17754-JP-New.nb」という名前で新しいOSイメージが作成される
  このファイルを「SuperRUU」でX01TのROMに書き込む
>
1) 秀丸等
rom/cook03.txt · 最終更新: 2008/07/29 16:13 by kikuzou
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0