試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

ReactOSの日本語フォントの追加と設定をソースビルドをすることなく行ってISOイメージを作り直す(準備)

配布されているReactOSのCDイメージをもとにして、日本語フォントを追加したりフォント置換の設定を適用したりした後、CDイメージを作り直す実験。試行錯誤の末、何とかこれを行うことに成功したが、作業は結構面倒。かなり長くなったので、細かく分割する。

  1. インストールCD内の配置場所とCabinetファイルについて
    1. フォント置換設定の含まれるファイル
    2. フォントはCabinetファイルの中に
    3. cabmanをビルドする(一度のみ)

インストールCD内の配置場所とCabinetファイルについて

フォント置換設定の含まれるファイル
フォント置換の情報はCDの中にあるreactos/hivesft.infの「 ; Font substitutes」と書かれている下に記述されている。このファイルを編集すればフォント置換の設定も更新される。

フォントはCabinetファイルの中に
フォントはreactos/reactos.cabの中に含まれる形になっていて、インストールの際には、ハードディスクのフォーマットの後にシステムのパーティションに(CD内のCabinetファイルから抽出されて)コピーされる。
このCabinetファイルが最も厄介で、普通に一般的なツールで圧縮した場合、まずエラーになる。
このファイルは、特別な予約領域にデータ(reactos.inf)を格納し、これを読み取る形になっている。このあたりを正常に処理できるのは、ReactOSのソースツリーに含まれるcabmanというツールのみ。
しかし、cabmanのバージョン0.9(ReactOS 0.3.3/0.3.4のソースツリーに含まれる)の時点では、展開はうまくいかない(途中でエラーが出る)?ため、一度展開する際には外部ツールのcabextractを使用する。

cabmanをビルドする(一度のみ)
ReactOSのソースツリーから、cabmanのみをビルドして使用することができる。OSビルド環境のRosBEは必要ない。GNU/Linux上で動作する実行ファイルとして生成される。
ソースツリーの最上位ディレクトリから「cabman」というターゲットをmakeして

$ make cabman
[MKDIR]    obj-i386/tools
[MKDIR]    obj-i386/tools/rbuild
[MKDIR]    obj-i386/tools/rbuild/backend
[MKDIR]    obj-i386/tools/rbuild/backend/mingw
(中略)
[MKDIR]    output-i386/lib/3rdparty/zlib
[AR]       output-i386/lib/3rdparty/zlib/zlib.host.a
ar: creating output-i386/lib/3rdparty/zlib/zlib.host.a
[MKDIR]    output-i386/tools/cabman
[LD]       output-i386/tools/cabman/cabman

このoutput-i386/tools/cabman/cabmanを好みに応じてstripしてから、${HOME}/bin//usr/local/bin/などに入れておく。

$ install -s output-i386/tools/cabman/cabman ~/bin/
もしくは
$ sudo install -s output-i386/tools/cabman/cabman /usr/local/bin/

使用したバージョン:

  • ReactOS 0.3.3, 0.3.4 / cabman 0.9