Windows Embedded

Windows XP Embedded シン クライアントの構成

Sean D. Liming、John R. Malin 著
SJJ Embedded Micro Solutions
2005 年 4 月
適用: Microsoft Windows XP Embedded


概要
このホワイトペーパーでは Windows XP Embedded のランタイム イメージをシン クライアント向けにカスタマイズするための主な手順の概要を説明しています。その説明には、ランタイム イメージの HAL(Hardware Abstraction Layer)で使用される開発システムのハードウェアの概要も含まれます。また、Target Analyzer を使用してターゲット ハードウェアの操作に必要なすべてのデバイス ドライバを含む devices.pmq ファイルを作成する方法や Component Designer を使用して、ランタイム イメージのハードウェア コンポーネントの一覧であるコンポーネントの定義(.sld)ファイルを作成する方法についても説明しています。不足のコンポーネントを .sld ファイルに追加する方法とコンポーネントを追加して構成をカスタマイズする方法のほか、シン クライアントの一般的なコンポーネントとシン クライアントでの一般的な使用方法の一覧も提供しています。


目次

はじめに

1.1 ハードウェアについて

1.2 Target Analyzer の実行

1.3 プラットフォーム マクロ コンポーネントと不足のドライバ

1.4 ソフトウェアの構成

詳細情報について


はじめに
シン クライアントは IT 担当者に人気のあるコンピューティング プラットフォームになりました。シン クライアントには次のような利点があります。

  • リモート サーバー上で稼働するオペレーティング システムで文書処理やスプレッドシートなどの主要なアプリケーションのほかに、社内のカスタム ソフトウェアなどを利用できます。それにより、企業はコンピュータによるサービス料金を大幅に削減できます。

  • シン クライアントのアーキテクチャでは、クライアント システムはリモート サーバーがホストするアプリケーションを使用するためのウィンドウとして機能するため、大容量である必要がありません。クライアント コンピュータはリモート サーバにあるアプリケーションを使用するため、アプリケーションに変更があっても個々のクライアント コンピュータへのインストールや更新は必要ありません。

企業によって IT 部門の業務は異なります。セキュリティやクライアント コンピュータからのネットワーク アクセスのカスタマイズにも、それぞれ独自のアプローチを採用しています。そのため、シン クライアントは可能な限り構成を容易にすることが重要になります。

Windows XP Embedded のニュースグループには、シン クライアントのハードウェアの修正やソフトウェアの変更に関する要望も寄せられています。それぞれの変更内容は大きく異なるものの、多くの場合、基本となるオペレーティング システムのイメージ全体を修正する作業が含まれています。

既存のイメージでも、TCP/IP アドレスやドメイン名の変更などのマイナーチェンジは可能です。しかし、イメージ全体を大幅に変更する場合、リバース エンジニアリングが必要になります。この記事は、Windows XP Embedded シン クライアント プラットフォームのカスタマイズにおける基本的な手順について説明しています。

TOP

1.1 ハードウェアについて
Windows XP Embedded のイメージは HAL(Hardware Abstraction Layer)とソフトウェア層で構成されています。HAL ではハードウェア デバイスのドライバを使用して、アプリケーションとハードウェア デバイスの相互作用が可能になります。他の方法に比べてアプリケーションはより広い範囲でデバイスと連携することができます。ソフトウェア層には TCO/IP、メモ帳、Windows Explorer などのイメージで使用するソフトウェアが含まれます。Windows XP Embedded のデータベースではオペレーティング システム(OS)のコンポーネントをこれら 2 つのカテゴリにグループ分けしています。

各イメージにはハードウェアに使用するデバイス ドライバが含まれます。ハードウェアに対する知識は Windows XP Embedded の OS のイメージを変更するときに役立ちます。

プロセッサ
シン クライアントのアーキテクチャで使用するプロセッサは、パフォーマンスとスペースに影響します。多くのシン クライアントの端末では VIA または Transmeta 製のプロセッサが使用されています。いずれも低消費電力で高いパフォーマンスが得られ、冷却ファンが不要なため、シン クライアントのハードウェア プラットフォームには理想的です。

フラッシュ ドライブ
多くのシン クライアントではプラッタ回転型ストレージではなく半導体を搭載した CompactFlash や Mini-IDE フラッシュ ドライブなどをブートやストレージのメディアとして使用しています。これらのドライブは大型の PC に比べて、シン クライアント システムをより堅固にします。

ただし、フラッシュ ドライブには寿命の問題があります。Windows XP Pro と Windows XP Embedded ではディスクの読み込みと書き込みが常時行われ、フラッシュ メモリの消去サイクルは膨大な回数になります。CompactFlash や Mini-IDE フラッシュ ドライブはそのサイクル数が限られているため、通常の業務環境で使用すると、より早く消耗します。その寿命を延ばすには、先進の消耗均等化技術が必要です。

シン クライアントの OEM では Windows XP Embedded の Enhanced Write Filter(EWF)ツールを実装することによって、フラッシュ ドライブへの書き込み(結果的にフラッシュ メモリ消去のサイクル)を防止しています。すべての書き込みは RAM ディスクにリダイレクトされます(オーバーレイとも呼ばれます)。

ドメインの接続や TCP/IP の静的アドレスの変更など、OS に変更を加える場合、EWF を無効にして変更可能な状態にしてから再度有効にします。

EWF を適切に設定するには、CompactFlash を使用している場合、特に注意が必要です。シン クライアントに対して Windows XP Embedded のイメージを再作成する場合、EWF の設定に習熟している必要があります。

これらのフラッシュ メモリのもうひとつの欠点は、ブートに比較的時間がかかることです。CompactFlash と Mini-IDE フラッシュ デバイスは PIO 転送では 1秒間に 3MB から 5 MB の割合でブートされるため、システムがブートするのに 90 秒ほどかかります。それに対して、SATA ハード ドライブ でDMA を使用した場合、1 秒間のアクセス スピードは 155 MB になります。

もうひとつの選択肢として、USB 2.0 対応の内部ヘッダと USB 2.0 デバイスのブートに BIOS をサポートしている場合は、エム システムズ社の uDiskOnChip(uDOC) にアップグレードできます。uDOC は組み込みシステムにとって、セキュリティと信頼性、パフォーマンスと費用効果に優れたソリューションです。また、uDOC には エム システムズ社の TrueFFS 消耗均等化技術が適用されているため、フラッシュ メモリの寿命を心配する必要もありません。uDOC は USB 2.0 で接続するため、ブート時間はハード ドライブと変わりません。uDOC を使用することで、システム全体のパフォーマンスも向上します。

最終的には、イーサネット、オーディオやビデオのコントローラなど、プラットフォームのその他のデバイスに対する知識も必要になります。これは、XPE データベースにドライバがない場合、これらのデバイスのコンポーネントを作成する必要があるためです。

TOP

1.2 Target Analyzer の実行
XP Embedded のカスタム イメージを作成するには、Target Designer でカスタム構成を作成する必要があります。ターゲットとなるハードウェア構成の基本的なコンポーネントを確認するには、シン クライアント システムで Target Analyzer(Tap.exe)を実行します。それにより、システム上のハードウェア デバイスの一覧が PMQ ファイルで作成されます。

Windows XP Embedded を使用した Target Analyzer の実行
シン クライアントでWindows XP Embedded を稼働している場合、Tap.exe の実行は比較的容易ですが、このときにシステム上のハードウェアに対する知識が重要になります。それは、Tap.exe を実行するには、シン クライアントに Target Analyzer をインストールする必要があるためです。Tap.exe の実行には、次のようなオプションがあります。

  • シン クライアントに USB でフロッピー ドライブを接続するか、USB フラッシュ キーを差し込んでから Tap.exe を実行します。

  • 内部のストレージ メディアに直接 Tap.exe をコピーします。
    EWF で Tap.exe のコピーが防止されるため、次の操作を行います。

    • CompactFlash または Mini-IDE ドライブをシン クライアントからはずします。

    • アダプタを使用して、ドライブを開発システムに接続します。

    • Tap.exe をドライブにコピーします。

    • ドライブをシン クライアントに再インストールします。

    • シン クライアントを再起動します。

    • Tap.exe を実行します。

    また、Tap.exe の実行によって作成される PMQ ファイルは開発システムにコピーするか、メディアに保存する必要があります(これは上記の EWF の問題があるためです)。

  • ネットワーク経由で Tap.exe をシン クライアントにダウンロードして実行し、共有しているネットワーク上に PMQ ファイルを保存します。

他のオペレーティング システムを使用した Target Analyzer の実行
シン クライアントを他のオペレーティング システムから Windows XP Embedded にアップグレードする場合には、追加の手順が必要になります。手順には次のような選択肢があります。

  • Target Analyzer の MS-DOS バージョン(Ta.exe)を使用します。この方法では、ブート可能なイメージを作成するのに必要なすべてのコンポーネントが作成されないため、次のコンポーネントから適宜追加して、イメージからのブートを可能にします。

    • PCI standard host CPU bridge (PCI 標準ホスト CPU ブリッジ)

    • PCI standard ISA bridge (PCI 標準 ISA ブリッジ)

    • Plug and Play Software Device Enumerator (プラグ アンド プレイ ソフトウェア デバイス エニュメレータ)

    • Primary IDE Channel (プライマリ IDE チャネル)

    • Secondary IDE Channel (セカンダリ IDE チャネル)

    • Disk Drive (ディスク ドライブ)

    • Standard Dual Channel PCI IDE Controller (標準デュアル チャネル PCI IDE コントローラ)

    • Standard IDE/ESDI Hard Disk Controller (標準 IDE/ESDI ハード ディスク コントローラ)

  • 追加のコンポーネントが必要な場合、理想的な方法としては、Windows XP Pro をターゲット システムにインストールしてから Tap.exe を実行します。この方法では、システム コンポーネントの完全な一覧が PMQ ファイルで作成されます。ただし、ローカルの容量が制限されていると、Windows XP Pro をインストールすることはできません。その場合、Tap.exe をホストするため、MinLogon Sample Macro コンポーネントをベースにイメージを作成します。

    • Target Designer を開きます。

    • 新規の構成を作成して、TAPrun という名前を付けます。

    • その構成に MinLogon Sample Macro コンポーネントを追加します。

    • Auto Resolve を有効にして Dependency Check を実行します。

    • ランタイム イメージを作成します。

    • ランタイム イメージを作成したら、そのルートに Tap.exe をコピーします。

Windows XP Embedded の最終的なランタイム イメージでは Standard PC HAL コンポーネントを使用するため、このイメージは Windows XP で実行できるすべての PC プラットフォームで実行する必要があります。ランタイム イメージのサイズは約 25MB です。Tap.exe をルートに持つこのイメージをターゲット デバイスにダウンロードして、FBA を実行します。FBA が完了したら、Tap.exe を実行して PMQ ファイルを作成します。

作成された PMQ ファイルにはすべてのコンポーネントの一覧は作成されませんが、オペレーティング システムをブートするために必要なコンポーネントが確認できます。セクション 1.3 の手順に従って、デザイン テンプレートのインポートと作成を実行します。

この方法の唯一の欠点は、.pmq ファイルが ACPI などの他の Computer のコンポーネントではなく、Standard PC のコンポーネントで構成されることです(現在の多くのシステムでは、電源制御とその他 BIOS フィーチャーにおいて、ACPI を用いています)。正確な Computer コンポーネントの一覧を入手するには、ターゲット デバイス上で DOS から Ta.exe を実行し、作成された PMQ ファイルをインポートしてから、DOS で Ta.exe を実行して作成された Computer コンポーネントの分析結果と MinLogon で Tap.exe を実行して作成された分析結果を比較します。Ta.exe の分析結果では、システムに最適な Computer コンポーネントが確認できます。ACPI をサポートしているハードウェアでは、Standard PC コンポーネントを Advanced Configuration and Power Interface (ACPI) PC または ACPI Uniprocessor PC コンポーネントに置き換える必要があります。また、Ta.exe の分析結果で不足が確認されたその他のコンポーネントも追加する必要があります。

TOP

1.3 プラットフォーム マクロ コンポーネントと不足のドライバ
ターゲット システムで Tap.exe を実行して PMQ ファイルを作成することは、この手順の中でも最も難しい作業です。次の手順ではハードウェア コンポーネントと基本的な構成を含むデザイン テンプレートを作成します。

  1. Component Designer を開きます。
  2. [Menu] の [File] から [Import] を選択します。 [Choose File for Import] ダイアログ ボックスが表示されます。
  3. ファイルのリストから [Devices.pmq] を選択して、 [Open] を選択します。
  4. [Import File] ダイアログ ボックスが表示されます。ログ ファイル名(\deviceMacro.log など)を入力してから、 [Start] を選択します。ダイアログ ボックスに .pmq ファイルに含まれるデバイス数とそのドライバ数の一覧が表示されます。devicesTAP という名前のコンポーネントとともに、新規の .sld ファイルが作成されます。
  5. devicesTAP コンポーネントの詳細ペインで、コンポーネントの名前を「XPES_target」に変更します。
  6. 詳細ペインの [Prototype] ボックスの隣で、 [Browse] を選択します。
  7. [Select Prototype Component] ダイアログ ボックスが表示されます。コンポーネントのツリーを [Software]、[Test & Development]、[Selector Prototype Component] の順番で移動します。コンポーネントをハイライトして、 [OK] を選択します。
  8. [Group Memberships] ノードを右クリックして、[Add Group Membership] を選択します。
  9. [Add Component Group Memberships] ダイアログ ボックスが表示されます。プラットフォームは論理上、[Platforms] の下に配置します。[Hardware] ノードを展開して、[Platforms] を選択してから [OK] を選択します。
  10. .sld ファイルをハード ドライブに保存します。
  11. Component Database Manager を開いて、新規に作成した .sld ファイルをデータベースにインポートします。

ネットワーク、オーディオやビデオ デバイスなど、不足しているコンポーネントに対して、カスタム コンポーネントを作成する必要があります。deviceMacro.log ファイルには、不足しているデバイス コンポーネントの名前とその PCI ID の一覧が作成されます。ハードウェア ベンダーによっては、CD でデバイス ドライバを提供している場合もありますが、一般的にはチップ メーカーの Web サイトからドライバをダウンロードします。VIA や Transmeta 製プロセッサは通常 2 チップ ソリューションなので、ドライバの検索は容易です。

多くの場合、ドライバの .inf ファイルを Component Designer にインポートすると、.sld ファイルとコンポーネントを作成できます。ただし、コンポーネントによっては Component Helper、DependencyWalker、FilMon/RegMon の各ツールを使用した作業が必要な場合もあります。

コンポーネントを作成して、データベースへのインポートを完了したら、デザイン テンプレートを編集して、新規に作成したハードウェア コンポーネントの従属関係を追加します。

TOP

1.4 ソフトウェアの構成
これでハードウェア層の準備が整ったので、次は Platform Builder でソフトウェアをカスタマイズします。構成はゼロの状態から作成するため、ユーザーの指定どおりのイメージを作成できます。可能な変更は次のとおりです。

  • カスタム シェル - Explorer などの既存のシェルの代わりに、独自の外観を持つカスタム シェルを作成したり、管理者やユーザーなど、ユーザーのタイプごとに複数のシェルを作成できます。

  • セキュリティの設定 - カスタムのセキュリティ設定を追加して、特定のアプリケーションやディレクトリ、ドライブへのユーザー アクセスを制限できます。

  • サードパーティ製ソフトウェア – さまざまな企業がシン クライアント ソリューションのソフトウェアを開発しています。その多くが Windows XP Embedded データベースにインポートできる Windows XP Embedded コンポーネントを提供しています。

  • 管理サポート – シン クライアントにはネットワーク、表示およびその他のコンポーネントをサポートする基本的な管理コンポーネントが必要です。

(表の左側の項目 (表のタイトル以外は英語) を上に、右側の項目 (説明部分) を下に記載しています)

コンポーネントシン クライアントでの使用
Domain Participation組み込みデバイスに Windows のドメイン セキュリティを適用するためのコンポーネントをバンドルしています。
Netshellネットワーク アダプタの TCP/IP を設定します。
ネットワーク コントロール パネルのネットワークの設定にアクセスするには、Netshell のコマンド ライン ユーティリティが必要です。
TCP/IP Utilitiesipconfig.exe をはじめとする多くの TCP/IP ユーティリティが含まれます。
System Control Panelドメインとコンピュータ名を変更するインターフェイスを提供します。
Display Control Panel動画の解像度を変更します。
Date/Time Control Panel地域のタイム ゾーン、日付および時間を設定します。
Audio Control Panelシステムの音声とオーディオをサポートします。

EWF (Enhanced Write Filter) は最も重要な機能ですが、有効にするのが最もむずかしい機能でもあります。uDOC チップを使用していない場合、EWF を実装してフラッシュ ドライブを保護する必要があります。

Mini-IDE フラッシュ ドライブの場合は固定の IDE フラッシュ ディスクなので問題はありません。多くのメーカーでは EWF に 2次パーティションを設定して EWF ボリュームとしています。イメージをゼロから再作成するため、EWF の実装やオーバーレイのタイプはユーザーが選択できます。フラッシュ メディアであることと、シン クライアントの OEM では EWF を使用して書き込みを RAM ディスクにリダイレクトする(フラッシュ ドライブでのフラッシュの消去サイクルを制限する)ことを考慮すると、RAM や RAM-REG のオーバーレイが最適です。

CompactFlash(CF)カードの場合はそれほど簡単ではありません。既成の CF カードの多くは固定デバイスではなく、リムーバブル デバイスとして認識されるため、CF カード での EWF の設定はむずかしくなります。Windows XP も Windows XP Embedded もリムーバブル メディアでは 1 つのパーティションのみが表示されるため、オーバーレイ タイプに RAM-REG を選択する必要があります。ただし、メーカーに特別注文すれば、固定デバイスとして認識される CF カードを入手できます。2 次パーティションのある RAM のオーバーレイの使用を選択することもできます。また、シン クライアントのメーカーによってはフラッシュ ドライブを固定デバイスとして構成しているので、その場合はドライブのイメージの置換のみが必要になります。

EWF を有効にすると、EWF の管理が必要になります。EWF を管理することによって、イメージの更新や変更は使用しているイメージで行えます。EWF API を使用して、シェルや EWF 管理者用アプリケーションにカスタム コントロールを追加できます。EWFMGR.EXE および EWF API にアクセスできるのは Administrator のアカウントだけです。Power User、User および Guest の各アカウントは EWF の状態を変更できません。

イメージを複製する場合は、構成に System Cloning Tool コンポーネントを追加し、EWF の専用のライブラリを追加します。

構成とイメージの作成が完了したら、イメージを使用してターゲット システムで FBA を実行します。イメージをターゲット メディアにコピーする場合、物理的にターゲット システムからデバイスを取りはずすか、Remote Recover などのソフトウェア ソリューションを使用するか、いずれかの操作が必要になります。

TOP

詳細情報について
この記事で紹介した概要では、初めてカスタム イメージでシン クライアントを構成するための基本的なヒントを提供しています。実際にはより細かい作業が発生します。Windows XP Embedded で使用できるソリューションは数多くあり、次のような書籍や記事、ウェブサイトで紹介されています。

http://msdn.microsoft.com/embedded/

『Windows XP Embedded Advanced』(Sean D. Liming 著、2003 年 RTC Books 発行、ISBN:0-929392-77-9)

『Windows XP Embedded Supplemental Toolkit』(Sean D. Liming 著、2005 年 2 月 Cedar Hill Publishing 発行、ISBN: 1-932373-96-9)

XPe Center @ seanliming.com(www.seanliming.comLeave-MS) – Windows XP Embedded に関するさまざまな記事やリソースへのリンクが掲載されています。

著作権取得、登録および商標登録されたすべての事項については正確な記述を心がけています。著作権取得、登録および商標登録されたすべての事項はそれぞれの所有者の所有物です。

出版社、著者および校閲者は、この情報の正確性または使用について保証するものではなく、また、この書類に含まれる情報、技術的解釈または技術的説明の誤字や印刷の誤りあるいは記事の変更に直接的または間接的に起因する損失に対して責任を負うものではありません。

出版社および著者は通知および法的責任を生じることなくこの刊行物を変更する権利を有しています。

TOP