Configurer un client léger Windows XP Embedded

 

*par Sean D. Liming et John R. Malin
*SJJ Embedded Micro Solutions
Avril 2005
S’applique à Microsoft® Windows® XP Embedded

Résumé

Ce livre blanc présente les étapes de base à suivre pour personnaliser une image Windows XP Embedded pour des terminaux de type client léger. Il décrit l'utilisation du hardware grace à la couche d'abstraction matérille (Hardware Adaptation Layer, HAL). Il explique comment exécuter Target Analyzer pour créer un fichier Devices.pmq qui liste l’ensemble des pilotes de périphériques nécessaires à l’exécution du système sur le matériel ciblé. Par ailleurs, il explique comment utiliser l’outil Component Designer pour créer un fichier de définition de composants (.sld) qui répertorie les composants matériels pour l’image. Il montre comment intégrer les composants manquants au fichier .sld, et comment adapter la configuration en ajoutant des composants supplémentaires. Enfin, il présente plusieurs composants types pour clients légers, ainsi que leur utilisation courante.

Table des matieres

Introduction

1.1 Le matériel interne

1.2 Exécution de l’outil Target Analyzer

1.3 Composant macro de plateforme et pilotes manquants

1.4 Configuration des logiciels

Informations complémentaires

Introduction

Les clients légers constituent aujourd’hui la plateforme informatique la plus couramment utilisé par les services informatiques des entreprises. Ils offrent les avantages suivants :

  • Ils permettent d'exécuter, sur des serveurs distants, un système d'exploitation avec des applications principales, telles que des logiciels de traitement de texte et des feuilles de calcul, et d’autres logiciels internes personnalisés. Cela permet aux entreprises d’économiser des millions d’euros en charges de service informatique.
  • L’architecture du client léger ne requiert que peu d’espace sur les systèmes clients : elle sert de fenêtre ouverte sur les serveurs distants qui hébergent les applications principales. Les ordinateurs clients accèdent à ces applications qui s’exécutent sur le serveur distant. Ainsi, il n’est plus nécessaire d’installer et de mettre à jour chaque ordinateur individuellement lorsqu’une application change.

Il n’existe pas deux services informatiques identiques. Chaque service a sa propre approche de la sécurité et des accès au réseau à partir des ordinateurs clients. Dans ce cadre, les clients légers doivent être aussi simples à configurer que possible.

Nous avons reçu plusieurs demandes de la part des groupes de discussion Windows XP Embedded sur la modification du matériel ou des logiciels des clients légers. Même si la nature des demandes varie, beaucoup d’entre elles concernent une modification importante de l’image sous-jacente du système d'exploitation.

À ce jour, vous pouvez réaliser des changements mineurs dans l’image actuelle, notamment en ce qui concerne les adresses TCP/IP et les noms de domaine. Cependant, une modification importante de l’image nécessite une opération de rétro-ingénierie. Cet article présente les premières étapes à suivre pour personnaliser les plateformes clients légers Windows XP Embedded.

1.1 Le matériel interne

Une image Windows XP Embedded est constituée d’une couche d’abstraction matérielle HAL (Hardware Abstraction Layer) et d’une couche logicielle. La couche d’abstraction matérielle HAL permet aux applications d’interagir avec un dispositif par le biais de ses pilotes. Ainsi, l’application communique avec le système à plus haut niveau. De son côté, la couche logicielle comporte les logiciels utilisés dans l’image, tels que TCP/IP, Bloc-notes et Windows Explorer. La base de données Windows XP Embedded rassemble les composants du système d'exploitation dans ces deux catégories.

Chaque image inclut des pilotes de périphériques qui interagissent avec le matériel. Il est important de comprendre le fonctionnement du matériel avant de modifier une image de système d'exploitation Windows XP Embedded.

Processeurs

Le processeur utilisé par le client léger a un impact sur la performance et la taille de l’appareil. De nombreux clients légers utilisent soit un processeur VIA soit un processeur Transmeta. Ces deux types de processeurs sont parfaitement adaptés aux plateformes matérielles des clients légers : ils consomment moins d’énergie, offrent de bonnes performances et ne nécessitent pas de ventilateur.

Disques flash

De nombreux clients légers utilisent des technologies de mémoire Flash statiques, telles que les cartes Compact Flash et mini-IDE, pour le démarrage et le stockage. Ces cartes renforcent la fiabilité des clients légers par rapport à leurs homologues de type PC.

Cependant, la longévité des cartes Flash est problématique. Windows XP Pro et Windows XP Embedded lisent et écrivent en permanence sur un disque, ce qui donne lieu à de nombreux cycles d’effacement. Or, les cartes Compact Flash et mini-IDE supportent un nombre limité de cycles d’écriture. Ainsi, elles s’usent plus rapidement dans ce contexte que dans un environnement commercial classique. Nous devons donc utiliser des technologies particulières pour prolonger leur durée de vie.

Les fournisseurs OEM de clients légers mettent en œuvre l’outil EWF (Enhanced Write Filter) pour empêcher les écritures (et donc les cycles d’effacement) sur la carte Flash. Les écritures sont détournées sur le disque RAM.

Pour apporter des changements au système d'exploitation (comme la modification d’une connectivité de domaine ou d’une adresse statique TCP/IP), il faut désactiver l’outil EWF pour permettre à la mise à jour d’être prise en compte, puis de le réactiver.

L’outil EWF peut être difficile à configurer, surtout si vous utilisez des cartes Compact Flash. Ainsi, lorsque vous recréez une image Windows XP Embedded pour votre client léger, veillez à bien comprendre la méthode de configuration de l’outil.

Autre inconvénient de ces types de cartes Flash : leur démarrage est relativement lent. Le débit de démarrage en mode port E/S des cartes Compact Flash et mini-IDE est de 3 à 5 Mo/s : le système peut prendre jusqu’à 90 secondes pour démarrer. En comparaison, un disque dur SATA utilise le mode DMA qui augmente la vitesse d’accès à 155 Mo/s.

Vous pouvez aussi mettre votre système à niveau avec le disque uDiskOnChip (uDOC) de M-System. Pour cela, votre système cible doit disposer d’un connecteur USB 2.0 interne et d’une prise en charge BIOS pour le démarrage des équipements USB 2.0. Le disque uDOC est sécurisé, fiable et performant, et propose des solutions économiques pour les systèmes embarqués. Plus besoin de vous soucier de la longévité du disque Flash puisque le disque uDOC inclut la technologie TrueFFS® de M-System. Par ailleurs, le démarrage est aussi rapide qu’avec un disque dur puisque le disque uDOC fonctionne sur un port USB 2.0. Ainsi, le disque uDOC vous permettra d’améliorer la performance globale de votre système.

Enfin, vous devez vous familiariser avec d’autres équipements de la plateforme tels que les contrôleurs Ethernet, audio et vidéo. En effet, il faudra peut-être créer les composants de ces périphériques si leurs pilotes ne sont pas inclus dans la base de données XPE.

1.2 Exécution de l’outil Target Analyzer

Avant de créer une image XP Embedded personnalisée, vous devez développer une configuration personnalisée dans l’outil Target Designer. Pour connaître les composants de base de la configuration matérielle cible, exécutez Target Analyzer (Tap.exe) sur le système du client léger. Vous obtenez un fichier PMQ qui répertorie les équipements du système.

Exécution de l’outil Target Analyzer avec Windows XP Embedded

Si Windows XP Embedded est déjà installé sur le client léger, l’exécution de Tap.exe devrait être relativement simple. À ce stade, il est important de savoir quel matériel est présent sur le système car l’outil Target Analyzer doit être installé sur le client léger afin d’exécuter Tap.exe. Plusieurs options sont possibles :

  • Reliez un lecteur ou une clé USB (Universal Serial Bus) au client léger et exécutez Tap.exe à partir du périphérique connecté.

  • Copiez Tap.exe directement sur le support de stockage interne.

    Pour éviter que l’outil EWF ne perturbe la copie de Tap.exe :

    1. Retirez le lecteur Compact Flash ou mini-IDE du client léger.
    2. À l’aide d’un adaptateur, reliez le lecteur à votre système de développement
    3. Copiez Tap.exe sur le lecteur.
    4. Réinstallez le lecteur sur le client léger.
    5. Démarrez le client léger.
    6. Exécutez Tap.exe.

    Il faudra également soit copier le fichier PMQ généré par Tap.exe sur le système de développement, soit le sauvegarder sur le support (en prenant compte des problèmes exposés ci-dessus liés à l’outil EWF).

  • Utilisez un partage réseau pour télécharger Tap.exe sur le client léger, exécutez-le puis stockez le fichier PMQ sur le partage réseau.

Exécution de l’outil Target Analyzer avec un système d'exploitation différent

Vous devez suivre plusieurs étapes supplémentaires si vous mettez votre client léger à niveau sur Windows XP Embedded à partir d’un système d'exploitation différent. Pour ce faire, vous pouvez choisir parmi les options suivantes :

  • Utilisez la version MS-DOS de l’outil Target Analyzer (Ta.exe). Cependant, il ne génère pas tous les composants nécessaires au développement d’une image d’exécution amorçable. Il faudra donc peut-être ajouter certains des composants suivants pour permettre à l’image de s’exécuter :
    • PCI standard host CPU bridge
    • PCI standard ISA bridge
    • Plug and Play Software Device Enumerator
    • Primary IDE Channel
    • Secondary IDE Channel
    • Disk Drive
    • Standard Dual Channel PCI IDE Controller
    • Standard IDE/ESDI Hard Disk Controller
  • Vous pourriez avoir besoin de composants supplémentaires. La meilleure solution consiste à installer Windows XP Pro sur le système cible puis d’exécuter Tap.exe à partir de ce système. Le fichier PMQ obtenu fournira la liste complète des composants. Si vous ne parvenez pas à installer Windows XP Pro par manque d’espace de stockage local, créez une image basée sur le macro composant MinLogon Sample Macro pour héberger Tap.exe :
    1. Ouvrez Target Designer.
    2. Créez une nouvelle configuration que vous nommez TAPrun.
    3. Ajoutez le composant macro MinLogon Sample Macro à la configuration.
    4. Exécutez un contrôle de dépendance en ayant activé la fonction de résolution automatique.
    5. Créez l’image d’exécution.
    6. Une fois que l’image d’exécution a été créée, copiez Tap.exe à sa racine.

L’image d’exécution Windows XP Embedded finale utilise le composant PC standard de la couche d’abstraction matérielle. Ainsi, elle devrait s’exécuter sur toutes les plateformes de PC qui peuvent fonctionner sous Windows XP. La taille de l’image d’exécution est de 25 Mo environ. Téléchargez l’image vers le système cible avec Tap.exe à sa racine, et exécutez le processus First Boot Agent (FBA). Une fois que le processus est terminé, exécutez Tap.exe pour créer le ficher PMQ.

Ce fichier ne fournira pas la liste complète des composants mais uniquement ceux qui sont indispensables au démarrage du système d'exploitation. Suivez les étapes décrites au chapitre 1.3 pour importer et créer un exemple de conception.

Le seul inconvénient de ce processus est que le fichier .pmq inclura le composant PC standard au lieu d’un autre composant d’ordinateur possible tel que l’interface de configuration et d’énergie avancée ACPI. (Aujourd’hui, de nombreux systèmes prennent en charge la spécification ACPI pour la gestion d’énergie et d’autres fonctions BIOS.) Pour obtenir une liste précise des composants d’ordinateur, exécutez Ta.exe à partir de DOS sur le système cible et importez le fichier PMQ obtenu. Comparez la liste des composants issue de cette analyse avec celle de l’analyse Tap.exe sous MinLogon. L’analyse Ta.exe révélera le composant d’ordinateur le mieux adapté au système. Si votre équipement est doté d’une prise en charge ACPI, vous aurez peut-être à remplacer le composant PC standard par les composants PC monoprocesseur ACPI. Enfin, il faudra ajouter tout autre composant manquant qui a été identifié lors de l’analyse Ta.exe.

1.3 Macro composant de plateforme et pilotes manquants

La génération du fichier PMQ avec Tap.exe sur le système cible constitue la tâche la plus difficile de ce processus. L'étape suivante consiste à créer un exemple de design qui comporte les composants matériels et les éléments de base.

1. Ouvrez Component Designer.

2. À partir du menu, sélectionnez File -> Import (Fichier->Importer). La boîte de dialogue Choose File for Import (Sélectionner un fichier à importer) apparaît.

3. Dans la liste de fichiers, choisissez Devices.pmq puis Open (Ouvrir).

4. La boîte de dialogue Import File (Importer un fichier) apparaît. Entrez un nom pour le fichier de log, tel que \deviceMacro.log, et cliquez sur Start (Démarrer). Une fois l’importation terminée, la boîte de dialogue affiche le nombre de composants dans le fichier .pmq ainsi que le nombre de pilotes qui ont été trouvés pour chacun d’eux. Un nouveau fichier .sld est créé avec un composant nommé devicesTAP.

5. Dans le volet d’informations du composant devicesTAP, remplacez le nom du composant par XPES_target.

6. A côté de la boîte Prototype du volet d’informations, sélectionnez Browse (Parcourir).

7. La boîte de dialogue Select Prototype Component (Sélectionner un composant de prototype) apparaît. Parcourez l’arborescence de composants jusqu’à Software->Test & Development -> Selector Prototype Component (Logiciel -> Test et développement -> Sélection d’un composant prototype). Mettez le composant en surbrillance et cliquez sur OK.

8. Faites un clic droit sur le nœud Group Memberships (Appartenance aux groupes) et sélectionnez Add Group Membership (Ajouter une appartenance au groupe).

9. La boîte de dialogue Add Component Group Memberships (Ajouter une appartenance de composant au groupe) apparaît. L’emplacement logique pour la plateforme est sous Platforms (Plateformes). Développez le nœud Hardware (Matériel), sélectionnez Plateformes et cliquez sur OK.

10. Enregistrez le fichier .sld sur le disque dur.

11. Ouvrez Component Database Manager et importez le fichier .sld récemment créé dans la base de données.

Il faudra créer des composants personnalisés pour les composants manquants comme les équipements réseau, audio ou vidéo. Le fichier deviceMacro.log fournit une liste des composants matériels manquants ainsi que leur identité PCI. Certains fournisseurs proposent les pilotes de périphériques sur CD mais la plupart du temps vous aurez à télécharger ces pilotes à partir du site Web du fabricant. Les processeurs VIA et Transmeta constituent une solution mettant en œuvre deux circuits intégrés. Il devrait donc être relativement simple d’en trouver les pilotes.

Dans la plupart des cas, vous pouvez importer le fichier .inf du pilote dans l’outil Component Designer pour créer le fichier .sld et le composant. Cependant, certains composants peuvent nécessiter un travail plus approfondi avec les outils Component Helper, DependencyWalker et FilMon/RegMon.

Une fois les composants créés et importés dans la base de données, éditez l’exemple de conception et ajoutez les nouveaux composants matériels en tant que dépendances.

1.4 Configuration des logiciels

Maintenant que la couche matérielle est prête, il faut personnaliser les logiciels de l’image à partir de Target Designer. Vous pouvez modeler l’image selon vos spécifications puisque vous créez une configuration entièrement nouvelle. Voici quelques-uns des éléments qui peuvent être modifiés :

  • Shell personnalisé - Au lieu d’un shell de base tel qu’Explorer, créez un shell personnalisé doté d’une ergonomie qui lui est propre, ou créez plusieurs shells pour des catégories d’utilisateurs dédiées comme administrateur et utilisateur.
  • Paramètres de sécurité - Ajoutez des paramètres de sécurité pour interdire l’accès des utilisateurs à des applications, répertoires ou pilotes spécifiques.
  • Logiciels tiers - Plusieurs fournisseurs ont développé des logiciels pour les solutions clients légers. Nombre d’entre eux proposent des composants Windows XP Embedded qui peuvent être importés dans la base de données Windows XP Embedded.
  • Prise en charge de l’administration - Le client léger devrait être doté de quelques composants de base pour prendre en charge l’administration des réseaux, l’affichage, etc.
Composant Utilisation par le client léger
Domain Participation Rassemble les composants qui permettent à un système embarqué de participer à la sécurité de domaine Windows.
Netshell Définit les paramètres TCP/IP pour les adaptateurs réseau.

L’utilitaire à la ligne de commande Netshell est nécessaire pour accéder aux paramètres réseau du Panneau de configuration.

TCP/IP Utilities Comporte plusieurs utilitaires TCP/IP dont ipconfig.exe.
System Control Panel Fournit l’interface pour modifier le nom de domaine et d’ordinateur.
Display Control Panel Modifie la résolution vidéo.
Date/Time Control Panel Définit le fuseau horaire, la date et l’heure.
Audio Control Panel Prend en charge les systemes équipés pour l’audio.

Enhanced Write Filter (EWF) est à la fois la fonctionnalité la plus importante et la plus complexe à activer. À moins que vous n’utilisiez le disque uDOC, vous devez mettre en œuvre l’outil EWF pour augmenter la durée de vie de la carte Flash.

Les cartes mini-IDE ne devraient pas poser problème puisqu’il s’agit de disques Flash IDE. De nombreux fournisseurs mettent en place l’outil EWF avec une seconde partition en guise de volume EWF. Vous êtes libre de choisir le type de mise en œuvre et de recouvrement EWF que vous voulez puisque vous recréez intégralement l’image. Étant donné qu’il s’agit d’un support Flash, et que les fournisseurs OEM de clients léger utilisent l’outil EWF pour détourner les activités d’écriture sur le disque RAM (ce qui limite le nombre de cycles d’effacement sur le disque Flash), nous vous conseillons d’opter pour un recouvrement RAM ou RAM-REG.

Il en va tout autrement pour les cartes Compact Flash (CF). La plupart des cartes CF vendues au détail sont identifiées comme étant amovibles plutôt que fixes. Ainsi, l’installation de l’outil EWF sur ces cartes CF peut être assez complexe. Sachant que Windows XP et Windows XP Embedded affichent une seule partition sur un périphérique amovible, sélectionnez la partition de recouvrement RAM-REG. Des cartes CF identifiées comme des périphériques fixes peuvent être obtenues auprès des fabricants sur commande spéciale. Vous pouvez également choisir la partition de recouvrement RAM pour la seconde partition. Le fabricant du client léger aura peut-être déjà configuré la carte Flash en tant que carte fixe. Dans ce cas, vous n’avez plus qu’à remplacer l’image sur le disque.

Une fois que vous avez activé l’outil EWF, il faut le contrôler. Cela vous permet d’effectuer les mises à jour et les modifications de l’image avec une image existante. L’API EWF peut être utilisée pour ajouter des contrôles personnalisés aux shells ou aux applications administrateur EWF. Seuls les comptes Administrateur ont accès à EWFMGR.EXE et à l’API EWF. Les comptes Utilisateur avec pouvoir, Utilisateur et Invité ne peuvent pas modifier l’état de l’outil EWF.

Pour dupliquer l’image, ajoutez le composant de clonage System Cloning Tool à la configuration et une bibliothèque spéciale pour gérer EWF.

Une fois la configuration terminée et l’image créée, l’image devra exécuter le processus FBA sur le système cible. Enfin, copiez l’image sur le support cible en ôtant physiquement l’équipement du système cible ou à l’aide d’une solution logicielle telle que Remote Recover.

Informations complémentaires

Ce document fournit les conseils de base pour configurer un client léger avec une image personnalisée. Le cœur du travail s’effectue dans les détails de ces opérations. Il existe de nombreuses solutions pour Windows XP Embedded. Différents livres, articles et sites Web fournissent des informations sur ce sujet :

https://msdn2.microsoft.com/embedded

Windows XP Embedded Advanced, Sean D. Liming, RTC Books, 2003, ISBN :0-929392-77-9

Windows XP Embedded Supplemental Toolkit, Sean D. Liming, Cedar Hill Publishing, février 2005, ISBN : 1-932373-96-9.

www.seanliming.com – XPe Center @ seanliming.com – Inclut une variété d’articles et de liens vers les ressources liées a Windows XP Embedded.

Nous avons fait de notre mieux pour correctement référencer les éléments protégés par des droits de propriété intellectuelle, des marques déposées et des marques de fabrique. Tous les supports protégés par les droits de propriété intellectuelle, toutes les marques déposées et les marques de fabrique appartiennent à leurs propriétaires respectifs.

L’éditeur, l’auteur et les relecteurs n’apportent aucune garantie quant à l’exactitude ou à l’utilisation de ces informations. Ils ne sauraient être tenus pour responsables de tout dommage, direct ou indirect, lié aux informations du présent document, pour toute interprétation ou explication technique, pour toute erreur typographique ou d’impression, ou pour toute modification ultérieure apportée à cet article.

L’éditeur et l’auteur se réservent le droit de modifier ce document sans avertissement préalable et sans encourir de responsabilité quelle qu’elle soit.